The e-invoicing API for every EU mandate
POST one universal JSON invoice. InvoXML routes it by destination_country and returns the legally required XML — FatturaPA 1.2 for the Italian SDI, XRechnung 3.0 for Germany, Factur-X 1.08 for France, Peppol BIS 3.0 for 14 EU countries — validated against the official XSD schemas and Schematron business rules before it leaves the API.
No SDK lock-in · Stateless, EU-hosted · Free sandbox tier
Standards-compliant output, generated from the official rule-sets
JSON invoice in, compliant e-invoice XML out
Select a destination country to inspect the exact request payload and the validated XML InvoXML returns. These are real converter outputs, checked against the published XSD and Schematron rules.
The XML on the right is the actual converter output for the request on the left — element order, namespaces and code-lists exactly as the national specification requires.
One JSON schema replaces four XML mappings
FatturaPA, XRechnung, Factur-X and Peppol UBL each demand a different syntax, element order, namespace set and code-list. InvoXML hides all of it behind a single, versioned JSON contract.
Send JSON
POST your invoice to /convert with a destination_country. One schema covers every output format.
Map & validate
InvoXML builds the target XML in the mandated element order, then validates it against the official XSD schema and the EN 16931 / national Schematron rules.
Submit clean XML
Receive ready-to-submit FatturaPA, XRechnung, Factur-X or Peppol BIS — no post-processing, no SOAP, no vendor SDK.
The whole integration in one request
Authenticate with your RapidAPI key, POST the invoice, read the XML body. There is no step four.
# Convert a universal invoice to XRechnung (Germany) curl -X POST "https://rapidapi.com/Banzaidev/api/invoxml-eu-e-invoicing-format-converter/convert" \ -H "X-RapidAPI-Key: <YOUR_KEY>" \ -H "X-RapidAPI-Host: invoxml-eu-e-invoicing-format-converter.p.rapidapi.com" \ -H "Content-Type: application/json" \ --data-binary @invoice.json
# pip install requests import requests with open("invoice.json") as f: payload = f.read() res = requests.post( "https://rapidapi.com/Banzaidev/api/invoxml-eu-e-invoicing-format-converter/convert", headers={ "X-RapidAPI-Key": "<YOUR_KEY>", "X-RapidAPI-Host": "invoxml-eu-e-invoicing-format-converter.p.rapidapi.com", "Content-Type": "application/json", }, data=payload, ) res.raise_for_status() xml = res.text # validated FatturaPA / XRechnung / Factur-X / Peppol XML
// Node 18+ — native fetch import { readFile } from "node:fs/promises"; const payload = await readFile("invoice.json", "utf8"); const res = await fetch("https://rapidapi.com/Banzaidev/api/invoxml-eu-e-invoicing-format-converter/convert", { method: "POST", headers: { "X-RapidAPI-Key": "<YOUR_KEY>", "X-RapidAPI-Host": "invoxml-eu-e-invoicing-format-converter.p.rapidapi.com", "Content-Type": "application/json", }, body: payload, }); if (!res.ok) throw new Error(`InvoXML ${res.status}`); const xml = await res.text();
Five REST endpoints, one payload, predictable errors
Select an endpoint to see what it accepts, what it returns and how it fails.
Everything compliance requires, nothing it doesn't
XSD + Schematron validated
Every document is checked against the published schemas and the EN 16931 business rules before the response is sent. Invalid input fails fast with a structured 422.
One JSON, four syntaxes
A single universal payload routes to FatturaPA, XRechnung CII, Factur-X CII or Peppol UBL automatically, based on destination_country.
Pre-flight validation
Dedicated /validate and /validate-xml endpoints let you check any payload or generated XML without spending a conversion.
14 EU countries
Peppol BIS coverage across the network, plus the national CIUS for Italy (SDI), Germany (Leitweg-ID, BR-DE) and France (Chorus Pro buyer reference) out of the box.
Plain REST, plain errors
JSON in, XML out, deterministic status codes. No SOAP envelopes, no client certificates, no proprietary SDK to maintain.
Stateless & GDPR-aligned
No database, no stored invoices. Processing happens in-memory on EU infrastructure (Google Cloud, Milan); nothing is retained beyond the request lifetime.
The e-invoice formats EU mandates actually require
National CIUS implementations and the pan-European Peppol network, generated from the same payload.
FatturaPA 1.2
The mandatory Italian format for B2B, B2C and PA invoicing, in the exact SDI XML structure with CodiceDestinatario routing.
XRechnung 3.0
The German CIUS in CII syntax, with Leitweg-ID routing, BR-DE business rules and the mandatory seller contact group.
Factur-X 1.08
The French–German hybrid profile (ZUGFeRD 2.4) on EN 16931, with the Chorus Pro buyer reference, ready for the September 2026 B2B mandate.
Peppol BIS Billing 3.0
The cross-border standard on the Peppol network, with the correct EAS endpoint scheme per country: BE, NL, PL, ES, AT, SE, DK, FI, PT, NO, CH and more.
Transparent API plans, billed through RapidAPI
Every plan includes all four formats, full XSD + Schematron validation and the complete API surface. Hard monthly limits on every tier — no overage, no surprise billing.
Loading plans…
Validated against the official rule-sets — on every call
InvoXML doesn't just build XML, it proves it. Output is checked against the published XSD schemas and the EN 16931 / Peppol / national Schematron rules before you ever see it.
Make EU e-invoicing a single API call
Subscribe on RapidAPI and convert your first invoice in minutes — the Sandbox tier is free.