Embarque, transporte y paginación
Estos tres bloques son passthrough: NovaFE no los calcula ni los valida contra ningún total, solo los traslada al XML tal como los mandas. Úsalos solo si tu operación los necesita; la mayoría de los comprobantes no los llevan.
Embarque (shipping)
Sección titulada «Embarque (shipping)»No aplica a los tipos 41, 43 y 47.
| Campo | Nota |
|---|---|
shipmentDate, shipmentNumber, referenceNumber |
Datos del envío. |
containerNumber |
Número de contenedor. |
grossWeight / netWeight (con su unidad) |
Peso bruto y neto. |
packageCount (con su unidad), volume (con su unidad) |
Bultos y volumen. |
Datos de exportación (shipping.export)
Sección titulada «Datos de exportación (shipping.export)»Solo para el tipo 46 (Exportaciones): puertos de carga y descarga, condición de entrega, régimen aduanero, y los montos FOB, seguro, flete, otros cargos y el CIF resultante.
Transporte (transport)
Sección titulada «Transporte (transport)»No aplica a los tipos 41 y 43. En el tipo 47 solo se admite
destinationCountry; el resto de los campos son para los demás tipos que sí
admiten transporte.
| Campo | Nota |
|---|---|
via |
1 (terrestre), 2 (marítimo) o 3 (aéreo). |
driver, vehicleId, plate, route, zone |
Datos del transporte terrestre propio. |
carrierRnc, carrierName, voyageNumber |
Si el transporte lo hace un tercero. |
originCountry, destinationCountry, destinationAddress |
Origen y destino. |
transportDocument, deliveryNote |
Referencias documentales. |
Subtotales y paginación (subtotals[], pagination[])
Sección titulada «Subtotales y paginación (subtotals[], pagination[])»Para comprobantes largos, la representación impresa se divide en páginas o en subtotales por sección. Estos dos arreglos son la forma de indicarle a NovaFE cómo repartir las líneas: cada entrada trae, además del rango de líneas que cubre, el mismo tipo de desglose de montos por tasa que ves en la respuesta del comprobante, pero calculado solo para ese subtotal o esa página. Ningún total del comprobante depende de esto: es información para la representación impresa, no para el cálculo fiscal.
Qué exige cada página de pagination[]
Sección titulada «Qué exige cada página de pagination[]»Aunque ningún total depende de la paginación, la DGII compara cada página con el comprobante y la rechaza si está incompleta. Por eso NovaFE valida antes de emitir:
- Hay al menos 2 páginas, o ninguna.
numberes consecutivo desde 1, ylineFromno es mayor quelineTo.- Cada página trae
amounty los subtotales de cada bucket que tiene el comprobante (montoGravadoTotal, el bucket de su tasa,totalItbis, el ITBIS de esa tasa, omontoExento), todos mayores que cero.
Si las cifras no cuadran con las líneas que la página cubre, la DGII acepta el
comprobante de forma condicional. Validar sin emitir
te lo avisa antes (PageBucketMismatch, PageAmountMismatch,
PageSumMismatch). Lo mismo pasa con subtotals[]: la numeración (number)
debe ser consecutiva, y la suma de lines no puede superar las líneas del
comprobante.