Ir al contenido

Emisión de e-CFEmbarque, transporte y paginación

Embarque, transporte y paginación

Ver como Markdown

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.

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.

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.

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.

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.
  • number es consecutivo desde 1, y lineFrom no es mayor que lineTo.
  • Cada página trae amount y los subtotales de cada bucket que tiene el comprobante (montoGravadoTotal, el bucket de su tasa, totalItbis, el ITBIS de esa tasa, o montoExento), 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.