pdf.xhub
EU mandate timeline

EU E-Invoice mandates 2025–2027.
Are you ready?

Italy mandated structured invoices in 2019. Germany’s receive-obligation kicked in 2025. France follows in 2026. If you ship invoices into any EU market, you need ZUGFeRD, XRechnung, or Factur-X — and pdf.xhub generates all three in a single API call.

Mandate timeline

Italy
2019
SDI (Sistema di Interscambio)
All B2B / B2C / B2G domestic invoices
Format: FatturaPA XML
Live
Germany
2025
Wachstumschancengesetz §14 UStG
B2B receive-obligation (all businesses must accept E-Invoices)
Format: ZUGFeRD 2.x or XRechnung 3.x
Live
Germany
2027–2028
Wachstumschancengesetz — staged rollout
B2B send-obligation (all B2B invoices must be E-Invoices)
Format: ZUGFeRD 2.x or XRechnung 3.x
Upcoming
France
2026
Réforme de la facturation électronique
B2B invoices for large companies (≥250 employees)
Format: Factur-X 1.0.7
Upcoming
France
2027
Réforme — full rollout
All B2B regardless of company size
Format: Factur-X 1.0.7
Upcoming

Three standards, one API

ZUGFeRD, XRechnung, Factur-X — all built on EN 16931, all generated by a single endpoint.

ZUGFeRD 2.x
Zentraler User Guide des Forums elektronische Rechnung Deutschland
Hybrid PDF + XML
Germany B2B (recommended for SMBs — visual + machine-readable)
BASICEN 16931EXTENDED
XRechnung 3.x
German federal/state government invoicing standard
Pure XML
Germany B2G (legally mandatory since 2020)
UBLCII
Factur-X 1.0.7
Franco-German hybrid PDF/A-3 + XML
Hybrid PDF + XML
France B2B (binding from 2026)
MINIMUMBASIC WLBASICEN 16931EXTENDED

How pdf.xhub solves this

  • EN 16931 validation built-in
    Every invoice is schema-checked + business-rule-validated before XML embedding. Invalid invoices return clear errors, never silent corruption.
  • PDF/A-3 hybrid output
    Visual PDF for humans + structured XML attachment for tax authorities. One file, two consumers.
  • Tax-authority-ready
    Output passes Italian SDI validators, German Leitweg-ID checks, French Chorus Pro pre-flight.
  • EU-only render fleet
    Frankfurt + Paris workers. Schrems II-safe. No US data transfer in the invoice processing path.

One API call, any standard

Pass standard: "zugferd" / "xrechnung" / "factur-x" — same endpoint, same validation, different XML schema embedded in PDF/A-3.

POST EN 16931-shaped invoice JSON, pick the standard, receive PDF/A-3 with embedded XML.

curl -X POST https://api.pdf.xhub.io/v1/invoice \
  -H "Authorization: Bearer $PDFXHUB_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "invoice": {
      "seller": { "vatId": "DE123456789", "name": "Acme GmbH" },
      "buyer": { "vatId": "FR987654321", "name": "Solaris SARL" },
      "lines": [{ "description": "API access", "amount": 49.0 }],
      "totals": { "net": 49.0, "tax": 9.31, "gross": 58.31 }
    },
    "standard": "zugferd"
  }' --output invoice.pdf

Issue your first compliant E-Invoice today

25 invoices/month free forever. EN 16931-validated, ZUGFeRD-ready.