Saltar a contenido

e-CF 44 — Comprobante de Regímenes Especiales Electrónico

POST /api/v1/documents/44
Authorization: Bearer <su-token>
Content-Type: application/json

El emisor.rnc del cuerpo dice de qué empresa es el comprobante y, a la vez, en nombre de quién se emite: la API comprueba que su token esté habilitado para esa empresa (cómo funciona).

Ampara ventas a contribuyentes acogidos a regímenes especiales de tributación —zonas francas, diplomáticos, organismos internacionales, proyectos con exención otorgada—, cuyas operaciones están exentas de ITBIS.

Particularidades

Aspecto Regla
Numeración id_doc.e_ncf (E44 + 10 dígitos) y id_doc.fecha_vencimiento_secuencia (dd-MM-aaaa) obligatorios: la numeración la lleva su sistema. Ver numeracion.md.
ITBIS No lleva. En totales no existen montos gravados ni ITBIS.
totales monto_exento, monto_total y, opcionalmente, impuestos_adicionales.
indicador_facturacion de los ítems 4 (exento). También se admite 0 (no facturable).
Comprador razon_social obligatoria. La identificación es opcional: rnc o identificador_extranjero.
Retenciones No lleva bloque de retención por ítem.
Descuentos y recargos Sin indicador_norma_1007.
Líneas de detalle Máximo 1.000.

Aunque el XSD de la DGII admite otros valores en el indicador de facturación, en este tipo lo coherente es 4: la operación está exenta por el régimen del comprador.

Ejemplo

Venta de materia prima a una empresa de zona franca.

{
  "emisor": {
    "rnc": "133802074"
  },
  "comprador": {
    "rnc": "131880738",
    "razon_social": "ZONA FRANCA INDUSTRIAL, SRL"
  },
  "id_doc": {
    "e_ncf": "E440000000001",
    "fecha_vencimiento_secuencia": "31-12-2028",
    "tipo_ingresos": "01",
    "tipo_pago": "1",
    "formas_pago": [
      { "forma": "1", "monto": 5000.0 }
    ]
  },
  "items": [
    {
      "nombre": "Materia prima",
      "cantidad": 10,
      "unidad_medida": "43",
      "precio_unitario": 500.0,
      "monto": 5000.0,
      "indicador_facturacion": 4,
      "indicador_bien_servicio": "1"
    }
  ],
  "totales": {
    "monto_exento": 5000.0,
    "monto_total": 5000.0
  }
}

Archivo: ejemplos/ecf-44-minimo.json

TrackID. La respuesta 202 siempre trae track_id: null: la transmisión ocurre después, en segundo plano. Al transmitirse, este tipo completo recibe su TrackID y el documento pasa a in_process_dgii (dónde aparece el TrackID).

Errores frecuentes

Cada mensaje llega en un 422 dentro de document.errors (y, por campo, en document.detailed_errors); la forma completa está en Cómo responde la API.

Mensaje Causa
El campo monto gravado total no está permitido. En el 44 la operación es exenta: use monto_exento.
El campo razón social del comprador es obligatorio. Es el único dato del comprador que no puede faltar.
El monto total (…) no cuadra… Debe ser monto_exento más los impuestos adicionales, si los hay.

Referencias