Guide

Sending invoices

The detailed flow for picking a Stripe document, identifying the recipient on Peppol, and reading the dispatch status.

What you can send

Peppost dispatches two kinds of Stripe document:

  • Invoices that have been finalised in Stripe. Drafts are not eligible because their numbering and totals are not yet authoritative.
  • Credit notes issued against an existing Stripe invoice.

Both are converted to UBL 2.1 following the Peppol BIS Billing 3.0 profile (compliant with EN 16931). The original Stripe PDF is embedded as a human-readable attachment so the recipient sees the same document you do.

The invoices screen

Open Invoices in the sidebar. The list pulls directly from Stripe and shows, for each row:

  • Invoice number and amount
  • Customer name
  • Stripe status (e.g. open, paid, uncollectible, void)
  • Peppost delivery status if you have already attempted a send

Click a row to open the detail view, where you confirm the recipient and dispatch.

Identifying the recipient on Peppol

Peppol routes documents using participant identifiers, not free-text addresses. Most recipients in the EU are identified by their VAT number (scheme 9925 for Belgium, 9930 for Germany, and so on). Some are identified by a national company number.

When you open an invoice, Peppost will:

  1. Pre-fill the recipient identifier from the customer's tax IDs in Stripe, if any are present.
  2. Run a lookup against the Peppol directory and tell you whether the recipient is registered to receive that document type (invoice or credit note).
  3. If the recipient is not registered, the lookup blocks the send before any credit is consumed.

If you know your customer's identifier scheme is different from what Stripe has, you can override the value in the recipient field.

Dispatching

Press Send. Peppost runs the conversion, validates the document against the Peppol BIS schematron, and hands it to the access point.

The dispatch step debits one credit and produces a send record with:

  • A Peppost send ID (used for support requests).
  • The recipient's resolved participant identifier.
  • A timestamp for each status transition.

Reading the delivery status

The dashboard and History page surface the following status values:

  • Sending — the document is in transit through the network.
  • Processed — the recipient's access point acknowledged delivery. This is the terminal success state.
  • Processed by email — the recipient was not on Peppol and was sent the document by email instead, where supported.
  • Error — the recipient's access point rejected the document. The original network error is shown alongside.
  • Cancelled — the send was cancelled before it reached the recipient. The credit is refunded automatically.

Resending and corrections

Once a document has entered the Peppol network it cannot be recalled. To correct a send:

  • Issue a Stripe credit note against the original invoice. Send the credit note through Peppost.
  • Issue a corrected invoice in Stripe and dispatch it the same way as the original.

If a send failed with a recoverable error (typo in the identifier, schematron rule), fix the underlying data and start a new send. The original failed send remains visible in the history with its error message.

Bulk and automation

Today Peppost is interactive — you pick each document and confirm the recipient. We deliberately keep automation off by default so accidental sends do not consume your credits or annoy customers.

If you have a large catch-up to do, get in touch at support@peppo.st — we can usually accommodate a one-off bulk run.

Related