Peppol-foutcodes

PEPPOL-EN16931-R120: lijnbedrag klopt niet met hoeveelheid × prijs

Foutcode PEPPOL-EN16931-R120 betekent: het nettobedrag van een factuurlijn is niet gelijk aan hoeveelheid × eenheidsprijs, plus toeslagen en min kortingen op die lijn.

Regelset: Peppol BIS Billing 3.0 · Ernst: fout (fatal): een Access Point weigert de factuur · Gecontroleerd met de officiële regels van mei 2026

Wat betekent PEPPOL-EN16931-R120?

De validator toont deze melding (in het Engels, zoals in de officiële regels):

[PEPPOL-EN16931-R120]-Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount

Voor elke factuurlijn rekent de regel na: hoeveelheid (InvoicedQuantity, BT-129) × nettoprijs (Price/PriceAmount, BT-146, gedeeld door de basishoeveelheid BaseQuantity, BT-149, als die er is), plus toeslagen en min kortingen op de lijn. Het resultaat moet overeenkomen met het lijnbedrag (LineExtensionAmount, BT-131). Peppol laat een marge van 2 cent toe: 3 × 99,99 = 299,97 tegenover 300,00 is 3 cent verschil en dus een fout.

Veelvoorkomende oorzaken

  • De eenheidsprijs is afgerond (bijvoorbeeld 33,33 voor een derde van 100), terwijl het lijnbedrag op de onafgeronde prijs berekend is.
  • Een korting op de lijn is in het lijnbedrag verrekend, maar niet als AllowanceCharge op de lijn opgenomen, of omgekeerd.
  • De prijs geldt per verpakking of per 100 stuks, maar de basishoeveelheid (BaseQuantity) ontbreekt.
  • De eenheidsprijs werd inclusief btw ingevuld in plaats van exclusief btw.

Zo los je het op als verzender

  1. Laat het lijnbedrag berekenen uit hoeveelheid × prijs, en niet omgekeerd de prijs uit het lijnbedrag.
  2. Gebruik bij een prijs per 100 of per verpakking het veld basishoeveelheid, of reken de prijs om naar een prijs per stuk met meer decimalen.
  3. Vul de eenheidsprijs altijd in exclusief btw.
  4. Zet kortingen op de lijn als korting (allowance) met een eigen bedrag, niet verwerkt in de prijs én in het lijnbedrag.

Je ontving een factuur met deze fout?

Je kan de factuur niet zelf rechtzetten. Vraag de leverancier om een gecorrigeerde factuur. Vaak gaat het om een instelling in zijn pakket.

Voorbeeld in de XML

❌ Fout

<cac:InvoiceLine>
  <cbc:InvoicedQuantity unitCode="HUR">3</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
  ...
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">99.99</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>
<!-- 3 x 99.99 = 299.97, niet 300.00 -->

✅ Juist

<cac:InvoiceLine>
  <cbc:InvoicedQuantity unitCode="HUR">3</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
  ...
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Beide fragmenten komen uit een volledige testfactuur die we met onze validator hebben gecontroleerd: de foute versie geeft precies deze melding, de juiste versie geen enkele fout.

Goed om te weten

De eenheidsprijs in Peppol mag meer dan twee decimalen hebben. Een prijs van 33,3333 is dus toegestaan en lost veel afrondingsproblemen op.

Controleer je factuur

Plak of sleep je XML in de gratis validator. Je ziet meteen of deze fout (nog) voorkomt, met een link naar de uitleg bij elke melding.

Officiële regel

De volledige regel met de technische test (Schematron) staat in de officiële Peppol-documentatie:

Verwante foutcodes

  • BR-CO-15: Het totaal met btw is niet gelijk aan het totaal zonder btw plus het btw-bedrag.
  • BR-27: De nettoprijs van een artikel op een factuurlijn is negatief. Dat is nooit toegestaan.

Veelgestelde vragen over PEPPOL-EN16931-R120

Hoeveel marge laat R120 toe?

2 cent per lijn. Een verschil van 0,02 of minder wordt aanvaard, vanaf 0,03 volgt een fout.

Mag de eenheidsprijs meer decimalen hebben?

Ja. Het lijnbedrag heeft twee decimalen, maar de prijs mag preciezer zijn, bijvoorbeeld 33,3333.

← Alle Peppol-foutcodes