Officiële regeltekst
[PEPPOL-EN16931-R046] Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.
De normatieve tekst is Engels en wordt ongewijzigd geciteerd.
Waarom deze fout optreedt
Wanneer een brutoprijs (BT-148) is opgegeven, moet de nettoprijs (BT-146) exact gelijk zijn aan de brutoprijs min de korting op de artikelprijs (BT-147); er is geen tolerantie. In UBL vergelijkt de regel cac:Price/cbc:PriceAmount met cac:Price/cac:AllowanceCharge/cbc:BaseAmount min cbc:Amount; in CII ram:NetPriceProductTradePrice/ram:ChargeAmount met ram:GrossPriceProductTradePrice/ram:ChargeAmount min ram:AppliedTradeAllowanceCharge/ram:ActualAmount. De controle faalt wanneer de korting uit een percentage wordt afgeleid en apart wordt afgerond, of wanneer netto- en brutoprijs een verschillend aantal decimalen hebben.
Zo lost u het op
Formule: PriceAmount = BaseAmount - Amount (UBL) / NetPrice ChargeAmount = GrossPrice ChargeAmount - ActualAmount (CII), vergeleken als exacte decimalen. Bereken eerst het kortingsbedrag en leid daaruit de nettoprijs af, met hetzelfde aantal decimalen voor alle drie de waarden (tot vier decimalen is gebruikelijk voor prijzen). Kunt u het paar bruto/korting niet exact reproduceren, laat dan de korting op prijsniveau en de brutoprijs weg en geef alleen de nettoprijs, wat altijd volstaat.
Voorbeeld (geldig)
<cac:Price>
<cbc:PriceAmount currencyID="EUR">85.50</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">4.50</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">90.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
Wat de validator controleert
Gecontroleerd element (context):
UBL
cac:Price/cac:AllowanceChargeTest (XPath):
not(cbc:BaseAmount) or xs:decimal(../cbc:PriceAmount) = xs:decimal(cbc:BaseAmount) - xs:decimal(cbc:Amount)CII
rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePriceTest (XPath):
not(ram:ChargeAmount) or xs:decimal(../ram:NetPriceProductTradePrice/ram:ChargeAmount) = xs:decimal(ram:ChargeAmount) - u:decimalOrZero(ram:AppliedTradeAllowanceCharge/ram:ActualAmount[1])
Controleer uw factuur
Sleep uw XML of PDF naar de validator; elke overtreden regel linkt naar zijn pagina hier. Gratis, zonder account, het bestand wordt niet opgeslagen.
Dezelfde controle via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateGerelateerde regels
PEPPOL-EN16931-R001Identificatie van het bedrijfsproces (BT-23) ontbreektPEPPOL-EN16931-R002Maximaal één notitie op documentniveau toegestaan, tenzij koper en verkoper…PEPPOL-EN16931-R003Noch kopersreferentie noch inkooporderreferentie opgegevenPEPPOL-EN16931-R004Specificatie-identificatie is niet die van Peppol BIS Billing 3.0PEPPOL-EN16931-R005Btw-boekhoudvaluta is gelijk aan de factuurvalutaPEPPOL-EN16931-R006Slechts één gefactureerd object toegestaan op documentniveauPEPPOL-EN16931-R007Identificatie van het bedrijfsproces heeft een verkeerd formaatPEPPOL-EN16931-R008Document bevat lege elementen
Veelgestelde vragen
Wat betekent PEPPOL-EN16931-R046?
PEPPOL-EN16931-R046 is een peppol bis billing 3.0-regel: Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.
Wordt mijn factuur geweigerd vanwege PEPPOL-EN16931-R046?
Ja. PEPPOL-EN16931-R046 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.
Voor welke formaten geldt PEPPOL-EN16931-R046?
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.