You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Buenas una consulta, estoy implementando facturacion usando greenter pero me he dado cuenta que en las notas faltan algunas cosas por añadir, como en la nota de debito
cuando es intereses por mora, como especificar ese dato.
en las notas de credito como adjuntar el descuento global y otros
Abrí #277 con la mitad de esto: el total de descuentos globales en notas de crédito y débito.
El campo existe en el estándar de SUNAT y no había forma de rellenarlo. Guía XML de la nota de crédito UBL 2.1, campo 25 «Total de Descuentos»:
A través de este elemento se debe indicar el valor total de los descuentos realizados de ser el caso. Su propósito es permitir consignar en el comprobante de pago la sumatoria de los descuentos de cada línea (descuentos por ítem).
Se nota que faltaba porque el hermano ya está: BaseSale tiene sumOtrosCargos y las dos plantillas de nota ya emiten cbc:ChargeTotalAmount. Solo faltaba el gemelo de descuentos, así que sumOtrosDescuentos sube de Invoice a BaseSale y las plantillas emiten el nodo.
Un dato por si ayuda a quien buscaba descuentos por ítem en la nota: la guía de SUNAT no contempla cac:AllowanceCharge en la nota, ni en cac:CreditNoteLine ni en la cabecera. Lo probé contra su ambiente de pruebas: el nodo se tolera —CDR 0— pero SUNAT lo ignora y sigue exigiendo LineExtensionAmount = Price × CreditedQuantity. Rebajar la línea por el descuento, que es lo que sí acepta en una factura, se rechaza con el error 3271. Por eso el PR implementa el total y no el nodo por línea: es el único camino que la guía define.
Queda fuera lo otro que mencionas, el motivo de interés por mora en la nota de débito.
Revisando las Reglas de validación de SUNAT (actualizadas al 26.08.2026) y las guías XML UBL 2.1 de notas, ambos casos ya están cubiertos por la librería. En las notas de crédito/débito SUNAT no usa tags de descuento/cargo globales (cac:AllowanceCharge, cbc:AllowanceTotalAmount); lo que define el concepto es el código de motivo de la nota (codMotivo), y el monto del descuento o del interés se expresa en los propios ítems y totales de la nota.
Nota de débito por intereses por mora
Se usa el código 01 – Intereses por mora del Catálogo N.° 10 en setCodMotivo(). El monto del interés se registra como un ítem normal (gravado con IGV, si corresponde) y los totales de la nota reflejan solo ese importe:
$note = (newNote())
->setTipoDoc('08') // Nota de débito
->setCodMotivo('01') // Catálogo 10: Intereses por mora
->setDesMotivo('INTERESES POR PAGO EXTEMPORÁNEO')
Nota de crédito por descuento global
Se usa el código 04 – Descuento global del Catálogo N.° 09 (o 05 – Descuento por ítem, si el descuento aplica a líneas específicas). La nota es el descuento: sus ítems y totales llevan el importe que se está descontando del comprobante original.
$note = (newNote())
->setTipoDoc('07') // Nota de crédito
->setCodMotivo('04') // Catálogo 09: Descuento global
->setDesMotivo('DESCUENTO GLOBAL POR PRONTO PAGO')
Activity
giansalex commentedon Jul 27, 2024
y pudiste resolver esto?
feat(core): support global discount total on credit and debit notes
feat(core): support global discount total on credit and debit notes
gustavoam-asdf commentedon Sep 10, 2026
Abrí #277 con la mitad de esto: el total de descuentos globales en notas de crédito y débito.
El campo existe en el estándar de SUNAT y no había forma de rellenarlo. Guía XML de la nota de crédito UBL 2.1, campo 25 «Total de Descuentos»:
Se nota que faltaba porque el hermano ya está:
BaseSaletienesumOtrosCargosy las dos plantillas de nota ya emitencbc:ChargeTotalAmount. Solo faltaba el gemelo de descuentos, así quesumOtrosDescuentossube deInvoiceaBaseSaley las plantillas emiten el nodo.Un dato por si ayuda a quien buscaba descuentos por ítem en la nota: la guía de SUNAT no contempla
cac:AllowanceChargeen la nota, ni encac:CreditNoteLineni en la cabecera. Lo probé contra su ambiente de pruebas: el nodo se tolera —CDR 0— pero SUNAT lo ignora y sigue exigiendoLineExtensionAmount = Price × CreditedQuantity. Rebajar la línea por el descuento, que es lo que sí acepta en una factura, se rechaza con el error 3271. Por eso el PR implementa el total y no el nodo por línea: es el único camino que la guía define.Queda fuera lo otro que mencionas, el motivo de interés por mora en la nota de débito.
giansalex commentedon Sep 10, 2026
Revisando las Reglas de validación de SUNAT (actualizadas al 26.08.2026) y las guías XML UBL 2.1 de notas, ambos casos ya están cubiertos por la librería. En las notas de crédito/débito SUNAT no usa tags de descuento/cargo globales (
cac:AllowanceCharge,cbc:AllowanceTotalAmount); lo que define el concepto es el código de motivo de la nota (codMotivo), y el monto del descuento o del interés se expresa en los propios ítems y totales de la nota.Nota de débito por intereses por mora
Se usa el código
01– Intereses por mora del Catálogo N.° 10 ensetCodMotivo(). El monto del interés se registra como un ítem normal (gravado con IGV, si corresponde) y los totales de la nota reflejan solo ese importe:Nota de crédito por descuento global
Se usa el código
04– Descuento global del Catálogo N.° 09 (o05– Descuento por ítem, si el descuento aplica a líneas específicas). La nota es el descuento: sus ítems y totales llevan el importe que se está descontando del comprobante original.