Vai al contenuto principale

Riferimento

Esporta Markdown

PEPPOL-EN16931-R120 L’importo netto della riga di fattura deve essere pari alla quantità moltiplicata per il prezzo netto rettificato di sconti e maggiorazioni di riga

Ai sensi della regola Peppol PEPPOL-EN16931-R120, l’importo netto di riga in BT-131 (LineExtensionAmount) deve rispettare la formula: importo netto = quantità fatturata × (prezzo netto ÷ quantità base) + somma delle maggiorazioni di riga − somma degli sconti di riga. Lo Schematron Peppol accetta uno scostamento massimo di 0,02 per assorbire gli arrotondamenti. Errori comuni derivano dalla perdita degli sconti di riga durante la conversione, dall’arrotondamento precoce dei prezzi unitari a 2 decimali o dall’omissione della quantità base (BT-149).

Descrizione del problema

AVVISO

Regola Peppol BIS Billing 3.0 (OpenPeppol)

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:

PEPPOL-EN16931-R120 regola Peppol BIS Billing

Segnalata nella fase 3: Regole nazionali (CIUS).

Livello avviso: da solo, la fattura viene comunque accettata.

Fase 3 · Cosa controlla

  • L’identificativo della specifica in BT-24 seleziona il set di regole, ad esempio XRechnung 3.0 o Peppol BIS Billing 3.0.
  • XRechnung aggiunge le regole tedesche BR-DE: riferimento dell’acquirente (BT-10), contatto del venditore, istruzioni di pagamento.
  • Peppol aggiunge regole PEPPOL-EN16931 e regole per paese. Anche XRechnung applica alcune regole PEPPOL-EN16931.

Codici di esempio

Correzione tipica

Compila nei dati anagrafici i campi richiesti dal set di regole, come la Leitweg-ID in BT-10 o il contatto del venditore.

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. PEPPOL-EN16931-R120: regola Peppol BIS Billing, fase «Regole nazionali (CIUS)». 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

La configurazione KoSIT per XRechnung 3.0.2 segnala PEPPOL-EN16931-R120 come avviso; gli artefatti di validazione Peppol BIS Billing 3.0.21 come errore fatale. Scatta non appena BT-131 si discosta di oltre 0,02 dall’importo ricalcolato da quantità, prezzo netto, quantità base e sconti e maggiorazioni di riga. Cause tipiche sono uno sconto di riga perso nella conversione, un prezzo unitario arrotondato troppo presto a 2 decimali o una quantità base (BT-149) non considerata.

Soluzione

Nel gestionale ERP o nella pipeline di conversione mantieni i prezzi unitari a piena precisione e includi tutti gli sconti e le maggiorazioni di riga nel calcolo di BT-131 prima di arrotondare l’importo di riga a 2 decimali; dividi per la quantità base (BT-149) se è impostata. In UBL 2.1, per quantità 2 a prezzo 100.00 con sconto di riga di 10.00, scrivi <cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount>.

Azioni rapide

Esempi validi

  • Quantità 2 x Prezzo unitario 100.00 EUR meno Sconto riga 10.00 EUR dà BT-131 = 190.00 EUR
  • Quantità 50 x Prezzo unitario 1.2550 EUR (62.75 EUR) dà BT-131 = 62.75 EUR

Esempi non validi

  • Quantità 2 x Prezzo 100.00 EUR meno Sconto 10.00 EUR = 190.00 EUR, ma BT-131 è esportato a 200.00 EUR perché lo sconto non è stato dedotto
  • La formula dà 190.00 EUR ma BT-131 è esportato a 189.90 EUR per errore di arrotondamento

Esempi di codice

XML valido
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  </cac:AllowanceCharge>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>
XML non valido
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">10.00</cbc:Amount>
  </cac:AllowanceCharge>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Campi interessati

Strumenti di validazione