UBL Invoice Generator API
Test the UBL 2.1 REST API, submit your invoice details and download a validated Peppol BIS Billing 3.0 XML. No code required.
Invoice Automation Wherever You Work
Built for developers and AI-driven workflows. Make your invoices compliant on your ERP or AI Agent via our secure MCP server and REST API.
REST API
Full-featured API for developers. Integrate invoice conversion into any stack.
No-Code Platforms
Connect via NoCode platforms like Zapier, Make and n8n, no engineering required.
MCP for AI Agents
Let your AI agents validate and convert invoices autonomously via our MCP server.
Built for Developers
Submit a JSON invoice document, receive a validated Peppol BIS Billing 3.0 UBL 2.1 XML. Built for ultra-high concurrency and sub-second generation.
- Supports all formats: DOCX, XLSX, PDF, images, no preprocessing needed
- Works on scanned and photographed invoices
- Every response validated against official Schematron rules
Supports ZUGFeRD · Factur-X · XRechnung · UBL · CII · EN 16931
API Documentation$ curl -X POST https://api.invoicexml.com/v1/create/ubl \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "invoice": { "invoiceNumber": "INV-2025-001", "seller": { "name": "Acme BV" }, "buyer": { "name": "Example SA" }, "lines": [ { "item": "Consulting", "quantity": 1, "netPrice": 1000, "vatRate": 21 } ] } }' // => 200 OK: returns the validated invoice file
Selling into France? Your UBL can carry the mandate rules too
The French e-invoicing reform is often discussed as a Factur-X story, but the exchange model is syntax-neutral: EN 16931 UBL is a first-class citizen alongside CII, and the mandate's BR-FR "Flux 2" rule set is published in a dedicated UBL binding. If you invoice French buyers over Peppol or deliver UBL 2.1 straight from your ERP, POST /v1/create/ubl lets you hold that document to the French bar in the very call that creates it:
{ "invoice": { ... }, "options": { "profile": "en16931", "rules": ["br-fr"] } }
The rules option composes with every profile the endpoint offers, including the default Peppol BIS Billing 3.0: the CustomizationID your profile choice stamps into the document is not changed, its own rule set still runs in full, and the BR-FR checks are evaluated on top, from the seller's SIREN and both parties' electronic addresses to the coded late-payment, recovery-cost and escompte mentions and the authorised French VAT rates. When something is missing you get the standard 400 findings response with BR-FR rule ids and the exact JSON paths to correct, so a Peppol-first integration becomes France-ready without a single new endpoint. The UBL creation API reference documents the full option.
We keep you up to date.
Integration stays the same.
Invoices go in, validated invoices come out. When an authority publishes a new rule set, we load it on its effective date while the line keeps moving.
You don't track regulatory updates to change the rulebooks. We ship it while it runs, on it's effective dates.
Beyond the Form: Automate Your Peppol UBL Workflow
This form is perfect for one-off invoices. But if you send dozens or hundreds of invoices over the Peppol network, InvoiceXML gives you the tools to automate the full pipeline, from structured data to Peppol-ready UBL 2.1 XML, with zero manual steps.
1. Developer-First REST API
Integrate Peppol UBL generation directly into your ERP, billing system, or custom application with a single HTTP call:
- • Single Endpoint: POST your invoice fields as JSON and receive a validated UBL 2.1 XML back instantly, ready for any Peppol access point.
- • Stateless & Secure: We process your data in memory and return the XML. No financial data is stored or logged.
- • Full Compliance: Every generated XML passes EN 16931 Schematron rules and Peppol BIS Billing 3.0 constraints before delivery, the exact validation a Peppol access point runs on receipt.
- • Global Reach: The same endpoint serves Norway, Denmark, Sweden, Singapore, Australia, New Zealand, and every other Peppol corner, one spec, one API call.
Pro Tip: Check out our API Documentation to see the full request schema and response format.
2. Email Gateway, Send JSON, Receive Peppol UBL
The InvoiceXML Email Gateway is the simplest integration imaginable, no API keys in your code, no webhook setup:
- • How it works: Email a JSON attachment containing your invoice data to your dedicated InvoiceXML gateway address. We generate the UBL 2.1 XML and email it back, validated and Peppol-ready.
- • Zero Setup: Any system that can send an email can trigger UBL generation, legacy ERPs, accounting software, or even a simple script.
- • Batch Support: Send multiple invoice objects in a single JSON array and receive all corresponding UBL XML files in return.
3. No-Code Automation (Zapier, Make.com & n8n)
Connect InvoiceXML to the tools your team already uses, no developer required:
- • ERP & Accounting: Trigger UBL generation automatically whenever a new invoice is approved in your system, no manual export step.
- • Google Sheets / Airtable: Turn a row of invoice data into a Peppol-ready UBL 2.1 XML and route it straight to your Peppol access point.
- • End-to-End Peppol: Combine UBL generation with a Peppol access point connector in the same workflow to fully automate B2G invoice delivery.
Why Peppol UBL Is the Global Standard for E-Invoicing
The Peppol network connects over 400,000 businesses and government entities worldwide. Peppol BIS Billing 3.0, built on UBL 2.1 and EN 16931, is the mandatory invoice format for public procurement in Norway, Denmark, Sweden, Finland, Singapore, Australia, and New Zealand, with rapid B2B expansion underway in the Netherlands, Belgium, and Italy. A single UBL 2.1 document, generated once, can reach any of them.
Complete UBL Toolkit
Everything you need to create, convert, validate, and preview UBL invoices, via REST API or online.
Frequently Asked Questions
Does InvoiceXML store my data?
No. We process your invoice data in memory and discard it immediately after the XML is generated and downloaded. Nothing is persisted.
Can I submit the generated XML directly to a Peppol access point?
Yes. The output is a fully validated UBL 2.1 XML conforming to Peppol BIS Billing 3.0 and EN 16931. You can submit it to any Peppol-certified access point globally, in Norway, Denmark, Singapore, Australia, and beyond.
What is the difference between UBL and CII?
Both are valid EN 16931 syntaxes. UBL 2.1 is the native format of the Peppol network (Peppol BIS Billing 3.0), use it when your recipient or delivery channel is Peppol-based. CII is used by ZUGFeRD and Factur-X hybrid PDFs, which are more common in Germany and France.
Which countries mandate Peppol UBL invoicing?
Peppol BIS Billing 3.0 is mandatory for B2G invoicing in Norway, Denmark, Sweden, Finland, Singapore, Australia, and New Zealand. The Netherlands, Belgium, and Italy are actively extending Peppol to B2B transactions. The EU's ViDA directive will further expand mandatory electronic invoicing across all member states by 2028.
Can I automate UBL generation from my ERP via email?
Yes. The InvoiceXML Email Gateway lets any system that can send email trigger UBL generation. Email a JSON attachment to your dedicated gateway address and receive the validated UBL 2.1 XML in reply, no API integration required.
Can I apply the French BR-FR mandate rules to a UBL invoice?
Yes. The French CTC mandate publishes its BR-FR Flux 2 rule set in a UBL binding as well as CII, and /create/ubl exposes it through options.rules: ["br-fr"]. The option works alongside any options.profile, including the default Peppol BIS Billing 3.0, because the mandate rules are validated on top of the profile's own rule set rather than replacing it. The stamped CustomizationID is untouched, and any French-specific gap (a missing SIREN, a VAT rate outside the authorised list, an absent escompte mention) is reported as a finding with a BR-FR rule id and the JSON field path to fix, before the invoice ever leaves your system.
Ready to automate your invoices?
Validate, convert and embed compliant e-invoices through one API. Start your 30-day free trial. No credit card required.