Guide

How to verify a Peppol ID — a 60-second guide

You have a Peppol identifier and you need to confirm the recipient is real and reachable before sending an invoice. Here's the 60-second flow.

1. Recognise a Peppol identifier

A Peppol participant ID is two parts joined by a colon: a four-digit ISO 6523 issuer scheme code, and an issuer-specific value.

  • 0208:0848934496 — Belgian CBE.
  • 9925:BE0413404747 — Belgian VAT.
  • 9957:FR79410820010 — French VAT.
  • 0106:KVK33014286 — Dutch KvK.

2. Look it up

Use the public API:

curl https://peppolcheck.fr/api/v1/participant/0208:0848934496

Or paste the ID into the homepage search.

3. Read the result

The response is a JSON object with two interesting top-level fields:

  • directory — Peppol Directory record (name, country, document types).
  • smp — SMP access point (URL, hostname, transport profile).

Reachability rule:

  • Both non-null → reachable, route is live.
  • smp only → reachable, sparse registry metadata.
  • directory only → known on the registry but no live route. Treat as not reachable.
  • 404 → not on Peppol.

4. Confirm the document type

Check that the document you intend to send (Invoice, CreditNote, Order, OrderResponse, DespatchAdvice) is in the directory.docTypes array. If it isn't, your invoice will bounce.

For AI agents

Drop the /mcp Streamable-HTTP server into Claude, ChatGPT, or any MCP-capable runtime and call the peppol_lookup tool. Same result, native function call.

Related guides