Pacioli API e-CF

E41 — Comprobante Electrónico de Compras

← Volver al índice

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

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

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.