Vai al contenuto principale

Riferimento

Esporta Markdown

BR-41 L’importo dello sconto di riga è obbligatorio

Ogni sconto di riga (BG-27) deve avere un importo dello sconto di riga (BT-136).

Descrizione del problema

ERRORE

Regola di business della norma EN 16931 (CEN)

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-41 regola di base 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-41: regola di base 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

È una regola di base della norma EN 16931. Uno sconto di riga (BG-27) riduce l’importo netto di riga (BT-131); senza importo il calcolo della riga non può essere verificato, e spesso ne deriva anche un errore di calcolo di riga. Lo schema UBL richiede già cbc:Amount, quindi BR-41 compare soprattutto nelle righe CII il cui sconto contiene solo una percentuale o un motivo, ad esempio un tasso di sconto ripreso da un listino.

Soluzione

Aggiungi cbc:Amount al cac:AllowanceCharge di riga con cbc:ChargeIndicator false (CII: ram:ActualAmount in ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge). Se è nota solo la percentuale, calcola l’importo come importo base × percentuale ÷ 100.

Azioni rapide

Esempi validi

  • BT-136 = 3,00 su uno sconto di riga

Esempi non validi

  • Sconto di riga CII con motivo e percentuale ma senza ram:ActualAmount (BT-136); in UBL un cac:AllowanceCharge senza cbc:Amount è già un errore di schema XML

Esempi di codice

XML valido
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator>
      <udt:Indicator>false</udt:Indicator>
    </ram:ChargeIndicator>
    <ram:CalculationPercent>10.00</ram:CalculationPercent>
    <ram:BasisAmount>30.00</ram:BasisAmount>
    <ram:ActualAmount>3.00</ram:ActualAmount>
    <ram:Reason>Damaged packaging</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>
XML non valido
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator>
      <udt:Indicator>false</udt:Indicator>
    </ram:ChargeIndicator>
    <ram:CalculationPercent>10.00</ram:CalculationPercent>
    <ram:BasisAmount>30.00</ram:BasisAmount>
    <ram:Reason>Damaged packaging</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>

Campi interessati

Strumenti di validazione