Officiële regeltekst
[PEPPOL-EN16931-R040] Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
De normatieve tekst is Engels en wordt ongewijzigd geciteerd.
Waarom deze fout optreedt
Wanneer bij een korting of toeslag zowel een basisbedrag als een percentage is vermeld, moet het bedrag gelijk zijn aan basis x percentage / 100, met een tolerantie van 0,02. De regel controleert cbc:Amount tegen cbc:BaseAmount en cbc:MultiplierFactorNumeric in cac:AllowanceCharge op document- en regelniveau (UBL), of ram:ActualAmount tegen ram:BasisAmount en ram:CalculationPercent in ram:SpecifiedTradeAllowanceCharge (CII). De controle faalt wanneer het percentage als breuk is geschreven (0.10 in plaats van 10), wanneer het basisbedrag naar een andere basis verwijst dan die waarmee het bedrag is berekend, of wanneer het bedrag anders is afgerond.
Zo lost u het op
Formule: Amount = round(BaseAmount x MultiplierFactorNumeric / 100, 2). Schrijf het percentage als aantal procenten (10 voor 10 %). Stel BaseAmount in op het bedrag waarop de korting daadwerkelijk is toegepast (meestal de som van de betreffende regels) en bereken Amount daaruit. Kunt u geen consistente basis opgeven, laat dan zowel cbc:BaseAmount als cbc:MultiplierFactorNumeric weg en geef alleen cbc:Amount, wat altijd is toegestaan.
Voorbeeld (geldig)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">25.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">250.00</cbc:BaseAmount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
Wat de validator controleert
Gecontroleerd element (context):
UBL
ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceChargeTest (XPath):
not(cbc:MultiplierFactorNumeric and cbc:BaseAmount) or u:slack(if (cbc:Amount) then
cbc:Amount
else
0, (xs:decimal(cbc:BaseAmount) * xs:decimal(cbc:MultiplierFactorNumeric)) div 100, 0.02)CII
ram:SpecifiedTradeAllowanceChargeTest (XPath):
not(ram:CalculationPercent and ram:BasisAmount) or u:slack(if (ram:ActualAmount) then
ram:ActualAmount
else
0, (xs:decimal(ram:BasisAmount) * xs:decimal(ram:CalculationPercent)) div 100, 0.02)
Automatisch herstellen
Deze fout kan automatisch worden hersteld: na uw bevestiging herberekent de checker totalen en btw uit de regelbedragen.
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-R040?
PEPPOL-EN16931-R040 is een peppol bis billing 3.0-regel: Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
Wordt mijn factuur geweigerd vanwege PEPPOL-EN16931-R040?
Ja. PEPPOL-EN16931-R040 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.
Voor welke formaten geldt PEPPOL-EN16931-R040?
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.