Invoice automation that meets the EU mandate — out of the box
Generate, validate, and archive thousands of invoices per day. ZUGFeRD or XRechnung embedded in PDF/A-3, EN 16931-validated, archive-ready.
- Hosted in Frankfurt & Paris
- GDPR-compliant
Why automate invoicing with pdf.xhub?
EU 2025/2026 mandate-ready
Germany B2B receive-mandate (2025), France B2B mandate (2026), Italy SDI (2019). We generate the structured XML they require.
Validate before you embed
Every invoice is schema-checked against EN 16931 + business-rule validators before embedding. Invalid invoices return errors, never silent corruption.
Visual + machine-readable in one PDF
PDF/A-3 wraps your branded invoice plus the structured XML attachment. Customers see the design, tax authorities parse the data.
How invoice automation works
1. POST structured invoice data
Send invoice JSON with seller, buyer, line items, tax breakdown — or pair with invoice-api.xhub.io for full upstream validation.
2. We validate + generate the XML
Schema-check against EN 16931, business-rule validation (VAT IDs, currency, totals consistency), generate the chosen standard's XML.
3. Receive PDF/A-3 with embedded XML
The visual PDF shows your branded invoice. The embedded XML attachment satisfies the tax authority. Archive-ready.
Built for finance, billing, and tax-compliance teams
Whether you ship 10 invoices a month or a million, the same endpoint handles both. Powered by the E-Invoice product underneath, validated against the EU mandate timeline. Pair with batched async-jobs for monthly billing runs, or call sync for transactional receipts. EU render workers, no US data transfer.
Try it in your stack
Same endpoint. Copy as cURL, call from any language.
POST validated invoice JSON, get back PDF/A-3 with embedded ZUGFeRD/XRechnung/Factur-X XML.
curl -X POST https://api.pdf.xhub.io/v1/invoice \
-H "Authorization: Bearer $PDFXHUB_KEY" \
-H "Content-Type: application/json" \
-d '{
"invoice": { "...": "EN 16931 payload" },
"standard": "zugferd"
}' --output invoice.pdfcurl -X POST https://api.pdf.xhub.io/v1/invoice \
-H "Authorization: Bearer $PDFXHUB_KEY" \
-H "Content-Type: application/json" \
-d '{
"invoice": { "...": "EN 16931 payload" },
"standard": "zugferd"
}' --output invoice.pdfFeatures at a glance
Standards & Validation
- ZUGFeRD 2.3.2 (BASIC, EN 16931, EXTENDED profiles)
- XRechnung 3.0+ (German B2G mandatory)
- Factur-X 1.0.7 (French B2B mandatory from 2026)
- EN 16931 schema validation with clear error messages
- PDF/A-3 wrapper with embedded XML attachment
Workflow Integration
- Pair with invoice-api.xhub.io for upstream validation
- Webhook on async batch completion
- Multi-language invoice text (DE, FR, EN, IT, ES)
- PAdES digital signatures for tamper evidence
- Tax-authority-ready: passes Italian SDI, German Leitweg-ID
Platform
- EU-only fleet (Schrems II safe by default)
- VIES VAT-ID + Leitweg-ID validation pre-flight
- Async-batch endpoint scales to 100k+ invoices/run
- Webhook on validation failure for clean reconciliation
- OpenAPI 3.1 with complete E-Invoice schema
- Per-tenant API-key scoping
Powered by these APIs
The product endpoints behind this solution.
Related solutions
Same API, different workflows.
Issue your first compliant E-Invoice
25 invoices/month free forever. EN 16931-validated, ZUGFeRD-ready.