E41 — Comprobante Electrónico de Compras#
Para qué sirve#
Lo emite tu empresa cuando compra a un proveedor que no puede emitirte un comprobante fiscal (normalmente una persona física o un proveedor informal). Sustenta el costo o gasto y declara las retenciones de ITBIS e ISR que le haces al proveedor.
En el E41 tu empresa es el emisor y el proveedor va en los campos del comprador
(rnc_comprador = su cédula o RNC, razon_social_comprador = su nombre).
Cuándo NO usarlo#
- Gastos menores de caja chica sin proveedor identificado y sin retención (taxi, peaje, parqueo) → E43.
- Pago a un proveedor en el exterior → E47.
- El proveedor sí te emitió su comprobante → no emites nada.
Campos#
Obligatorios
| Campo | Notas |
|---|---|
tipo_ecf = "41", encf (E41…), fecha_emision |
|
fecha_vencimiento |
Vencimiento de la secuencia E41. Sin él, 422 por XSD. |
rnc_comprador, razon_social_comprador |
Datos del proveedor. Sin ellos, 422 por XSD. |
direccion_emisor, monto_total, valor_pagar, totales, detalle |
|
Por línea: monto_itbis_retenido, monto_isr_retenido |
El bloque Retencion es obligatorio en cada línea; si no envías un monto, se emite 0.00. |
Opcionales: tipo_pago (opcional en el E41), formas_pago, fecha_limite_pago, termino_pago,
indicador_monto_gravado (por defecto 0), indicador_agente_retencion_percepcion por línea (por
defecto 1 = retención), total_itbis_retenido y total_isr_retencion (si no los envías se suman del
detalle), descuento por línea.
No aplican (se ignoran): tipo_ingresos, zona_venta, fecha_orden_compra, numero_orden_compra.
Totales#
Igual que E31 para montos e ITBIS. Las retenciones no se restan de valor_pagar:
monto_total = monto_gravado_total + monto_exento + total_itbis
valor_pagar = monto_total
total_itbis_retenido = Σ monto_itbis_retenido de las líneas
total_isr_retencion = Σ monto_isr_retenido de las líneas
Ejemplo: reparación 1 × 10,000.00 = 10,000.00 gravado al 18 % → total_itbis1 = 1,800.00,
monto_total = valor_pagar = 11,800.00. Retenciones del ejemplo: ITBIS 1,800.00 (100 % del
ITBIS) e ISR 1,000.00 (10 % de la base). Lo que efectivamente le pagas al proveedor
(11,800.00 − 1,800.00 − 1,000.00 = 9,000.00) es un dato de tu tesorería, no va en el e-CF.
Los porcentajes de retención son reglas tributarias que dependen del tipo de proveedor y servicio: el API no los calcula ni los valida, solo verifica que los totales del encabezado coincidan con lo que envías.
Particularidades#
- Si en una línea no retienes, envía los montos retenidos en 0: el bloque
Retencionsale con0.00y el encabezado no emite los totales de retención si suman 0. valor_pagarcon el neto (después de retenciones) se corrige amonto_totalantes de firmar.
Ejemplo: compra de servicio a persona física con retención de ITBIS e ISR#
{
"factura": {
"tipo_ecf": "41",
"encf": "E410000000001",
"fecha_emision": "2026-10-07",
"fecha_vencimiento": "2027-12-31",
"indicador_monto_gravado": 0,
"tipo_pago": "1",
"direccion_emisor": "Av. Winston Churchill 1099, Santo Domingo",
"rnc_comprador": "40200000001",
"razon_social_comprador": "JUAN PEREZ",
"monto_gravado_total": 10000.00,
"monto_gravado_i1": 10000.00,
"total_itbis": 1800.00,
"total_itbis1": 1800.00,
"total_itbis_retenido": 1800.00,
"total_isr_retencion": 1000.00,
"monto_total": 11800.00,
"valor_pagar": 11800.00
},
"detalle": [
{
"numero_linea": 1,
"nombre_item": "Reparacion de aire acondicionado",
"indicador_bien_servicio": 2,
"indicador_facturacion": 1,
"cantidad": 1,
"unidad_medida": "43",
"precio_unitario": 10000.00,
"monto_item": 10000.00,
"indicador_agente_retencion_percepcion": 1,
"monto_itbis_retenido": 1800.00,
"monto_isr_retenido": 1000.00
}
]
}
Respuesta esperada#
201 como en el README; estado final Aceptado.