Vai al contenuto principale

Riferimento

Esporta Markdown

BR-CO-24 L’onere di riga richiede un motivo o un codice motivo

Ogni onere di riga di fattura (BG-28) deve contenere un motivo dell’onere di riga (BT-144) o un codice del motivo (BT-145), o entrambi.

Descrizione del problema

ERRORE

Regola di calcolo e coerenza EN 16931 (BR-CO)

Pipeline interattiva

Fai clic su una fase per vedere cosa controlla, oppure digita l’ID di una regola per trovare la fase che la segnala.

Prova:

BR-CO-24 regola di calcolo EN 16931

Segnalata nella fase 2: Regole EN 16931.

Livello errore: il report raccomanda di rifiutare la fattura.

Fase 2 · Cosa controlla

  • I termini di business essenziali sono presenti (da BR-01 a BR-65).
  • I totali tornano e i campi collegati sono coerenti (BR-CO); codici e decimali sono validi (BR-CL, BR-DEC).
  • Ogni categoria IVA è coerente: S, Z, E, AE, K, G, O, L, M (BR-S, BR-Z, BR-AE, BR-IC …).

Codici di esempio

Correzione tipica

Ricalcola totali e IVA dalle righe e correggi la categoria IVA nei dati di origine.

Un validatore controlla una fattura elettronica per fasi. Prima il file deve essere XML ben formato e conforme allo schema UBL o CII (XSD). Poi si applicano le regole di business della EN 16931: regole di base BR, calcoli BR-CO, liste di codici BR-CL, decimali BR-DEC e regole per categoria IVA come BR-S. Seguono le regole nazionali o di rete selezionate da BT-24: BR-DE per XRechnung, PEPPOL-EN16931 per Peppol BIS Billing. Il report elenca ogni regola violata: un errore significa rifiuto, i soli avvisi significano comunque accettazione. BR-CO-24: regola di calcolo EN 16931, fase «Regole EN 16931». Set di regole: validatore KoSIT 1.6.3 con la configurazione XRechnung del 31 ago 2026 (artefatti EN 16931 1.3.16), Peppol BIS Billing 3.0.21.

Contesto e significato

Questa regola è la controparte a livello di riga di BR-CO-22: ogni onere di riga (UBL: cac:InvoiceLine/cac:AllowanceCharge con cbc:ChargeIndicator = true) richiede un motivo o un codice motivo, ad esempio ABL (Imballaggio aggiuntivo). L’errore nasce spesso quando supplementi come imballaggi extra o piccoli quantitativi vengono esportati solo come importo sulla riga.

Soluzione

Per ogni onere di riga, aggiungi un motivo (BT-144) e/o un codice motivo (BT-145): cbc:AllowanceChargeReason / cbc:AllowanceChargeReasonCode in cac:InvoiceLine/cac:AllowanceCharge in UBL, ram:Reason / ram:ReasonCode in ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge in CII.

Azioni rapide

Esempi validi

  • Onere di riga con BT-145 = ABL e BT-144 = "Imballaggio speciale"

Esempi non validi

  • Importo di onere di riga 3,00 senza BT-144 né BT-145

Esempi di codice

XML valido
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>ABL</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Special packaging</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
XML non valido
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">3.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>

Campi interessati

Strumenti di validazione