Account
Nederlands

PEPPOL-EN16931-R120: Nettoregelbedrag is niet hoeveelheid maal prijs

Peppol BIS Billing 3.0-regel · Fout · UBL, CII

StandaardPeppol BIS Billing 3.0 (OpenPeppol)ErnstFout: de factuur wordt geweigerdSyntaxUBL, CIIGeldt voorFacturen en creditnota's via het Peppol-netwerk (UBL), inclusief NLCIUS, en elke XRechnung omdat die de Peppol-regels overneemt.

Officiële regeltekst

[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

De normatieve tekst is Engels en wordt ongewijzigd geciteerd.

Waarom deze fout optreedt

Peppol controleert de berekening van elke regel: het nettoregelbedrag (BT-131) moet gelijk zijn aan de gefactureerde hoeveelheid (BT-129) maal de nettoprijs (BT-146) gedeeld door de basishoeveelheid van de prijs (BT-149, standaard 1), plus toeslagen op de regel min kortingen op de regel, met een tolerantie van 0,02. De regel leest cbc:LineExtensionAmount, cbc:InvoicedQuantity, cac:Price/cbc:PriceAmount, cac:Price/cbc:BaseQuantity en de bedragen van cac:AllowanceCharge op de regel (UBL), of ram:LineTotalAmount, ram:BilledQuantity, ram:NetPriceProductTradePrice/ram:ChargeAmount, ram:BasisQuantity en ram:SpecifiedTradeAllowanceCharge (CII). Typische oorzaken: de brutoprijs wordt geëxporteerd in plaats van de nettoprijs, een prijs per 100 eenheden zonder basishoeveelheid, regelkortingen die al van de prijs zijn afgetrokken en nogmaals worden afgetrokken, of een afrondingsverschil van meer dan twee cent.

Zo lost u het op

Formule: BT-131 = round(BT-129 x (BT-146 / BT-149) + Σ toeslagen op de regel - Σ kortingen op de regel, 2). Exporteer de netto-eenheidsprijs in cbc:PriceAmount; geldt de prijs per 10 of 100 eenheden, stel dan cac:Price/cbc:BaseQuantity overeenkomstig in met dezelfde unitCode als de hoeveelheid. Modelleer een regelkorting óf binnen de prijs (korting op prijsniveau) óf als cac:AllowanceCharge op regelniveau, niet beide. Bereken cbc:LineExtensionAmount uit de geëxporteerde waarden, zodat de afwijking binnen 0,02 blijft.

Voorbeeld (geldig)

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">250</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">31.25</cbc:LineExtensionAmount>
  ...
  <cac:Price><cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount><cbc:BaseQuantity unitCode="C62">100</cbc:BaseQuantity></cac:Price>
</cac:InvoiceLine>

Wat de validator controleert

Gecontroleerd element (context):

UBL

cac:InvoiceLine | cac:CreditNoteLine

Test (XPath):

u:slack($lineExtensionAmount, ($quantity * ($priceAmount div $baseQuantity)) + $chargesTotal - $allowancesTotal, 0.02)

CII

ram:IncludedSupplyChainTradeLineItem

Test (XPath):

u:slack($lineExtensionAmount, ($quantity * ($priceAmount div $baseQuantity)) + $chargesTotal - $allowancesTotal, 0.02)

Automatisch herstellen

Deze fout kan automatisch worden hersteld: na uw bevestiging herberekent de checker totalen en btw uit de regelbedragen.

Factuur herstellen →

Dezelfde controle via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Gerelateerde regels

Veelgestelde vragen

Wat betekent PEPPOL-EN16931-R120?

PEPPOL-EN16931-R120 is een peppol bis billing 3.0-regel: 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

Wordt mijn factuur geweigerd vanwege PEPPOL-EN16931-R120?

Ja. PEPPOL-EN16931-R120 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.

Voor welke formaten geldt PEPPOL-EN16931-R120?

Facturen en creditnota's via het Peppol-netwerk (UBL), inclusief NLCIUS, en elke XRechnung omdat die de Peppol-regels overneemt. Syntax: UBL en CII.

Bron: Peppol BIS Billing 3.0.20 (November 2025). Catalogus gegenereerd uit de officiële regelsets op 2026-10-15.