Error dictionary
ERPly Pro returns errors in RFC 9457 — Problem Details for HTTP APIs format. Every error response includes a type field that points to an entry in this dictionary:
{
"type": "https://errors.api.erply.pro/dgii-17-totales-inconsistentes",
"title": "Totals do not match the line details",
"status": 422,
"detail": "DGII code 17: Totals do not match the line details",
"correlationId": "1-65fa7c3a-6f9c2d8e0a1b2c3d4e5f6789",
"dgii": { "code": "17", "trackId": "20260501-DGII-9988" }
}
Categories
| Category | Description | Examples |
|---|---|---|
| Authentication | Invalid or missing token | unauthorised |
| Validation | Payload does not meet the API contract | malformed-json, validation-error |
| e-CF / DGII | DGII rejected the document | Codes 1–106 |
| Signature | Invalid XAdES-BES or expired certificate | Codes 30–35 |
| Availability | DGII unreachable / under maintenance | dgii-unavailable, 70, 71 |
| Configuration | Tenant missing RNC or PFX | tenant-config-missing |
Errors emitted by the API
The following errors are raised by ERPly Pro before talking to DGII:
unauthorised— missing token or tenant could not be resolved.malformed-json— request body is not valid JSON.unsupported-ecf-type— e-CF type outside the supported catalogue.mathematical-discrepancy— totals/ITBIS do not add up.validation-error— required fields missing or with invalid format.tenant-resolver-not-configured— internal bug (should not happen in production).tenant-config-missing— tenant has no RNC, PFX or passphrase configured.dgii-rejected— generic DGII rejection (no mapped code).dgii-unavailable— DGII did not respond within the SLA.
DGII codes
Numeric codes are emitted by DGII and we enrich them with dgii.code/dgii.trackId in the Problem. Browse each code directly:
Error dictionary
ERPly Pro returns errors in RFC 9457 — Problem Details for HTTP APIs format. Every error response includes a type field that points to an entry in this dictionary:
— RNC not found in DGII registry
DGII code 1 — RNC not found in DGII registry
0 — Invalid eNCF format
DGII code 10 — Invalid eNCF format
00 — Payload exceeds maximum size (8 MB)
DGII code 100 — Payload exceeds maximum size (8 MB)
01 — e-CF header incomplete
DGII code 101 — e-CF header incomplete
02 — Line detail cannot be empty
DGII code 102 — Line detail cannot be empty
03 — Product/service code not registered with DGII
DGII code 103 — Product/service code not registered with DGII
04 — Buyer address required
DGII code 104 — Buyer address required
05 — Buyer country not supported
DGII code 105 — Buyer country not supported
06 — Purchase order format invalid
DGII code 106 — Purchase order format invalid
1 — eNCF sequence exhausted
DGII code 11 — eNCF sequence exhausted
2 — eNCF outside authorised range
DGII code 12 — eNCF outside authorised range
3 — Duplicate eNCF
DGII code 13 — Duplicate eNCF
4 — e-CF type not allowed for this RNC
DGII code 14 — e-CF type not allowed for this RNC
5 — Issue date is in the future
DGII code 15 — Issue date is in the future
6 — Issue date earlier than allowed window
DGII code 16 — Issue date earlier than allowed window
7 — Totals do not match line detail
DGII code 17 — Totals do not match line detail
8 — ITBIS calculated incorrectly
DGII code 18 — ITBIS calculated incorrectly
9 — Currency not supported
DGII code 19 — Currency not supported
— RNC inactive or suspended
DGII code 2 — RNC inactive or suspended
0 — Exchange rate required for foreign currency
DGII code 20 — Exchange rate required for foreign currency
— RNC not authorised as electronic issuer
DGII code 3 — RNC not authorised as electronic issuer
0 — Invalid XAdES-BES signature
DGII code 30 — Invalid XAdES-BES signature
1 — Signer certificate expired
DGII code 31 — Signer certificate expired
2 — Signer certificate revoked
DGII code 32 — Signer certificate revoked
3 — Certificate not issued by an INDOTEL-approved CA
DGII code 33 — Certificate not issued by an INDOTEL-approved CA
4 — XML canonicalisation is not Exclusive C14N
DGII code 34 — XML canonicalisation is not Exclusive C14N
5 — Document digest does not match signature
DGII code 35 — Document digest does not match signature
0 — Unsupported XSD version
DGII code 40 — Unsupported XSD version
1 — Malformed XML
DGII code 41 — Malformed XML
2 — Required XSD element missing
DGII code 42 — Required XSD element missing
3 — Incorrect XML namespace
DGII code 43 — Incorrect XML namespace
4 — eNCF does not match declared type
DGII code 44 — eNCF does not match declared type
0 — Buyer RNC invalid
DGII code 50 — Buyer RNC invalid
1 — Buyer details required for this type
DGII code 51 — Buyer details required for this type
2 — Amount exceeds Type 32 (Consumption) limit
DGII code 52 — Amount exceeds Type 32 (Consumption) limit
3 — Credit note missing valid parent eNCF
DGII code 53 — Credit note missing valid parent eNCF
4 — Debit note missing valid parent eNCF
DGII code 54 — Debit note missing valid parent eNCF
0 — DGII token invalid or expired
DGII code 60 — DGII token invalid or expired
1 — Daily submission quota exceeded
DGII code 61 — Daily submission quota exceeded
2 — DGII rate limit reached
DGII code 62 — DGII rate limit reached
0 — DGII service under maintenance
DGII code 70 — DGII service under maintenance
1 — Timeout contacting DGII
DGII code 71 — Timeout contacting DGII
2 — DGII connectivity error
DGII code 72 — DGII connectivity error
3 — Malformed DGII response
DGII code 73 — Malformed DGII response
0 — TrackId not found at DGII
DGII code 80 — TrackId not found at DGII
1 — TrackId does not belong to querying RNC
DGII code 81 — TrackId does not belong to querying RNC
2 — Commercial approval rejected by buyer
DGII code 82 — Commercial approval rejected by buyer
0 — Exempt ITBIS misclassified
DGII code 90 — Exempt ITBIS misclassified
1 — ITBIS rate not allowed (use 0%, 16% or 18%)
DGII code 91 — ITBIS rate not allowed (use 0%, 16% or 18%)
2 — ISC not applicable to this product or service
DGII code 92 — ISC not applicable to this product or service
3 — Legal tip (10%) misapplied
DGII code 93 — Legal tip (10%) misapplied
4 — ISR withholding misapplied
DGII code 94 — ISR withholding misapplied
5 — ITBIS withholding misapplied
DGII code 95 — ITBIS withholding misapplied
6 — Discount exceeds allowed percentage
DGII code 96 — Discount exceeds allowed percentage
7 — Invalid date format (use YYYY-MM-DD)
DGII code 97 — Invalid date format (use YYYY-MM-DD)
8 — Exceeded allowed decimals (max 2)
DGII code 98 — Exceeded allowed decimals (max 2)
9 — Generic DGII error
DGII code 99 — Generic DGII error
dgii-rejected
HTTP 422 · Possibly tenant fixable.
dgii-unavailable
HTTP 504 · Retryable. ERPly Pro retries automatically via the submission queue.