e-CF 45 — Comprobante Gubernamental Electrónico¶
El emisor.rnc del cuerpo dice de qué empresa es el comprobante y, a la vez, en nombre de quién se emite: la API
comprueba que su token esté habilitado para esa empresa (cómo funciona).
Ampara las ventas al Estado: ministerios, ayuntamientos, instituciones autónomas y demás entidades públicas.
Funciona igual que la Factura de Crédito Fiscal (31), con una diferencia importante.
Particularidades¶
| Aspecto | Regla |
|---|---|
| Numeración | id_doc.e_ncf (E45 + 10 dígitos) y id_doc.fecha_vencimiento_secuencia (dd-MM-aaaa) obligatorios: la numeración la lleva su sistema. Ver numeracion.md. |
| Retenciones y percepciones | No las contempla, ni por ítem ni en totales. Las practica la propia entidad pública. |
| Comprador | Obligatorio: rnc y razon_social de la entidad. |
| ITBIS | Igual que en el 31: tasas y montos gravados normales. |
| Impuestos adicionales (ISC) | Admitidos, en los ítems y en totales. |
| Líneas de detalle | Máximo 1.000. |
Si su comprobante lleva retención, es que no es un 45: revise si corresponde un 31 o un 41.
Ejemplo¶
Suministro de material de oficina a un ministerio, a crédito.
{
"emisor": {
"rnc": "133802074"
},
"comprador": {
"rnc": "401007551",
"razon_social": "MINISTERIO DE HACIENDA"
},
"id_doc": {
"e_ncf": "E450000000001",
"fecha_vencimiento_secuencia": "31-12-2028",
"indicador_monto_gravado": 0,
"tipo_ingresos": "01",
"tipo_pago": "2",
"fecha_limite_pago": "31-12-2030",
"formas_pago": [
{ "forma": "4", "monto": 11800.0 }
]
},
"items": [
{
"nombre": "Suministro de oficina",
"cantidad": 100,
"unidad_medida": "43",
"precio_unitario": 100.0,
"monto": 10000.0,
"indicador_facturacion": 1,
"indicador_bien_servicio": "1"
}
],
"totales": {
"monto_gravado_total": 10000.0,
"itbis1": 18,
"total_itbis": 1800.0,
"monto_total": 11800.0,
"monto_gravado_i1": 10000.0,
"total_itbis1": 1800.0
}
}
Archivo: ejemplos/ecf-45-minimo.json
TrackID. La respuesta
202siempre traetrack_id: null: la transmisión ocurre después, en segundo plano. Al transmitirse, este tipo completo recibe su TrackID y el documento pasa ain_process_dgii(dónde aparece el TrackID).
Errores frecuentes¶
Cada mensaje llega en un 422 dentro de document.errors (y, por campo, en document.detailed_errors); la forma completa está en Cómo responde la API.
| Mensaje | Causa |
|---|---|
| El campo retención del ítem no está permitido. | El 45 no lleva retenciones: quite el bloque. |
| El campo RNC/Cédula del comprador es obligatorio. | Hay que identificar a la entidad pública. |
| El monto gravado total (…) no coincide con la suma de los ítems gravados (…). | Revise que ningún ítem exento esté sumando al gravado. |
| Hay ítems gravados con ITBIS, así que el indicador de monto gravado (id_doc.indicador_monto_gravado) es obligatorio: 0 si los montos de las líneas no incluyen ITBIS, 1 si lo incluyen. | Falta id_doc.indicador_monto_gravado. La DGII lo exige cuando hay ítems gravados (Formato e-CF, campo 7) y, si no viene, rechaza el comprobante con el código 176. |
| El campo fecha límite de pago es obligatorio cuando tipo de pago es 2. | Una venta a crédito siempre declara su fecha_limite_pago. |
| La fecha límite de pago (…) no puede ser anterior a la fecha de emisión, que es la de hoy (…). | id_doc.fecha_limite_pago está en el pasado. Con tipo_pago 2 (crédito) es obligatoria y tiene que ser igual o posterior a hoy. |