Guide
Troubleshooting
Errors you might hit, what they actually mean, and the shortest path to resolving them.
"Recipient is not registered on Peppol"
The directory lookup did not find the participant identifier you provided, or the recipient's record exists but excludes the document type you are trying to send (invoice vs credit note).
What to try:
- Confirm the identifier scheme. Most EU customers are identified by VAT number (e.g. scheme
9925for Belgium,9930for Germany). Stripe sometimes stores VAT numbers without a scheme prefix, so you may need to override the scheme on the send screen. - Ask the customer if they are on Peppol at all. Many businesses are not. If they are not, you cannot deliver via Peppol — send them the Stripe-hosted invoice link instead.
- Check whether the customer accepts the document type you are sending. Some recipients are registered for invoices but not credit notes.
"Validation failed"
The generated UBL did not pass the Peppol BIS Billing 3.0 schematron rules. The error message will name the specific rule that failed.
Common causes:
- Missing buyer VAT or registration number on the Stripe customer — add it on the customer record in Stripe and refresh the send screen.
- Inconsistent currency or tax handling on the invoice itself. Peppol BIS expects a single document currency and a tax-total that matches the line totals to the cent.
- Discount lines that produce mathematically inconsistent VAT rates. Check the Stripe invoice and reissue if needed.
No credit is consumed when validation fails: you can fix the underlying data and start the send again.
"VAT difference left for 0% VAT"
This rejection comes from the Peppol access point validating your VAT totals against your registered VAT status. The access point thinks you are not allowed to charge VAT on this invoice, so the VAT amount you declared cannot live in the standard-rate bucket and shows up as a leftover in the 0% bucket.
The two scenarios that trigger this:
- You charge VAT but you are registered as VAT-exempt. If your business is under a small-enterprise / franchise regime (e.g. Belgian Article 56bis kleine onderneming), you must invoice at 0%. Update the Stripe invoice and reissue.
- You are VAT-subject but Peppost has not been told. Peppost defaults to "Subject to VAT" whenever a VAT number is configured for your account, so this should be the common case. Email support if your account is misconfigured (we mark franchise accounts as
vatStatus 3on a per-account basis).
"Recipient access point reported an error"
The document was delivered to the recipient's access point but the access point pushed back a downstream error (for example, the recipient's accounting system rejected the document content).
This is treated as a successful network dispatch — the credit is not refunded. Reach out to your customer to understand what their system needs, correct the document in Stripe, issue a credit note if appropriate, and dispatch a corrected invoice.
"Could not fetch the Stripe PDF"
Peppost asks Stripe for the rendered invoice PDF and embeds it inside the Peppol document. If Stripe has not yet generated the PDF — usually because the invoice was finalised seconds ago — the fetch can fail with a 404.
Wait 30 seconds and try again. Stripe normally has the PDF ready very quickly. If you keep seeing the error after a couple of minutes, contact support.
"Stripe connection has expired"
Your Stripe Connect token was revoked, either explicitly from Stripe's dashboard or because the underlying Stripe account was closed.
Open Settings in Peppost and click Reconnect Stripe. You will be redirected through the same OAuth flow as during onboarding. Existing credit balances and history are preserved.
A credit purchase did not credit my balance
Peppost fulfils purchases via a Stripe webhook. In rare cases the webhook may be delayed by a few seconds. Refresh the Credits page; if the balance has not updated within five minutes:
- Check that the payment shows as Succeeded in your Stripe receipt email.
- Email support@peppo.st with the Stripe Checkout session ID (visible on the receipt). We will reconcile manually within one business day.
Still stuck?
Email support@peppo.st with:
- The Peppost send ID (or Stripe invoice ID).
- The error message you saw, verbatim.
- What you have already tried.
We aim to reply within one business day. For pricing or product questions, see the FAQ.