Saltar a contenido

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 company autenticada (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 con exists: contra las paramétricas.
  • items[]: nombre, cantidad, unidad_medida, precio_unitario, monto, indicador_facturacion, indicador_bien_servicio; opcionales descripcion, 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 en DocumentController::$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.