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
| Method | POST |
| URL | https://ocote.io/api/connect/invoice (same endpoint, doc_type: "11") |
| Content-Type | application/json |
| Authentication | Header Authorization: Bearer odt_... |
Request
Structurally identical to Invoice (01), with one difference:
doc_typemust 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
| Aspect | Invoice 01 | Export 11 |
|---|---|---|
doc_type | "01" | "11" |
| VAT rate | 13% | 0% |
unit_price | VAT-included | Without VAT (doesn't apply) |
amount_vat in response | Breaks down 13% | 0.00 |
amount_taxable in response | Base without VAT | Matches amount_gross |
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:
| Field | In Export 11 |
|---|---|
amount_taxable | Total of the operation (without VAT). |
amount_vat | 0.00 — exports are at 0% rate. |
amount_gross | Equal to amount_taxable. |
amount_retention | 0.00 in most cases. |
amount_total | Equal to amount_gross. |
Example: service sale abroad
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
}'
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}` } }
);
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
- Invoice (01) — request base structure.
- CCF (03) — for local sales to VAT contributors.
- Excluded Subject (14) — to document purchases from non-contributors.
- MH catalogs — payment method and economic activity codes.