Skip to content

Campos faltantes en notas cyd #232

Closed

Description

@Jhamnerx

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
image
cuando es intereses por mora, como especificar ese dato.

en las notas de credito como adjuntar el descuento global y otros

Activity

  1. giansalex commented on Jul 27, 2024

    @giansalex
    Member

    y pudiste resolver esto?

  2. gustavoam-asdf commented on Sep 10, 2026

    @gustavoam-asdf

    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).

    Ubicación: //CreditNote/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount

    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.

  3. giansalex commented on Sep 10, 2026

    @giansalex
    Member

    from Claude

    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 = (new Note())
        ->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 = (new Note())
        ->setTipoDoc('07')                 // Nota de crédito
        ->setCodMotivo('04')               // Catálogo 09: Descuento global
        ->setDesMotivo('DESCUENTO GLOBAL POR PRONTO PAGO')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions