Riferimento
Esporta MarkdownBR-31 L’importo dello sconto a livello documento è obbligatorio
Ogni sconto a livello documento (BG-20) deve avere un importo dello sconto a livello documento (BT-92).
Descrizione del problema
ERRORE
Regola di business della norma EN 16931 (CEN)
Pipeline interattiva
Dove viene controllata BR-31
Fai clic su una fase per vedere cosa controlla, oppure digita l’ID di una regola per trovare la fase che la segnala.
BR-31 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
Regole EN 16931
- 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.
Contesto e significato
È una regola di base della norma EN 16931. Uno sconto a livello documento (BG-20) riduce il totale senza IVA (BT-109) e la base imponibile, quindi senza importo il destinatario non può ricalcolare i totali. Lo schema UBL richiede già cbc:Amount in cac:AllowanceCharge, perciò BR-31 compare soprattutto nelle fatture CII il cui sconto contiene solo una percentuale (ram:CalculationPercent) o un motivo, ad esempio quando è noto solo il tasso di sconto.
Soluzione
Aggiungi cbc:Amount al cac:AllowanceCharge di livello documento con cbc:ChargeIndicator false (CII: ram:ActualAmount in ram:SpecifiedTradeAllowanceCharge). Se è nota solo la percentuale, calcola l’importo come importo base × percentuale ÷ 100.
Azioni rapide
Esempi validi
- BT-92 = 20,00 su uno sconto a livello documento
Esempi non validi
- Sconto CII a livello documento con motivo e percentuale ma senza ram:ActualAmount (BT-92); in UBL un cac:AllowanceCharge senza cbc:Amount è già un errore di schema XML
Esempi di codice
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:Indicator>false</udt:Indicator>
</ram:ChargeIndicator>
<ram:CalculationPercent>2.00</ram:CalculationPercent>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:ActualAmount>20.00</ram:ActualAmount>
<ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge><ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:Indicator>false</udt:Indicator>
</ram:ChargeIndicator>
<ram:CalculationPercent>2.00</ram:CalculationPercent>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>