SchemaGuard by Ironbark Digital · EN 16931 / Peppol / XRechnung Reference
← All 294 EN 16931 / Peppol Rules & Live Validator
WARNING Official EN 16931 / Peppol / CIUS Rule BT/BG Fields: BT-48

PEPPOL-COMMON-R056-2 — E-Invoice Validation Rule & Fix

Fixture ID: peppolBadDutchIdentifiers · XPath: /ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID

1. Why This Rule Triggers (Diagnostic Message)

The buyer VAT identifier (BT-48) is "NL123456789". It starts with "NL", so Peppol reads it as a Dutch VAT number, and a Dutch VAT number has exactly one written form: "NL", nine digits, the letter "B" and two digits, as in NL123456789B01. This one does not match it. PEPPOL-COMMON-R056-1 asks the same of an electronic address under scheme 9944; this rule asks it of every VAT identifier, whatever scheme the party is addressed under. Peppol flags this one as a warning rather than a rejection, so the document will be delivered, but a VAT number in any other form fails a VIES lookup and the buyer's own checks against it. Peppol added this rule in BIS 3.0.21 as a warning, to give senders time to correct their data, and has said the Dutch identifier rules become fatal in a later release. This is a Peppol BIS Billing 3.0 profile rule: it applies because profile is "peppol-bis-3". It does not apply to the en16931, xrechnung-ubl or xrechnung-cii profiles, whose validators will accept the same document.

2. How to Fix PEPPOL-COMMON-R056-2

Write buyer.vatId in the form the Dutch tax administration issued it: "NL", the nine digits, "B" and the two-digit suffix, with no spaces, dots or hyphens. If the party is not Dutch, the value should not start with "NL": use the prefix of the country that issued the number.

3. Valid Code / Payload Example

"vatId": "NL123456789B01"
Test & Validate XML / JSON in Live SchemaGuard Validator →