Saltar a contenido

Facturación electrónica en República Dominicana

Emita comprobantes fiscales electrónicos (e-CF) ante la DGII desde su sistema, sin implementar el estándar.

Usted envía un JSON —o su propio XML, si ya lo genera—. Nosotros construimos el documento, lo firmamos digitalmente, lo transmitimos a la DGII, resolvemos su estado y generamos la representación impresa.

  • Empezar aquí

    Autenticación, ciclo de vida, formato de las respuestas y convenciones del JSON.

  • Tipos de comprobante

    Los diez e-CF del estándar, cada uno con sus reglas y un ejemplo que funciona.

  • Enviar su propio XML

    Si ya construye el e-CF, mándelo tal cual: lo firmamos y lo transmitimos.

  • Recibir comprobantes

    La DGII le exige poder recibir e-CF de sus proveedores. Eso lo resolvemos nosotros.

Su primer e-CF, en tres pasos

1. Autentíquese. Cada credencial pertenece a un solo RNC emisor, así que el emisor no viaja en el JSON: se deduce del token.

2. Envíe el comprobante. Una factura de crédito fiscal (tipo 31) mínima:

curl -X POST https://<su-host>/api/v1/documents/31 \
  -H "Authorization: Bearer <su-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "comprador": { "rnc": "131880738", "razon_social": "COMERCIO, SRL" },
    "id_doc": {
      "tipo_ingresos": "01",
      "tipo_pago": "1",
      "formas_pago": [ { "forma": "1", "monto": 1180.00 } ]
    },
    "items": [ {
      "nombre": "Producto A", "cantidad": 1, "unidad_medida": "43",
      "precio_unitario": 1000.00, "monto": 1000.00,
      "indicador_facturacion": 1, "indicador_bien_servicio": "1"
    } ],
    "totales": {
      "monto_gravado_total": 1000.00, "itbis1": 18, "total_itbis": 180.00,
      "monto_total": 1180.00, "monto_gravado_i1": 1000.00, "total_itbis1": 180.00
    }
  }'

La respuesta 202 le devuelve el e-NCF asignado. El envío a la DGII ocurre en segundo plano.

{
  "status": "success",
  "message": "e-CF recibido y encolado para envío a la DGII.",
  "document": {
    "document_id": 1234,
    "ecf_type_code": "31",
    "e_ncf": "E310000000001",
    "status_code": 1,
    "status": "received"
  }
}

3. Consulte el resultado.

curl https://<su-host>/api/v1/documents/E310000000001 \
  -H "Authorization: Bearer <su-token>"

Cuando la DGII resuelve, el estado pasa a accepted_dgii y el comprobante tiene validez fiscal.

Los ejemplos de esta documentación funcionan

Todos se envían contra la API en cada ejecución de la suite de pruebas. Si alguno dejara de ser válido, la compilación falla. Puede copiarlos tal cual.

Qué no tiene que hacer usted

Construir el XML Lo generamos desde su JSON, conforme al XSD de la DGII.
Firmar digitalmente Con su certificado o con el nuestro, según cómo esté configurado.
Numerar los comprobantes Asignamos el e-NCF desde sus secuencias autorizadas.
Reintentar ante la DGII Sondeamos el resultado con reintentos progresivos.
Montar el servicio de recepción Exponemos los servicios que el estándar exige y respondemos el acuse firmado.
Generar la representación impresa Se genera al aceptarse, con su código QR.

Los diez tipos de comprobante

Tipo Documento Cuándo se usa
31 Factura de Crédito Fiscal Ventas a contribuyentes (B2B)
32 Factura de Consumo Ventas a consumidor final (B2C)
33 Nota de Débito Aumenta el valor de un comprobante
34 Nota de Crédito Anula, corrige o disminuye
41 Compras Compras a quien no emite e-CF
43 Gastos Menores Caja chica
44 Regímenes Especiales Zonas francas, diplomáticos
45 Gubernamental Ventas al Estado
46 Exportaciones Ventas al exterior
47 Pagos al Exterior Con retención de ISR