Skip to content
TypeScript SDK

Add Peppol e-invoicing to
your Next.js app.

Install the peppol.sh npm package and send compliant Peppol e-invoices from your Next.js API routes. Type-safe, validated, and delivered. Ship in minutes.

Your code calls. We deliver via Peppol.

Call the peppol.sh API from your Next.js app. We convert your invoice to Peppol BIS 3.0 UBL, validate it, and deliver it to your customer's access point on the Peppol network.

1

Send invoice from your API route

Call peppol.invoices.send() from your Next.js API route or server action with your invoice data as JSON.

2

peppol.sh converts & validates

We convert your JSON to Peppol BIS Billing 3.0 UBL XML and run EN 16931 validation. Type errors are caught at build time, validation errors at runtime.

3

Delivered via the Peppol network

The validated e-invoice is delivered to your customer's Peppol access point. Track delivery status via webhooks or the API.

event flow
Next.js App
└→ peppol.invoices.send()
└→ peppol.sh
JSON → UBL conversion
EN 16931 validation
BIS 3.0 compliance
└→ Peppol Network
└→ Customer Access Point
status: delivered ✓

Everything your Next.js app needs for Peppol

A type-safe SDK that handles the full lifecycle from JSON invoice to Peppol delivery.

TypeScript SDK

Full type definitions for invoices, credit notes, and API responses. Catch errors at build time, not in production.

EU e-invoicing compliance

Invoices are validated against EN 16931 and Peppol BIS 3.0 before delivery. Meet Belgium 2026 and EU ViDA mandates.

Server Actions & API Routes

Works with Next.js API routes, server actions, and route handlers. Call from anywhere in your server-side code.

Webhook support

Receive delivery confirmations, validation errors, and status updates via webhooks to your Next.js API routes.

Sandbox mode

Test your integration with sandbox mode. Send test invoices without touching the live Peppol network.

Error handling

Typed error responses with validation details. Know exactly what field is missing or invalid before delivery.

Three steps. Five minutes.

Get Peppol e-invoicing running in your Next.js app in under five minutes.

1

Install the package

Run npm install @peppol-sh/sdk to add the peppol.sh SDK to your Next.js project.

2

Configure your API key

Add your PEPPOL_API_KEY to your environment variables. Get one free from the dashboard.

3

Send your first invoice

Call peppol.invoices.send() with your invoice data. We handle conversion, validation, and delivery.

EN 16931 validated
Peppol BIS 3.0 compliant
Belgium 2026 ready
EU ViDA ready
Certified Access Point

Pay per invoice. No monthly fees.

0.25/ invoice sent via Peppol
Free sandbox foreverNo monthly feesCredit notes includedVolume discounts
View pricing details →

Common questions

Does the SDK work with the App Router and Pages Router?

Yes. The peppol.sh SDK works with both Next.js App Router (server components, server actions, route handlers) and Pages Router (API routes, getServerSideProps). It runs on the server only.

Do I need to generate UBL XML myself?

No. Send your invoice as a JSON object using the SDK. We handle the conversion to Peppol BIS Billing 3.0 UBL XML, validation against EN 16931, and delivery via the Peppol network.

What if my customer isn't on Peppol?

You can look up any company on the Peppol network using our lookup endpoint. If the recipient isn't registered, the API returns a clear error before you attempt to send.

How do I handle webhooks in Next.js?

Create an API route (or route handler in App Router) and point your webhook URL to it. The SDK includes a helper to verify webhook signatures and parse the payload.

Is this compliant with EU e-invoicing mandates?

Yes. Every invoice is validated against EN 16931 (the EU standard) and Peppol BIS Billing 3.0 before delivery. This covers the Belgium B2B mandate (January 2026), and prepares you for ViDA (EU-wide, 2030).

Can I test before going live?

Yes. Start in sandbox mode to send test invoices via email. When you're ready, complete KYC verification and switch to live mode to deliver via the real Peppol network.

Peppol e-invoicing for Next.js. Ship in minutes.

Install the SDK, configure your API key, and start sending compliant e-invoices from your Next.js app.

Get started →