Peppol invoices in 5 lines of code
The Stripe for Peppol.
Ship EU e-invoicing in an afternoon, not 3 weeks. Send JSON, we handle UBL XML, BIS 3.0 compliance, and Peppol delivery. TypeScript-native. Zero XML.
$ npm install @getpeppr/sdk
or:
npm install @getpeppr/sdk
·
pnpm add @getpeppr/sdk
import { Peppol } from "@getpeppr/sdk";
const peppol = new Peppol({ apiKey: "sk_sandbox_..." });
const invoice = await peppol.invoices.send({
number: "INV-2026-001",
to: {
name: "Wayne Enterprises",
peppolId: "0208:BE0123456789",
street: "Avenue Louise 54",
city: "Brussels",
postalCode: "1050",
country: "BE",
},
lines: [
{ description: "Arc Reactor", quantity: 1,
unitPrice: 50_000, vatRate: 21 },
],
});
console.log(invoice.status); // "submitted"Stop wrestling with XML
The typical Peppol integration takes 3-5 weeks of reading documentation. Ours takes 5 minutes.
Read 47-page "quick start" guide
Understand UBL 2.1 XML schema (150+ elements)
Learn AS4 protocol for message delivery
Handle BIS 3.0 validation rules that contradict each other
Build 150+ lines of XML by hand per invoice
Contact sales for sandbox access
3-5 weeks before first invoice
npm install @getpeppr/sdk
Write JSON — we generate compliant UBL XML
Full TypeScript types with autocomplete
Actionable validation errors with fix suggestions
Instant self-service sandbox with API keys
Done. Ship it.
5 minutes to first invoice
Code that speaks for itself
Every operation is a single, intuitive method call. Full TypeScript autocomplete. No XML, no SOAP, no pain.
import { Peppol } from "@getpeppr/sdk";
const peppol = new Peppol({ apiKey: "sk_sandbox_..." });
const result = await peppol.invoices.send({
number: "INV-2026-042",
to: {
name: "Globex NV",
peppolId: "0208:BE0987654321",
street: "Rue de la Loi 200",
city: "Brussels",
postalCode: "1000",
country: "BE",
},
lines: [
{ description: "Consulting Q1", quantity: 40, unitPrice: 125, vatRate: 21 },
{ description: "Travel expenses", quantity: 1, unitPrice: 350, vatRate: 21 },
],
paymentTerms: "Net 30 days",
paymentIban: "BE68539007547034",
});
console.log(`Sent! ID: ${result.id}`);Everything you need to ship Peppol invoices
Built by developers who spent weeks reading Peppol docs so you don't have to.
Multi-Country Ready
Belgium live today. France, Germany, Netherlands next. One API, automatic country-specific compliance routing.
Built-in Validation
Pre-send validation catches errors before they hit the network. Human-readable messages with fix suggestions, not cryptic Peppol rule IDs.
TypeScript Native
Full type safety from invoice creation to webhook handling. Autocomplete every field. Catch errors at compile time, not runtime.
BIS 3.0 Compliant
Full Peppol BIS 3.0 compliance out of the box. Invoices, credit notes, allowances, attachments, delivery — all handled.
Real-time Webhooks (v0.2)
Get notified instantly when invoices are delivered, accepted, or rejected. No polling. Event-driven architecture like Stripe.
Zero XML
Send JSON, we generate compliant UBL XML. Your developers will never see an angle bracket. That's a promise.
Peppol API comparison
We analyzed the leading Peppol providers. getpeppr offers the best combination of developer experience, multi-country roadmap, and self-service onboarding.
| Provider | SDKs | Pricing | Countries | Self-Service | First Invoice |
|---|---|---|---|---|---|
| getpeppr You are here | TypeScript (more coming) | From EUR 49/mo | Belgium (expanding) | Yes | 5 minutes |
| e-invoice.be | 6 languages | EUR 0.25/invoice | Belgium only | Yes | < 1 hour |
| Recommand | Open source | Free tier + EUR 0.10-0.30 | Belgium (Peppol global) | Yes | Minutes |
| BudgetInvoice | REST API only | EUR 0.12–0.35/invoice | Belgium + NL | Yes | Hours |
| Qvalia | None | EUR 39/mo+ | 15+ | Yes | Minutes-hours |
EU e-invoicing mandates are here
EU mandates are making e-invoicing non-optional for millions of businesses. Belgium is live. France is 6 months away. Germany is next.
Hundreds of thousands of Belgian businesses still not Peppol-ready
Three months after the January 2026 mandate, hundreds of thousands of Belgium's 1.19M VAT-registered businesses are still not Peppol-registered. Don't let your customers be next.
Belgium
LiveJanuary 2026
B2B e-invoicing via Peppol mandatory for all 1.19M VAT-registered businesses.
France
ImminentSeptember 2026
All must receive e-invoices. Large companies must issue. PDP/PPF required. (Announced — previously postponed, subject to regulatory confirmation.)
Germany
UpcomingJanuary 2027
Large enterprises must issue. Full compliance for all by 2028.
European Union
2030July 2030
ViDA directive: mandatory cross-border B2B e-invoicing for all EU member states.
Simple, transparent pricing
Start free. Send your first invoice in 5 minutes. Scale without surprises.
getpeppr offers four pricing tiers from a free sandbox to EUR 399/month for high-volume businesses. All plans include the full TypeScript SDK, built-in validation, and BIS 3.0 compliance.
Sandbox
Test everything. No credit card required.
- Unlimited test invoices
- Full SDK access
- Sandbox environment
- Validation API
- Community support
No credit card. No time limit.
Starter
For developers and early-stage SaaS.
- 100 invoices included
- Live Peppol delivery
- Webhooks & events
- Email support (< 24h)
- Dashboard & analytics
- Up to 3 team members
Pro
For growing businesses.
- 800 invoices included
- Live Peppol delivery
- Webhooks & events
- Belgium + expanding
- Email support (< 24h)
- 99.9% uptime SLA
- Up to 10 team members
Business
For high-volume senders.
- 2,000 invoices included
- Live Peppol delivery
- Webhooks & events
- Belgium + expanding
- Multi-country routing
- Priority email support
- 99.9% uptime SLA
- Up to 25 team members
All prices in EUR. No setup fees. Cancel anytime. Compare to EUR 1,800+/year for traditional Access Point fees.
Frequently asked questions
Which countries can I send invoices to?
Belgium is live today on the Peppol production network. France (September 2026) and Germany (2027) are next on the roadmap. Join the waitlist to get API keys and start sending.
Is the sandbox really free?
Yes. Free forever, unlimited test invoices, no credit card required. When you're ready to go live, plans start at EUR 49/month.
Which countries are supported?
Belgium at launch. France and Germany are on the roadmap. The API is designed for multi-country support from day one.
Do I need to understand Peppol or UBL?
No. Send JSON, we handle the UBL XML generation, BIS 3.0 compliance, and Peppol network delivery. Zero XML knowledge required.
Is getpeppr production-ready?
Yes. The Belgium Peppol integration is live and validated against Storecove's production network. Our SDK has 1,489 passing tests, full BIS 3.0 compliance, and Pro plans include a 99.9% uptime SLA.
How does getpeppr compare to building with raw Peppol?
A typical Peppol integration takes 3–5 weeks: reading UBL 2.1 specs, implementing XML generation, handling AS4 protocol, and managing BIS 3.0 validation rules. With getpeppr, you send JSON and we handle everything. Most developers send their first test invoice in under 5 minutes.
Roadmap
TypeScript SDK, validation, sandbox + production Belgium
Real-time webhooks, Python SDK
France & Germany support
Ready to ship Peppol invoices?
Join the waitlist and be among the first to ship EU e-invoicing without the pain. Free sandbox, no credit card, full SDK access.
By joining, you agree to our Privacy Policy.
$ npm install @getpeppr/sdk Free sandbox forever. No credit card required. Ship invoices in minutes.