NordInvoice / Guides / Peppol for SaaS platforms
Peppol e-invoicing for SaaS platforms
Your customers increasingly must send and receive e-invoices over Peppol. Building an access point yourself takes certification and months. The API route: your product keeps its own data model and NordInvoice handles validation, delivery and compliance.
The architecture
- One API key per environment, not per customer. Your backend talks to NordInvoice; your customers never see it.
- A sender profile per customer: their company data, VAT number and Peppol address, stored once and reused on every invoice.
- Webhooks push delivery and receiving events to your product, so your UI stays live without polling.
// one profile per tenant
const profile = await nord.senderProfiles.create({
name: 'Customer BV', countryCode: 'NL',
vatNumber: 'NL123456789B01',
electronicAddress: '12345678', electronicAddressScheme: '0106',
})
// invoices then reference the stored profile
const result = await nord.invoices.create(draft, { send: true })
Receiving, too
Register a customer as a receiver and incoming Peppol invoices land in an inbox you read over the API, with the original UBL available for your own processing. See the receiving docs.
Why teams pick an API over an own access point
- Time: an afternoon of integration against a sandbox, instead of a certification project.
- Compliance: EN 16931 and Peppol BIS rules are enforced on every call and kept current for you.
- Scale: bulk endpoints deliver 10,000 invoices in about 32 seconds in load tests.