Pacioli API e-CF

E31 — Factura de Crédito Fiscal Electrónica

← Volver al índice

Para qué sirve

Es la factura que emites cuando le vendes a un contribuyente (empresa o persona con RNC/cédula) que va a usar el ITBIS de la compra como crédito fiscal o el gasto como deducible. Identifica obligatoriamente al comprador.

Cuándo NO usarlo

Campos

Obligatorios

Campo Notas
tipo_ecf = "31", encf (E31 + 10 dígitos), fecha_emision
fecha_vencimiento Vencimiento de la secuencia autorizada por la DGII. Sin él, 422 por XSD.
tipo_pago 1, 2 o 3. Sin él, 422 por XSD.
direccion_emisor Ver README.
rnc_comprador, razon_social_comprador RNC (9) o cédula (11) del cliente. Sin ellos, 422 por XSD.
monto_total, valor_pagar y los totales por tasa Ver cálculo abajo.
detalle (al menos una línea) numero_linea, nombre_item, cantidad, precio_unitario, monto_item.

Opcionales: tipo_ingresos (por defecto 01), indicador_monto_gravado (por defecto 0), formas_pago, fecha_limite_pago, termino_pago, todos los datos opcionales de emisor y comprador, descuento por línea, itbis1/2/3 (tasas), total_itbis_retenido / total_isr_retencion / total_itbis_percepcion / total_isr_percepcion (cuando tu cliente te retiene o percibe).

No aplican: datos de referencia (ncf_modificado, …).

Retención por línea: en E31 no se emite el bloque Retencion del ítem, pero monto_itbis_retenido / monto_isr_retenido del detalle no se ignoran: si no envías total_itbis_retenido / total_isr_retencion, el API los suma del detalle y los emite en los totales del encabezado.

Totales

Con indicador_monto_gravado = 0 (precios sin ITBIS):

monto_item          = cantidad × precio_unitario − descuento
monto_gravado_i1    = Σ monto_item (indicador_facturacion 1)
monto_gravado_i2    = Σ monto_item (indicador_facturacion 2)
monto_exento        = Σ monto_item (indicador_facturacion 4)
total_itbis1        = monto_gravado_i1 × 18 %
total_itbis2        = monto_gravado_i2 × 16 %
monto_total         = monto_gravado_total + monto_exento + total_itbis
valor_pagar         = monto_total

Ejemplo 1:

Línea Cálculo MontoItem
Consultoría (ind. 1) 10 h × 1,500.00 15,000.00
Memoria USB (ind. 1) 2 × 850.00 1,700.00

monto_gravado_i1 = 16,700.00 · total_itbis1 = 16,700.00 × 18 % = 3,006.00 · monto_total = 16,700.00 + 3,006.00 = 19,706.00.

Particularidades

Ejemplo 1: crédito fiscal simple, contado

{
  "factura": {
    "tipo_ecf": "31",
    "encf": "E310000000001",
    "fecha_emision": "2026-10-01",
    "fecha_vencimiento": "2027-12-31",
    "indicador_monto_gravado": 0,
    "tipo_ingresos": "01",
    "tipo_pago": "1",
    "direccion_emisor": "Av. Winston Churchill 1099, Santo Domingo",
    "municipio_emisor": "010100",
    "provincia_emisor": "010000",
    "numero_factura_interna": "FAC-000101",
    "rnc_comprador": "131000001",
    "razon_social_comprador": "CLIENTE EJEMPLO SRL",
    "correo_comprador": "cuentas@cliente-ejemplo.com.do",
    "monto_gravado_total": 16700.00,
    "monto_gravado_i1": 16700.00,
    "total_itbis": 3006.00,
    "total_itbis1": 3006.00,
    "monto_total": 19706.00,
    "valor_pagar": 19706.00
  },
  "detalle": [
    {
      "numero_linea": 1,
      "nombre_item": "Servicio de consultoria",
      "indicador_bien_servicio": 2,
      "indicador_facturacion": 1,
      "cantidad": 10,
      "unidad_medida": "19",
      "precio_unitario": 1500.00,
      "monto_item": 15000.00
    },
    {
      "numero_linea": 2,
      "nombre_item": "Memoria USB 64GB",
      "indicador_bien_servicio": 1,
      "indicador_facturacion": 1,
      "cantidad": 2,
      "unidad_medida": "43",
      "precio_unitario": 850.00,
      "monto_item": 1700.00
    }
  ]
}

Ejemplo 2: descuento, tasa 16 % y línea exenta

Pago mixto: RD$50,000.00 con tarjeta y el resto por transferencia.

Línea Cálculo MontoItem Indicador
Laptop 2 × 35,000.00 − 3,500.00 66,500.00 1 (18 %)
Yogurt 10 × 85.00 850.00 2 (16 %)
Libro 3 × 1,200.00 3,600.00 4 (exento)

total_itbis1 = 66,500.00 × 18 % = 11,970.00 · total_itbis2 = 850.00 × 16 % = 136.00 · monto_total = 67,350.00 + 3,600.00 + 12,106.00 = 83,056.00 = 50,000.00 + 33,056.00 (formas de pago).

{
  "factura": {
    "tipo_ecf": "31",
    "encf": "E310000000002",
    "fecha_emision": "2026-10-02",
    "fecha_vencimiento": "2027-12-31",
    "indicador_monto_gravado": 0,
    "tipo_ingresos": "01",
    "tipo_pago": "1",
    "formas_pago": [
      { "forma_pago": "3", "monto": 50000.00 },
      { "forma_pago": "2", "monto": 33056.00 }
    ],
    "direccion_emisor": "Av. Winston Churchill 1099, Santo Domingo",
    "rnc_comprador": "131000001",
    "razon_social_comprador": "CLIENTE EJEMPLO SRL",
    "monto_gravado_total": 67350.00,
    "monto_gravado_i1": 66500.00,
    "monto_gravado_i2": 850.00,
    "monto_exento": 3600.00,
    "total_itbis": 12106.00,
    "total_itbis1": 11970.00,
    "total_itbis2": 136.00,
    "monto_total": 83056.00,
    "valor_pagar": 83056.00
  },
  "detalle": [
    {
      "numero_linea": 1,
      "nombre_item": "Laptop 14 pulgadas",
      "indicador_bien_servicio": 1,
      "indicador_facturacion": 1,
      "cantidad": 2,
      "unidad_medida": "43",
      "precio_unitario": 35000.00,
      "descuento": 3500.00,
      "monto_item": 66500.00
    },
    {
      "numero_linea": 2,
      "nombre_item": "Yogurt natural 1 litro",
      "indicador_bien_servicio": 1,
      "indicador_facturacion": 2,
      "cantidad": 10,
      "unidad_medida": "43",
      "precio_unitario": 85.00,
      "monto_item": 850.00
    },
    {
      "numero_linea": 3,
      "nombre_item": "Libro tecnico de contabilidad",
      "indicador_bien_servicio": 1,
      "indicador_facturacion": 4,
      "cantidad": 3,
      "unidad_medida": "43",
      "precio_unitario": 1200.00,
      "monto_item": 3600.00
    }
  ]
}

Respuesta esperada

201 con el código de seguridad y el QR (formato en el README). url_dgii apunta a https://ecf.dgii.gov.do/{TesteCF|CerteCF|ecf}/consultatimbre?...&rnccomprador=131000001. El estado pasa de pendiente a Aceptado cuando la DGII lo procesa (GET /{ambiente}/ecf/estado?encf=E310000000001).