E-invoicing for developers
Peppol e-invoices, without the XML.
Validate, convert and look up Peppol documents with one headless API. Every error comes back in plain English, with the fix and a link to the rule behind it.
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"> <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#…</cbc:CustomizationID> <cbc:ID>INV-2026-0042</cbc:ID> <cbc:IssueDate>2026-09-16</cbc:IssueDate> <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode> <cac:AccountingSupplierParty>…</cac:AccountingSupplierParty> <cac:AccountingCustomerParty>…</cac:AccountingCustomerParty> <cac:LegalMonetaryTotal>…</cac:LegalMonetaryTotal></Invoice>- UBL 2.1 schemawaiting
- EN 16931waiting
- Peppol BIS Billing 3.0.21waiting
- PEPPOL-EN16931-R003
A buyer reference or purchase order reference MUST be provided.
fix: Add the buyer's purchase order number as cac:OrderReference/cbc:ID, or their reference as cbc:BuyerReference.
- BR-CO-15
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
fix: Recompute BT-112 as BT-109 + BT-110, both rounded to two decimals first.
Every finding links to its rule.
One request, checked in three layers: the UBL schema, EN 16931, then the Peppol rules. Nothing you send is stored.
1,103
validation rules, each explained
24
error types, each with a page
14
operations in one contract
Why now
The UK will require e-invoices for VAT invoices from 2029, exchanged over the Peppol network, and much of Europe already does. Most invoicing software was never built to produce a document a machine has to accept.
einvoicing.dev lets you add it without becoming an expert in UBL, EN 16931 and a thousand Schematron rules.
Validate
Check a UBL invoice or credit note against every official rule: the UBL schema, EN 16931 and Peppol BIS Billing 3.0.21. Every finding comes with its official text, a plain-English explanation, and where it can, the fix.
$ einvoicing validate invoice.xmlinvoice: INVALID against peppol-bis-billing-3.0.21 (1 errors, 0 warnings)error PEPPOL-EN16931-R003 [peppol] A buyer reference or purchase order reference MUST be provided. fix: Add cbc:BuyerReference.Convert
Send a clean JSON invoice and get back valid Peppol UBL. Totals and the VAT breakdown are computed from the lines, so the arithmetic rules that reject most invoices cannot fail. An invoice that cannot produce a valid document gets every problem mapped to the field that caused it.
$ einvoicing convert invoice.json -o invoice.xmlConverted: payable 1200.00 (VAT 200.00), validated against peppol-bis-billing-3.0.21.Look up
Find out whether a business can receive Peppol invoices, and which document types it accepts, before you try to send one. Not being registered is an answer, not an error.
$ einvoicing lookup 9932:GB1234567899932:GB123456789 (Example Trading Ltd) is registered on Peppol. accepts Peppol BIS Billing 3.0 Invoice accepts Peppol BIS Billing 3.0 Credit NoteDecisions, made for you
- Nothing you send is stored.
- Documents are processed in memory and discarded. There is no endpoint to fetch one back, because there is nothing to fetch.
- An invalid invoice is an answer.
- Validation returns 200 with valid: false. Error statuses are kept for requests that could not be answered.
- Money is a decimal string.
- "1000.00", never 1000.0. An invoice is the last place to meet floating point.
- Paid plans are never cut off.
- Usage past the allowance is billed, not refused. Rejecting invoices because a counter ticked over is the wrong failure for a compliance product.
- Built for agents too.
- One OpenAPI 3.1 contract, RFC 9457 errors with stable types, and no dashboard: everything is an API call.
Plans
Monthly allowances. Test keys are free and never metered, so CI costs nothing. Prices are announced at launch.
Free
100 documents
100 lookups
No card needed.
Developer
2,000 documents
5,000 lookups
Usage past the allowance is billed.
Pro
20,000 documents
50,000 lookups
Usage past the allowance is billed.
Peppol for API developers
A free guide to the parts of e-invoicing that matter when you build it into software: the four-corner model, what a valid invoice actually needs, and how to test it before HMRC's deadline.
Join the waitlist
The guide when it is out, an explainer on Budget day, and a short note when something changes.
The waitlist opens soon.