BT-5Invoice currency codeBT-111Invoice total VAT amount in accounting currency
Officiële regeltekst
[PEPPOL-EN16931-R051] All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
De normatieve tekst is Engels en wordt ongewijzigd geciteerd.
Waarom deze fout optreedt
In een Peppol UBL-factuur moet elk bedrag in de factuurvaluta (BT-5) staan; de enige uitzondering is het btw-totaal in de boekhoudvaluta (BT-111). De regel controleert of het attribuut currencyID van elke cbc:Amount, cbc:BaseAmount, cbc:PriceAmount, cbc:TaxAmount, cbc:TaxableAmount, cbc:LineExtensionAmount en alle bedragen in cac:LegalMonetaryTotal gelijk is aan cbc:DocumentCurrencyCode. De fout treedt op wanneer een sjabloon currencyID="EUR" vast codeert terwijl de documentvaluta anders is, of wanneer prijzen op een factuur in vreemde valuta in de valuta van de leverancier worden geëxporteerd.
Zo lost u het op
Genereer elke currencyID uit de waarde van cbc:DocumentCurrencyCode in plaats van deze vast te coderen. Reken bij een factuur in vreemde valuta alle prijzen en bedragen vóór de export om naar die valuta. Behoud precies één cac:TaxTotal zonder subtotalen in de boekhoudvaluta als BT-6 wordt gebruikt; alle andere bedragen, inclusief regelprijzen, blijven in de documentvaluta. Deze regel geldt alleen voor UBL.
Voorbeeld (geldig)
<cbc:DocumentCurrencyCode>SEK</cbc:DocumentCurrencyCode>
...
<cbc:LineExtensionAmount currencyID="SEK">1000.00</cbc:LineExtensionAmount>
<cbc:PriceAmount currencyID="SEK">500.00</cbc:PriceAmount>
Wat de validator controleert
Gecontroleerd element (context):
UBL
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cac:TaxSubtotal/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmountTest (XPath):
@currencyID = $documentCurrencyCode
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-R051?
PEPPOL-EN16931-R051 is een peppol bis billing 3.0-regel: All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Wordt mijn factuur geweigerd vanwege PEPPOL-EN16931-R051?
Ja. PEPPOL-EN16931-R051 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.
Voor welke formaten geldt PEPPOL-EN16931-R051?
Facturen en creditnota's via het Peppol-netwerk (UBL), inclusief NLCIUS, en elke XRechnung omdat die de Peppol-regels overneemt. Syntax: UBL.
Bron: Peppol BIS Billing 3.0.20 (November 2025). Catalogus gegenereerd uit de officiële regelsets op 2026-10-15.