Peppol Participant ID Checker
Check a Peppol participant identifier against the official OpenPeppol scheme registry. Verifies scheme validity, status, length, and checksums — completely offline in your browser.
🔒 Your data never leaves your browser.
Where these schemes and rules come from
In the Peppol eDelivery network, electronic invoices and orders are addressed using a participant identifier formatted as <scheme>:<value>. These identifiers follow the Peppol Policy for the use of identifiers v4.4.0 (2025-02-06) and the published OpenPeppol Participant identifier schemes code list v9.7.
ISO 6523 ICD vs OpenPeppol 99xx private extensions
Of the 105 schemes recognized by OpenPeppol, only 48 are official ISO 6523 International Code Designator (ICD) entries — such as 0088 (GS1 GLN), 0208 (Belgian Enterprise Number), or 0195 (Singapore UEN). The remaining 57 schemes are 99xx private extensions allocated by OpenPeppol before an official ICD was registered.
Active, deprecated, and removed schemes
As countries adopt official ISO 6523 ICDs, legacy 99xx private schemes are phased out. For example, Belgium has removed legacy schemes 9925 (Belgian VAT) and 9956 (Belgian CBE number) and deprecated 0193 in favor of the official ICD 0208. Invoices using removed schemes are rejected by compliant Peppol access points.
What offline validation proves — and what it does not
This checker validates the structure, scheme code, length limits (maximum 130 characters), and scheme-specific check digits (such as GS1 Mod-10 for GLN 0088 and Mod-97 for Belgian 0208) entirely inside your browser. No data leaves your machine.
A passing check confirms that the identifier is structurally well-formed and uses a recognized scheme. It does not query the Peppol SML or SMP network directories to confirm whether a business has registered with an access point or is currently accepting documents.
Every check this tool runs (10 rules)
PID-N01 Network registration requires a directory lookup
This check confirms the identifier format, scheme status, and checksum consistency. It does not query the Peppol Directory or access points to determine if the participant is currently registered on the Peppol network.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-P01 Stripped transport URN prefix
The SML/SMP eDelivery URN prefix "iso6523-actorid-upis::" was recognized and removed.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-F01 Format must follow scheme:value
A Peppol participant identifier must be formatted as <scheme>:<value> (for example, 0088:5798000000000 or 0208:0899965307).
Fix: Provide the identifier in the format <scheme>:<value>.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-S01 Unknown participant identifier scheme
Scheme "{scheme}" is not registered in the OpenPeppol Participant identifier schemes code list.
Fix: Use a recognized 4-character scheme code from OpenPeppol.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-S02 Participant identifier scheme has been removed
Scheme "{scheme}" ({name}) has been removed from the Peppol code list and cannot be used for newly issued documents.
Fix: Use an active scheme instead.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-S03 Participant identifier scheme is deprecated
Scheme "{scheme}" ({name}) is deprecated in OpenPeppol and should not be used for newly issued documents.
Fix: Migrate to an active scheme.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-L01 Identifier value exceeds maximum length
The identifier value is {length} characters long, exceeding the Peppol Policy maximum limit of 130 characters.
Fix: Ensure the identifier value does not exceed 130 characters.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-C01 Invalid GS1 GLN (0088) check digit
GS1 Global Location Number ({value}) check digit failed: expected {expected}, but found {actual}.
Fix: Correct the 13th digit of the GLN.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-V01 Value does not match scheme format
Value "{value}" does not conform to the expected format for scheme {scheme} ({pattern}).
Fix: Format the value according to the scheme rules.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
PID-E01 OpenPeppol private 99xx extension
Scheme {scheme} is an OpenPeppol 99xx private extension rather than an official ISO 6523 ICD code.
Source: Peppol Code Lists — Participant identifier schemes (OpenPeppol)
About these rules. Each one has an identifier, a severity and a plain-English explanation. Every source link is registered and re-checked against the live page rather than linked from memory; this tool's sources were last re-verified on 1 November 2026. How rules are written, tested and kept current →