How to check whether your customer is on the Peppol network
How Peppol addressing works, how to tell if a given VAT or company number is reachable, and what to do when it isn't.
Before you can send an invoice over Peppol, the recipient has to be reachable on the network. Not every company is, and there is no way to guess from the outside — a large customer might not be registered while a small one is. So the practical question is: how do you check, and what do you do with the answer.
How Peppol addressing works
Peppol does not deliver to an email address. Every participant has a participant identifier: a scheme code plus a value, where the value is usually a VAT number or a national company number. A Belgian company, for example, is typically addressed by its enterprise number under the scheme for Belgian registrations.
When someone sends you an invoice, their access point needs to answer two questions about your identifier. First, are you registered at all — does the network know an access point is responsible for you? That is resolved through the network's addressing layer (the SML) down to your SMP, the service metadata record that says where your documents should be delivered and which document types you accept. Second, do you actually accept the kind of document being sent — a BIS Billing 3.0 invoice, say. Both have to be true for delivery to work. A company can exist in the world, and even have a VAT number, without any of this being set up.
If the underlying model — the four corners, access points, the identifier — is still fuzzy, what is a Peppol ID unpacks it in plain terms.
Checking a given customer
The human-facing way to check is the Peppol Directory, the public, searchable index of registered participants. You can look up a company by name or by identifier, and if they appear there with the invoice document type listed, they are reachable. It is a genuinely useful sanity check before you promise a customer you will send them a Peppol invoice.
Two cautions about relying on the Directory alone. Registration in the Directory is opt-in for the descriptive listing, so a participant can be reachable on the network without being easy to find by name — searching by their exact identifier is more reliable than searching by name. And the Directory tells you they are registered, not that a specific document will pass every validation rule for that recipient. It answers "can I reach them", which is the important first question, but not "will this exact invoice be accepted", which depends on the document itself.
What to do when they're not on the network
If a customer is not reachable, that is their gap to close, not yours. Peppol is a network you join by registering through a provider; you cannot register a customer on their behalf, and neither can any sending tool. What you can do is tell them clearly what they need:
- They register as a Peppol participant through an access point or service provider — often the accounting software they already use offers it.
- Once registered, they will have a participant identifier and an SMP record saying they accept invoices.
- At that point they become reachable, and your send will go through.
In the meantime you fall back to whatever you did before — a PDF by email — for that customer, until they are set up. It is worth asking early, because registration is on their timeline, not yours.
How Peppost checks this for you
You do not have to run the Directory lookup by hand before every send. When you start a send in Peppost, it resolves the recipient's identifier against the Peppol Directory automatically and confirms they are registered and accept the document before anything else happens. Crucially, this runs before any credit is spent: a customer who is not on the network is reported back to you, and you are not charged for the attempt. So the "is my customer reachable" check is built into the normal flow rather than being a separate chore.
That check is one reason the step-by-step send walkthrough has a distinct lookup step — it is the moment the network tells you whether delivery is even possible. If a lookup comes back negative or an identifier looks wrong, the troubleshooting guide covers the common causes, and the FAQ answers what the lookup does and doesn't guarantee.
The habit worth forming is simple: check reachability before you commit to a delivery date. For anyone billing through Stripe, that check costs nothing and sits inside the send you were going to do anyway, and the pricing only comes into play once a customer is confirmed reachable and the document actually goes out.