Tipos de e-CF — contrato JSON canónico¶
Cheat-sheet de los 10 tipos de Comprobante Fiscal Electrónico (e-CF) soportados. El ejemplo
canónico y siempre-verde de cada tipo es su fixture: tests/Fixtures/ecf_{tipo}.json.
AllEcfTypesTest prueba cada fixture (build → firma → validación contra ecf-{tipo}.xsd + endpoint 202),
así que el fixture es la fuente de verdad del contrato; esta tabla es solo orientación.
Reglas comunes:
- Emisor: NO va en el JSON; sale de la
companyautenticada (token Sanctum). - e-NCF: NO va en el JSON; se reserva del rango autorizado (
E+ tipo + consecutivo). id_doc(identificación del documento):tipo_ingresos,tipo_pago,formas_pago[], etc. — validado conexists:contra las paramétricas.items[]:nombre,cantidad,unidad_medida,precio_unitario,monto,indicador_facturacion,indicador_bien_servicio; opcionalesdescripcion,codigos[],retencion,sub_descuentos[],otra_moneda.totales: montos gravados por tasa (monto_gravado_i1/2/3),monto_exento,itbisN,total_itbis,monto_total,valor_pagar, retenciones.- Cada tipo se valida con su
Ecf{tipo}Request(reglas +exists:, mensajes en español) y se mapea enDocumentController::$requests.
| Tipo | Nombre DGII | Bloques propios del contrato |
|---|---|---|
| 31 | Factura de Crédito Fiscal | comprador (RNC obligatorio); bloques avanzados completos (ISC/impuestos adicionales, desc./recargos línea y globales, retenciones, otra_moneda, subtotales, referencia). |
| 32 | Factura de Consumo | comprador opcional; totales con monto_exento. |
| 33 | Nota de Débito | requiere referencia (e-NCF que modifica + código de modificación). |
| 34 | Nota de Crédito | requiere referencia (e-NCF que modifica + código de modificación). |
| 41 | Compras | comprador; retenciones (total_itbis_retenido, total_isr_retencion), otra_moneda, subtotales, descuentos_recargos, referencia. |
| 43 | Gastos Menores | sin comprador; totales mínimos (monto_exento, monto_total, valor_pagar). |
| 44 | Regímenes Especiales | comprador; impuestos_adicionales, subtotales. |
| 45 | Gubernamental | comprador; totales con valor_pagar. |
| 46 | Exportaciones | comprador; transporte + informaciones_adicionales; totales simplificados. |
| 47 | Pagos al Exterior | comprador; transporte, paginacion, otra_moneda, retención ISR, referencia. |
Al madurar el negocio, revisar con casos reales los bloques tipo-específicos (exportaciones 46, gubernamental 45, pagos al exterior 47). Los fixtures cubren el camino feliz que exige el XSD, no todas las combinaciones fiscales.