Download OpenAPI specification:Download
Etribux API for electronic invoicing (e-CF) in the Dominican Republic.
Guides (Spanish): https://docs.etribux.com. The {environment} path segment is testecf
(pre-certification), certecf (certification) or ecf (production); a credential from another
environment gets 403 ENVIRONMENT_MISMATCH. Every mutation accepts Idempotency-Key. DGII terms
are never translated (encf, rnc, itbis, rfce, track_id).
Validates, signs, stores and queues the document for transmission to the DGII. The e-NCF is
assigned by the client's system from its DGII-authorized ranges and travels in encf: the
platform does not hand out sequences. It checks the format, that it matches ecf_type, that
sequence_expiration_date is not before issue_date (SEQUENCE_EXHAUSTED) and that no other
active document of the same taxpayer and environment uses it (409 CONFLICT). The DGII status
is resolved asynchronously.
With validate=true the platform runs the full validation (rules, official schema and
duplicate e-NCF) without signing, storing or transmitting.
| validate | boolean Default: false Validate without signing, storing or transmitting |
| Idempotency-Key | string <= 128 characters |
| ecf_type required | integer Enum: 31 32 33 34 41 43 44 45 46 47 |
| encf required | string^E[0-9]{12}$ e-NCF assigned by the client's system. Its two type digits must match ecf_type. |
| sequence_expiration_date | string DD-MM-YYYY. Expiration of the e-NCF range. Required except for types 32 and 34. |
| external_id | string Document id in the client's system |
| branch | string |
| issue_date required | string DD-MM-YYYY |
| income_type | string |
| payment_type | integer 1 cash, 2 credit, 3 free |
| credit_note_indicator | integer Enum: 0 1 Type 34; calculated when omitted |
| deferred_delivery_indicator | integer Enum: 0 1 |
| taxed_amount_indicator | integer Enum: 0 1 0 prices without ITBIS, 1 prices include ITBIS |
| currency | string Default: "DOP" Value: "DOP" Only DOP is accepted. Any other currency is rejected with 422 VALIDATION_FAILED: foreign-currency issuance is not implemented, so accepting it would emit a document denominated in DOP with the foreign nominal amount. |
| exchange_rate | number Not available. Sending it is rejected with 422 VALIDATION_FAILED, including alongside currency DOP, because it signals that the issuing system believes it is billing in another currency. |
object | |
object Required or not allowed depending on the type (see the public documentation). | |
required | Array of objects (DocumentLine) [ 1 .. 1000 ] items |
object (DocumentTotals) | |
object Required in debit (33) and credit (34) notes and contingency replacements. |
{- "ecf_type": 31,
- "encf": "E310000000001",
- "sequence_expiration_date": "31-12-2028",
- "external_id": "string",
- "branch": "string",
- "issue_date": "15-09-2026",
- "income_type": "01",
- "payment_type": 0,
- "credit_note_indicator": 0,
- "deferred_delivery_indicator": 0,
- "taxed_amount_indicator": 0,
- "currency": "DOP",
- "exchange_rate": 0,
- "issuer": {
- "rnc": "string",
- "legal_name": "string",
- "trade_name": "string",
- "address": "string",
- "municipality": "string",
- "province": "string",
- "email": "string"
}, - "buyer": {
- "rnc": "string",
- "legal_name": "string",
- "address": "string",
- "email": "string",
- "contact": "string"
}, - "items": [
- {
- "line_number": 0,
- "billing_indicator": 0,
- "good_service_indicator": 0,
- "name": "string",
- "description": "string",
- "item_code": "string",
- "quantity": "1180.00",
- "unit_of_measure": "string",
- "unit_price": "1180.00",
- "discount_amount": "1180.00",
- "surcharge_amount": "1180.00",
- "amount": "1180.00",
- "withholding": {
- "agent_indicator": 0,
- "itbis_withheld": "1180.00",
- "isr_withheld": "1180.00"
}
}
], - "totals": {
- "taxed_amount": "1180.00",
- "taxed_amount_i1": "1180.00",
- "taxed_amount_i2": "1180.00",
- "taxed_amount_i3": "1180.00",
- "exempt_amount": "1180.00",
- "itbis_total": "1180.00",
- "itbis_total_1": "1180.00",
- "itbis_total_2": "1180.00",
- "itbis_total_3": "1180.00",
- "itbis_withheld_total": "1180.00",
- "isr_withheld_total": "1180.00",
- "total_amount": "1180.00",
- "period_amount": "1180.00"
}, - "reference": {
- "modified_ncf": "string",
- "modified_ncf_date": "string",
- "modification_code": 1,
- "modification_reason": "string"
}
}{- "valid": true,
- "ecf_type": 0,
- "transmission_route": "recepcion",
- "calculated_totals": {
- "taxed_amount": "1180.00",
- "taxed_amount_i1": "1180.00",
- "taxed_amount_i2": "1180.00",
- "taxed_amount_i3": "1180.00",
- "exempt_amount": "1180.00",
- "itbis_total": "1180.00",
- "itbis_total_1": "1180.00",
- "itbis_total_2": "1180.00",
- "itbis_total_3": "1180.00",
- "total_amount": "1180.00"
}, - "warnings": [
- "string"
]
}| encf | string |
| external_id | string |
| track_id | string |
| ecf_type | integer |
| status | string (DgiiStatus) Enum: "pending" "queued" "submitted" "in_process" "accepted" "accepted_conditional" "rejected" "void" DGII status |
| from | string Issue date from (YYYY-MM-DD or DD-MM-YYYY) |
| to | string Issue date to (YYYY-MM-DD or DD-MM-YYYY) |
| buyer_rnc | string |
| cursor | string |
| limit | integer <= 200 Default: 50 |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "external_id": "string",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "E310000000123",
- "issue_date": "15-09-2026",
- "sequence_expiration_date": "string",
- "signed_at": "2019-08-24T14:15:22Z",
- "total_amount": "1180.00",
- "currency": "DOP",
- "is_rfce": true,
- "security_code": "string",
- "track_id": "string",
- "dgii_status": "pending",
- "commercial_status": "none",
- "dgii_messages": [
- "string"
], - "xml_url": "string",
- "pdf_url": "string",
- "contingency": true,
- "contingency_period_id": "6e7bc81f-9b72-41ad-92e5-34826f549698"
}
], - "next_cursor": "string",
- "total": 0
}Up to 500 documents. Each one is processed independently and reported by position.
| Idempotency-Key | string <= 128 characters |
required | Array of objects (DocumentRequest) <= 500 items | ||||||||||||||||||||||||||||||||||||
Array (<= 500 items)
| |||||||||||||||||||||||||||||||||||||
{- "documents": [
- {
- "ecf_type": 31,
- "encf": "E310000000001",
- "sequence_expiration_date": "31-12-2028",
- "external_id": "string",
- "branch": "string",
- "issue_date": "15-09-2026",
- "income_type": "01",
- "payment_type": 0,
- "credit_note_indicator": 0,
- "deferred_delivery_indicator": 0,
- "taxed_amount_indicator": 0,
- "currency": "DOP",
- "exchange_rate": 0,
- "issuer": {
- "rnc": "string",
- "legal_name": "string",
- "trade_name": "string",
- "address": "string",
- "municipality": "string",
- "province": "string",
- "email": "string"
}, - "buyer": {
- "rnc": "string",
- "legal_name": "string",
- "address": "string",
- "email": "string",
- "contact": "string"
}, - "items": [
- {
- "line_number": 0,
- "billing_indicator": 0,
- "good_service_indicator": 0,
- "name": "string",
- "description": "string",
- "item_code": "string",
- "quantity": "1180.00",
- "unit_of_measure": "string",
- "unit_price": "1180.00",
- "discount_amount": "1180.00",
- "surcharge_amount": "1180.00",
- "amount": "1180.00",
- "withholding": {
- "agent_indicator": 0,
- "itbis_withheld": "1180.00",
- "isr_withheld": "1180.00"
}
}
], - "totals": {
- "taxed_amount": "1180.00",
- "taxed_amount_i1": "1180.00",
- "taxed_amount_i2": "1180.00",
- "taxed_amount_i3": "1180.00",
- "exempt_amount": "1180.00",
- "itbis_total": "1180.00",
- "itbis_total_1": "1180.00",
- "itbis_total_2": "1180.00",
- "itbis_total_3": "1180.00",
- "itbis_withheld_total": "1180.00",
- "isr_withheld_total": "1180.00",
- "total_amount": "1180.00",
- "period_amount": "1180.00"
}, - "reference": {
- "modified_ncf": "string",
- "modified_ncf_date": "string",
- "modification_code": 1,
- "modification_reason": "string"
}
}
]
}{- "batch_id": "4da22c97-b7d5-4e31-8c3a-03870ebc7b20",
- "accepted": 0,
- "rejected": [
- {
- "code": "ENVIRONMENT_MISMATCH",
- "message": "string",
- "request_id": "string",
}
], - "results": [
- {
- "index": 0,
- "status": "accepted",
- "document": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "external_id": "string",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "E310000000123",
- "issue_date": "15-09-2026",
- "sequence_expiration_date": "string",
- "signed_at": "2019-08-24T14:15:22Z",
- "total_amount": "1180.00",
- "currency": "DOP",
- "is_rfce": true,
- "security_code": "string",
- "track_id": "string",
- "dgii_status": "pending",
- "commercial_status": "none",
- "dgii_messages": [
- "string"
], - "xml_url": "string",
- "pdf_url": "string",
- "contingency": true,
- "contingency_period_id": "6e7bc81f-9b72-41ad-92e5-34826f549698"
}, - "error": {
- "code": "ENVIRONMENT_MISMATCH",
- "message": "string",
- "request_id": "string",
}
}
]
}| encfs required | Array of strings <= 100 items |
{- "encfs": [
- "string"
]
}{- "total": 0,
- "results": [
- {
- "encf": "string",
- "found": true,
- "document": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "external_id": "string",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "E310000000123",
- "issue_date": "15-09-2026",
- "sequence_expiration_date": "string",
- "signed_at": "2019-08-24T14:15:22Z",
- "total_amount": "1180.00",
- "currency": "DOP",
- "is_rfce": true,
- "security_code": "string",
- "track_id": "string",
- "dgii_status": "pending",
- "commercial_status": "none",
- "dgii_messages": [
- "string"
], - "xml_url": "string",
- "pdf_url": "string",
- "contingency": true,
- "contingency_period_id": "6e7bc81f-9b72-41ad-92e5-34826f549698"
}
}
]
}| id required | string Document id or e-NCF |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "external_id": "string",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "E310000000123",
- "issue_date": "15-09-2026",
- "sequence_expiration_date": "string",
- "signed_at": "2019-08-24T14:15:22Z",
- "total_amount": "1180.00",
- "currency": "DOP",
- "is_rfce": true,
- "security_code": "string",
- "track_id": "string",
- "dgii_status": "pending",
- "commercial_status": "none",
- "dgii_messages": [
- "string"
], - "xml_url": "string",
- "pdf_url": "string",
- "contingency": true,
- "contingency_period_id": "6e7bc81f-9b72-41ad-92e5-34826f549698"
}The XML as transmitted. For type 32 below DOP 250,000, format=rfce returns the summary sent to the DGII.
| id required | string |
| format | string Default: "ecf" Enum: "ecf" "rfce" |
{- "code": "ENVIRONMENT_MISMATCH",
- "message": "string",
- "request_id": "string",
}A signed, time-limited link to the public view of the document
(https://ecf.etribux.com/{environment}/consulta/{token}), to share with the buyer.
| id required | string |
| ttl_minutes | integer Default: 43200 Link validity in minutes (default 43200, 30 days) |
{- "expires_at": "2019-08-24T14:15:22Z",
- "token": "string"
}| encf | string |
| issuer_rnc | string |
| ecf_type | integer |
| ack_status | string Enum: "accepted" "rejected" |
| commercial_decision | string Enum: "pending" "approved" "rejected" "not_applicable" |
| from | string |
| to | string |
| cursor | string |
| limit | integer |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "string",
- "issuer_rnc": "string",
- "issuer_legal_name": "string",
- "buyer_rnc": "string",
- "issue_date": "string",
- "total_amount": "1180.00",
- "security_code": "string",
- "signature_valid": true,
- "schema_valid": true,
- "validation_errors": [
- "string"
], - "ack_status": "accepted",
- "ack_code": 0,
- "commercial_decision": "pending",
- "received_at": "2019-08-24T14:15:22Z"
}
], - "next_cursor": "string",
- "total": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "environment": "testecf",
- "ecf_type": 0,
- "encf": "string",
- "issuer_rnc": "string",
- "issuer_legal_name": "string",
- "buyer_rnc": "string",
- "issue_date": "string",
- "total_amount": "1180.00",
- "security_code": "string",
- "signature_valid": true,
- "schema_valid": true,
- "validation_errors": [
- "string"
], - "ack_status": "accepted",
- "ack_code": 0,
- "commercial_decision": "pending",
- "received_at": "2019-08-24T14:15:22Z"
}Only for types 31, 33, 34, 44 and 45 with an accepted receipt acknowledgement. Etribux signs the commercial approval (ACECF), delivers it to the issuer and notifies the DGII. A document accepts a single decision.
| id required | string <uuid> |
| Idempotency-Key | string <= 128 characters |
| status required | string Enum: "approved" "rejected" |
| reason | string <= 250 characters Required when rejected |
{- "status": "approved",
- "reason": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "status": "approved",
- "delivery": "sent",
- "issuer_delivered": true,
- "issuer_detail": "string"
}testecf only. Asks the DGII issuer-receiver simulator to issue an e-CF to the taxpayer's
receiver, to test reception and commercial approval end to end.
| ecf_type required | integer Enum: 31 33 34 44 45 |
{- "ecf_type": 31
}{- "status": "requested",
- "dgii_response": "string",
- "receiver_url": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "holder": "string",
- "rnc": "string",
- "issuer": "string",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_to": "2019-08-24T14:15:22Z",
- "fingerprint_sha256": "string",
- "status": "active",
- "days_to_expiry": 0
}| file required | string <binary> |
| password required | string <password> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "holder": "string",
- "rnc": "string",
- "issuer": "string",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_to": "2019-08-24T14:15:22Z",
- "fingerprint_sha256": "string",
- "status": "active",
- "days_to_expiry": 0
}