Pago y líneas
Forma de pago (payment)
Sección titulada «Forma de pago (payment)»{ "condition": "credit", "dueDate": "15-03-2026", "methods": [{ "type": "check_transfer", "amount": 2360.0 }]}| Campo | Nota |
|---|---|
condition |
Obligatorio. cash (1), credit (2) o free (3). |
dueDate |
dd-MM-aaaa. Obligatorio solo si condition es credit. |
methods[] |
Hasta 7 formas de pago, cada una { type, amount }, ambos obligatorios, con amount mayor que 0. Los tipos 34 y 43 no llevan formas de pago. |
Valores de methods[].type, con su código DGII:
| Valor | Código |
|---|---|
cash |
1 |
check_transfer |
2 |
card |
3 |
credit |
4 |
voucher |
5 |
swap |
6 |
credit_note |
7 |
other |
8 |
Todos los campos que aceptan un valor con nombre (condition,
methods[].type, y los que verás más abajo) también aceptan el código
numérico de la DGII en su lugar. "credit" y 2 son equivalentes.
Líneas (lines[])
Sección titulada «Líneas (lines[])»Hasta 1000 líneas por comprobante. NovaFE asigna el número de línea
(<NoLinea>) en el orden en que las mandas, así que no lo incluyas tú.
{ "name": "Servicio de consultoría", "kind": "service", "quantity": 1, "unitOfMeasure": "43", "unitPrice": 2000.0, "itbisRate": 1}| Campo | Nota |
|---|---|
name |
Obligatorio, hasta 80 caracteres. |
kind |
Obligatorio. good (1) o service (2). |
quantity |
Obligatorio, mayor que 0. |
unitPrice |
Obligatorio, mayor o igual a 0, hasta 4 decimales. |
itbisRate |
Obligatorio. 1 (18 %), 2 (16 %), 3 (0 %, gravado) o 4 (exento). |
unitOfMeasure |
Código de la Tabla IV de la DGII, del 1 al 62 (ver la tabla). |
description |
Opcional. |
discount / surcharge |
Opcionales. Monto final de la línea, no porcentaje. |
priceIncludesTax |
Opcional. Sobrescribe, para esta línea, el pricesIncludeTax de la cabecera. |
codes[] |
Opcional. Códigos propios del ítem, { type, value }. |
declaredAmount |
Opcional. El monto de línea que ya calculaste tú, para el mismo chequeo de tolerancia que |
declaredTotals (ver Principios). |
Retención por línea
Sección titulada «Retención por línea»Solo aplica en los tipos que la exigen (obligatoria en 41, y en 47 solo para ISR; el resto de los tipos no la admiten en absoluto).
{ "agent": "withholding", "itbisWithheld": 180.0, "isrWithheld": 0 }agent es withholding (1, retención) o perception (2, percepción). Los
montos (itbisWithheld, isrWithheld) los calculas tú: NovaFE no deriva
retenciones automáticamente.
Impuestos adicionales por línea (ISC y otros)
Sección titulada «Impuestos adicionales por línea (ISC y otros)»Solo en los tipos 31, 32, 33, 34, 44 y 45. Cada entrada de
additionalTaxes[] usa un código de la Tabla I de la DGII (001 a 039):
{ "code": "006", "iscEspecifico": 45.0 }| Campo | Nota |
|---|---|
code |
Código de la Tabla I (ver la tabla). |
rate |
La tasa que la Tabla I fija para ese código. Cualquier otra se rechaza. |
iscEspecifico |
ISC específico (alcoholes, cigarrillos). Ver nota abajo. |
iscAdvalorem |
ISC ad valorem. |
otros |
Cualquier otro impuesto adicional. |
Cada entrada necesita al menos uno de los tres montos: un impuesto sin monto se rechaza.
Moneda extranjera y datos de referencia por línea
Sección titulada «Moneda extranjera y datos de referencia por línea»Dos bloques opcionales, de uso poco frecuente, que pasan tal cual al XML:
foreignCurrency:{ unitPrice, discount, surcharge, lineAmount }en la divisa original de la línea, si facturas en moneda extranjera (ver Ajustes, referencia y moneda para el bloque de moneda a nivel de todo el comprobante).details: datos de referencia del ítem (cantidad y unidad de referencia; si mandasreferenceQuantitynecesitas tambiénreferenceUnit; las unidades salen de la Tabla IV, grados de alcohol, fechas de fabricación y vencimiento) y, solo en los tipos 32, 33, 34 y 46, el bloqueminingpara productos mineros.