Saltar a contenido

e-CF 34 — Nota de Crédito Electrónica

POST /api/v1/documents/34
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).

Anula, corrige o disminuye un comprobante ya emitido: devoluciones de mercancía, descuentos posteriores, anulaciones, correcciones de texto. Es la única vía para corregir un e-CF ya aceptado por la DGII.

Particularidades

Aspecto Regla
referencia Obligatoria (NCF modificado, su fecha y el código de modificación).
id_doc.indicador_nota_credito Obligatorio: 0 si se emite dentro de los 30 días del comprobante original, 1 si después.
codigo_modificacion Sólo 1–4.
Formas de pago No aplican: el XSD del 34 no las contempla.
Numeración id_doc.e_ncf (E34 + 10 dígitos) obligatorio; no lleva fecha de vencimiento de la secuencia (no aplica, y no se imprime en la representación impresa). Ver numeracion.md.
Comprador Opcional; debe coincidir con el del documento original.

La regla de los 30 días

Es la particularidad fiscal más importante de este documento (Arts. 8 y 28 del Reglamento 293-11):

indicador_nota_credito Cuándo Efecto
0 La NC se emite dentro de los 30 días del comprobante original Devuelve el precio y el ITBIS.
1 Se emite después de los 30 días Devuelve sólo el precio: no procede la devolución del ITBIS.

Si usa indicador_nota_credito: 1, no debería declarar ITBIS en los totales.

Ejemplo: devolución parcial

Devolución de 50 pares de zapatos de una factura emitida hace más de 30 días (por eso el ITBIS va en 0).

{
  "emisor": {
    "rnc": "133802074"
  },
  "comprador": {
    "rnc": "131880738",
    "razon_social": "COMERCIO, SRL"
  },
  "id_doc": {
    "e_ncf": "E340000000001",
    "indicador_monto_gravado": 0,
    "indicador_nota_credito": 1,
    "tipo_ingresos": "01",
    "tipo_pago": "1"
  },
  "items": [
    {
      "nombre": "Zapatos de cuero (devolucion)",
      "cantidad": 50,
      "unidad_medida": "6",
      "precio_unitario": 550.00,
      "monto": 27500.00,
      "indicador_facturacion": 1,
      "indicador_bien_servicio": "1"
    }
  ],
  "totales": {
    "monto_gravado_total": 27500.00,
    "itbis1": 18,
    "total_itbis": 0,
    "monto_total": 27500.00,
    "monto_gravado_i1": 27500.00,
    "total_itbis1": 0
  },
  "referencia": {
    "ncf_modificado": "E310000000001",
    "fecha_ncf_modificado": "01-02-2026",
    "codigo_modificacion": "3",
    "razon_modificacion": "Devolucion parcial de mercancia"
  }
}

Archivo: ejemplos/ecf-34-minimo.json

Los montos van en positivo: es una nota de crédito, el signo lo da el tipo de documento.

Casos según el código de modificación

Caso codigo_modificacion Cómo armarlo
Anular una factura completa 1 El detalle y los totales replican los del comprobante original.
Corregir sólo texto (nombre mal escrito, dirección) 2 Los montos deben ser 0: no hay efecto económico.
Devolución o descuento posterior 3 El detalle refleja lo devuelto, no la factura completa.
Reemplazar un NCF de contingencia 4

Límite del monto

El monto total de la nota de crédito no puede exceder el del comprobante que modifica, y la suma de todas las notas de crédito que lo afecten tampoco. Hoy no validamos esta regla porque requiere consultar el documento original; si la incumple, la rechazará la DGII.

Sobre el ejemplo. Lleva indicador_nota_credito: 1 con total_itbis: 0 a propósito: es una nota emitida más de 30 días después del comprobante afectado, así que no rebaja ITBIS y el ejemplo sigue siendo válido por mucho tiempo que pase. Para el caso más habitual (dentro de los 30 días) ponga indicador_nota_credito: 0, la fecha real del comprobante afectado y el ITBIS que corresponda. El indicador no se elige: se deriva de esa fecha, y si no coincide se rechaza.

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 indicador de nota de crédito es obligatorio. Debe indicar si la NC va dentro o fuera de los 30 días.
El campo información de referencia es obligatorio. Toda NC debe decir qué documento modifica.
El campo código de modificación seleccionado es inválido. En las notas sólo 1–4.
El monto total (…) no cuadra… Revise la aritmética de totales.
Hay ítems gravados con ITBIS, así que el indicador de monto gravado (id_doc.indicador_monto_gravado) es obligatorio: 0 si los montos de las líneas no incluyen ITBIS, 1 si lo incluyen. Falta id_doc.indicador_monto_gravado. La DGII lo exige cuando hay ítems gravados (Formato e-CF, campo 7) y, si no viene, rechaza el comprobante con el código 176.
El campo fecha límite de pago es obligatorio cuando tipo de pago es 2. Una venta a crédito siempre declara su fecha_limite_pago.
La fecha límite de pago (…) no puede ser anterior a la fecha de emisión, que es la de hoy (…). id_doc.fecha_limite_pago está en el pasado. Con tipo_pago 2 (crédito) es obligatoria y tiene que ser igual o posterior a hoy.

Referencias