Pre-validación de Comprobantes Fiscales
En el ambiente de producción (ecf), un comprobante fiscal electrónico rechazado por la DGII quema de forma irreversible el número de e-NCF, obligando a tu empresa a anular la secuencia y emitir un nuevo correlativo.
Para evitar este riesgo, Etribux ofrece el modo de Pre-validación mediante el parámetro ?validate=true.
POST /{environment}/api/v1/documents?validate=true
Comparativa: Validar vs Emitir
| Característica | Modo Pre-validación (validate=true) | Emisión Normal (POST /documents) |
|---|---|---|
| Validación de tipos de datos y esquema XSD | ✅ | ✅ |
| Cálculo de ITBIS, tasas y subtotales | ✅ | ✅ |
| Tolerancia Global DGII §12 y ecuación de 3 términos | ✅ | ✅ |
| Comprobación de e-NCF duplicado en base de datos | ✅ | ✅ |
| Firma digital criptográfica (XMLDSig) | ❌ (No consume recursos de firma) | ✅ |
| Asignación y quema de e-NCF | ❌ (El e-NCF queda libre) | ✅ (e-NCF utilizado) |
| Transmisión a los servidores de la DGII | ❌ | ✅ |
| Generación de Código de Seguridad y QR | ❌ | ✅ |
Ejemplo de Pre-validación
Envía exactamente el mismo cuerpo JSON que usarías para emitir:
curl -X POST "https://api.etribux.com/ecf/api/v1/documents?validate=true" \
-H "Authorization: Bearer <TU_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"ecf_type": 31,
"encf": "E310000000001",
"issue_date": "16-09-2026",
"sequence_expiration_date": "31-12-2028",
"income_type": "01",
"payment_type": 1,
"buyer": {
"rnc": "130862346",
"legal_name": "EMPRESA COMPRADORA SRL"
},
"items": [
{
"line_number": 1,
"name": "Servicios Profesionales de Auditoría",
"good_or_service_indicator": 2,
"billing_indicator": 1,
"quantity": "1.00",
"unit_price": "50000.00"
}
]
}'
Respuesta Exitosa (200 OK)
Si el documento cumple con todas las reglas tributarias:
{
"valid": true,
"calculated_totals": {
"taxed_amount": "50000.00",
"exempt_amount": "0.00",
"itbis_total": "9000.00",
"total_amount": "59000.00"
},
"warnings": []
}
Respuesta con Errores (422 Unprocessable Entity)
Si existe alguna discrepancia de cálculo o campos faltantes:
{
"valid": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "el comprobante contiene inconsistencias fiscales",
"details": [
{
"field": "items[0].unit_price",
"issue": "precio unitario inválido o no provisto"
}
]
}
}
:::tip Recomendación para ERPs
Implementa en tu ERP una llamada con validate=true antes de que el cajero o facturador presione el botón "Guardar Factura". Así garantizas que cada e-NCF generado en tu base de datos esté 100% garantizado para ser aceptado por la DGII.
:::