Skip to main content

Export Invoice (11)

The Export Invoice (type 11) documents sales of goods or services to customers outside the customs territory of El Salvador. These operations are taxed at 0% VAT (exempt with refund rights), so the total amount the customer pays matches the base without additional VAT.

When to use Export Invoice

  • Sale of goods that physically leave the country.
  • Services provided to customers domiciled abroad.
  • Operations covered under active free-trade agreements.

If your sale is local, use Invoice (01) or CCF (03) depending on the recipient.

Technical details

MethodPOST
URLhttps://ocote.io/api/connect/invoice (same endpoint, doc_type: "11")
Content-Typeapplication/json
AuthenticationHeader Authorization: Bearer odt_...

Request

Structurally identical to Invoice (01), with one difference:

  • doc_type must be "11".

The customer is optional (same as Invoice 01), but strongly recommended so the DTE contains the foreign buyer's data. Use customer.name and customer.address to identify the recipient.

Key differences vs Invoice 01

AspectInvoice 01Export 11
doc_type"01""11"
VAT rate13%0%
unit_priceVAT-includedWithout VAT (doesn't apply)
amount_vat in responseBreaks down 13%0.00
amount_taxable in responseBase without VATMatches amount_gross
Additional MH requirements for exports

The API Connect accepts doc_type: "11" with the same structure as Invoice 01, but MH regulations for exports may require additional DTE information (destination country, INCOTERM, tariff items, transport mode). These fields are not directly exposed in the current API Connect; company-level defaults apply. For exports with complex requirements, contact Ocote before operating in production to validate your company's configuration.

Response

Structurally identical to Invoice 01. Amount fields with differences:

FieldIn Export 11
amount_taxableTotal of the operation (without VAT).
amount_vat0.00 — exports are at 0% rate.
amount_grossEqual to amount_taxable.
amount_retention0.00 in most cases.
amount_totalEqual to amount_gross.

Example: service sale abroad

curl
curl -X POST https://ocote.io/api/connect/invoice \
-H "Authorization: Bearer odt_xxx" \
-H "Content-Type: application/json" \
-d '{
"doc_type": "11",
"external_ref": "EXPORT-2026-0001",
"customer": {
"name": "ACME CORPORATION",
"address": "742 Evergreen Terrace, Springfield, USA",
"email": "ap@acme.com"
},
"lines": [
{
"description": "Software development services - March 2026",
"quantity": 1,
"unit_price": 10000.00
}
],
"payment_method": "05",
"transaction_condition": 2,
"deadline": 30
}'
Node.js (axios)
const { data } = await axios.post(
'https://ocote.io/api/connect/invoice',
{
doc_type: '11',
external_ref: 'EXPORT-2026-0001',
customer: {
name: 'ACME CORPORATION',
address: '742 Evergreen Terrace, Springfield, USA',
email: 'ap@acme.com',
},
lines: [
{ description: 'Software development services - March 2026',
quantity: 1, unit_price: 10000.00 },
],
payment_method: '05',
transaction_condition: 2,
deadline: 30,
},
{ headers: { Authorization: `Bearer ${process.env.OCOTE_API_KEY}` } }
);
Python (requests)
r = requests.post(
"https://ocote.io/api/connect/invoice",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"doc_type": "11",
"external_ref": "EXPORT-2026-0001",
"customer": {
"name": "ACME CORPORATION",
"address": "742 Evergreen Terrace, Springfield, USA",
"email": "ap@acme.com",
},
"lines": [
{
"description": "Software development services - March 2026",
"quantity": 1,
"unit_price": 10000.00,
},
],
"payment_method": "05",
"transaction_condition": 2,
"deadline": 30,
},
)

Successful response

{
"success": true,
"dte_success": true,
"contingency": false,
"rejected": false,
"posted": true,
"is_duplicate": false,

"document_id": "a1b2c3d4-...",
"external_ref": "EXPORT-2026-0001",
"control_number": "DTE-11-M001P001-000000000000015",
"generation_code": "A1B2C3D4-...",
"reception_stamp": "20260421154532...",

"amount_taxable": 10000.00,
"amount_vat": 0.00,
"amount_gross": 10000.00,
"amount_retention": 0.00,
"amount_total": 10000.00,

"ticket_url": "",
"invoice_url": "https://ocote.io/api/connect/file/a1b2c3d4-.../...?type=invoice",
"json_url": "https://ocote.io/api/connect/file/a1b2c3d4-.../...?type=json"
}

Notice that amount_vat: 0.00 — exports generate no VAT. The gross total matches the taxable base.

Type 11 documents do not generate a thermal ticket (same as CCF); ticket_url is always empty. Use invoice_url for the letter-sized PDF or json_url for the signed DTE. See Downloading files.

Validation errors

Same general /invoice errors — see Invoice (01) > Errors. Type 11 imposes no additional validations at the API level.

If MH rejects the document because of missing export-specific fields (destination country, INCOTERM), the response returns rejected: true with observaciones describing the missing field. In that case, contact Ocote to adjust your company configuration.

See also