Formato de Documentos
Estructura JSON completa del e-CF según la norma DGII 05-19.
⚙
Esta sección describe el formato técnico que usa la API. Como cliente emisor no necesitas construir este JSON manualmente: tu sistema (ERP o dashboard) lo genera por ti. Cámbiate a la vista Desarrollador si integras por cuenta propia.
Estructura general
Cada documento e-CF se compone de las siguientes secciones principales:
{
"ECF": {
"Encabezado": {
"Version": "1.0",
"IdDoc": { ... },
"Emisor": { ... },
"Comprador": { ... },
"Totales": { ... }
},
"DetallesItems": {
"Item": [ ... ]
},
"Paginacion": { ... }
}
}
Encabezado
IdDoc. Identificación del documento
| Campo | Tipo | Requerido | Descripción |
TipoeCF | Integer | Sí | Tipo de comprobante (ver tabla abajo) |
eNCF | String | No* | Número de comprobante. Se asigna automáticamente si no se envía. |
FechaVencimientoSecuencia | String | No | Formato DD-MM-YYYY |
IndicadorNotaCredito | Integer | Cond. | Solo para E33. 0=anula total, 1=sustituye, 2=corrección monto, 3=devolución |
IndicadorEnvioDiferido | Integer | No | 1=envío diferido (hasta 24h) |
IndicadorMontoGravado | Integer | No | 0=incluye ITBIS, 1=no incluye ITBIS |
TipoIngresos | Integer | Sí | 01-06 según tipo de ingreso |
TipoPago | Integer | Sí | 1=contado, 2=crédito, 3=gratuito |
FechaLimitePago | String | Cond. | Requerido si TipoPago=2. Formato DD-MM-YYYY |
TablaFormaPago | Array | No | Formas de pago (efectivo, tarjeta, etc.) |
Tipos de e-CF (TipoeCF)
| Código | Tipo | Descripción |
31 | E31 | Factura de Crédito Fiscal |
32 | E32 | Factura de Consumo |
33 | E33 | Nota de Débito |
34 | E34 | Nota de Crédito |
41 | E41 | Compras (comprobante especial) |
43 | E43 | Gastos Menores |
44 | E44 | Regímenes Especiales |
45 | E45 | Gubernamental |
46 | E46 | Exportaciones |
47 | E47 | Pagos al Exterior |
💡
E32: RFCE automático: Para facturas de consumo con monto menor a RD$250,000, la API genera automáticamente el Resumen Factura de Consumo Electrónico (RFCE) y lo firma como un documento aparte.
Emisor
| Campo | Tipo | Requerido | Descripción |
RNCEmisor | String | Sí | RNC del emisor (9 u 11 dígitos) |
RazonSocialEmisor | String | Sí | Nombre legal del emisor |
DireccionEmisor | String | Sí | Dirección del emisor |
FechaEmision | String | Sí | Formato DD-MM-YYYYTHH:MM:SS |
Comprador
| Campo | Tipo | Requerido | Descripción |
RNCComprador | String | Cond. | Requerido para E31, E33, E34, E41 |
RazonSocialComprador | String | Cond. | Requerido si RNCComprador presente |
ContactoComprador | String | No | Teléfono o email del comprador |
Totales
| Campo | Tipo | Requerido | Descripción |
MontoGravadoTotal | Decimal | Sí | Total gravado con ITBIS |
MontoGravadoI1 | Decimal | Cond. | Monto gravado al 18% |
MontoGravadoI2 | Decimal | Cond. | Monto gravado al 16% |
MontoGravadoI3 | Decimal | Cond. | Monto gravado al 0% |
MontoExento | Decimal | Cond. | Monto exento de ITBIS |
ITBIS1 | Decimal | Cond. | ITBIS al 18% |
ITBIS2 | Decimal | Cond. | ITBIS al 16% |
ITBIS3 | Decimal | Cond. | ITBIS al 0% |
TotalITBIS | Decimal | Sí | Suma de todos los ITBIS |
MontoTotal | Decimal | Sí | Total del documento (gravado + ITBIS + exento) |
DetallesItems
Array de items del documento. Cada item tiene la siguiente estructura:
| Campo | Tipo | Requerido | Descripción |
NumeroLinea | Integer | Sí | Número secuencial (1, 2, 3...) |
IndicadorFacturacion | Integer | Sí | 1=gravado 18%, 2=gravado 16%, 3=exento, 4=gravado 0% |
NombreItem | String | Sí | Descripción del producto o servicio |
IndicadorBienOServicio | Integer | Sí | 1=bien, 2=servicio |
CantidadItem | Decimal | Sí | Cantidad |
UnidadMedida | Integer | No | Código de unidad de medida DGII |
PrecioUnitarioItem | Decimal | Sí | Precio unitario sin ITBIS |
DescuentoMonto | Decimal | No | Monto de descuento |
MontoItem | Decimal | Sí | Total de la línea (cantidad x precio - descuento) |
IndicadorFacturacion
| Valor | Descripción | Tasa ITBIS |
1 | Gravado. tasa 1 | 18% |
2 | Gravado. tasa 2 | 16% |
3 | Exento | 0% |
4 | Gravado. tasa 3 | 0% (aplica a items especiales) |
Paginación
Control de páginas del documento (para representación impresa):
| Campo | Tipo | Descripción |
PaginaActual | Integer | Página actual del documento |
TotalPaginas | Integer | Total de páginas |
⚠
Los montos decimales deben tener máximo 2 decimales. La DGII rechaza documentos con más de 2 decimales en los montos.