Buy EU Invoice Preflight.
Validate EU e-invoices against UBL and national rules before sending. Peppol BIS 3.0 & Factur-X compliant.
Drop-In Integration Stage
OpenAPI 3.1 & Gateway Compatibleimport httpx
response = httpx.post(
"https://api.youstostore.com/v1/invoices/preflight",
headers={
"X-API-Key": "sk_live_your_key",
"Idempotency-Key": "inv-2026-Q3-001"
},
json={
"invoice_number": "INV-2026-Q3-001",
"issue_date": "2026-09-14",
"currency": "EUR",
"seller": {"name": "Acme GmbH", "country": "DE", "vat_id": "DE123456789"},
"buyer": {"name": "Client SAS", "country": "FR", "vat_id": "FR98765432101"},
"lines": [{"description": "API access", "quantity": 1, "unit_price": "299.00", "vat_rate": "19.00"}],
"profile": "xrechnung_3"
}
)
print(response.json()["status"]) # "queued"Developer Tier
Growth Tier
RECOMMENDEDEnterprise Tier
EU Invoice Preflight
**Eyebrow:** Pre-issue checks for German domestic B2B invoices
Engineering Pain & Fragility
A billing record can still fail a receiving workflow. Malformed fields, an unsupported profile, a VAT ID problem, or a rule mismatch can trigger rejection after issue. Finance and engineering then trace payloads while payment waits.
Building a preflight layer also means maintaining technical rules, handling VIES timeouts, generating artifacts, protecting downloads, and retaining evidence. A broad tax platform may be excessive, while a schema validator alone misses much of this operational work.
EU Invoice Preflight focuses on one corridor: domestic business-to-business invoices where both seller and buyer are in Germany. Its job is to reject unsupported inputs early, check the submitted data against the configured rules, attempt VAT validation, and return reproducible output for the next step in your own process.
What the API Solves
The API accepts structured invoice data in EUR: invoice number, issue date, seller, buyer, line items, VAT rates, and either XRechnung 3 or ZUGFeRD 2.3.
Before calling external dependencies, it verifies that both parties are in Germany and checks the format of submitted German VAT IDs. It retries transient VIES failures rather than treating the first timeout as a business-rule failure. The preflight response returns an invoice ID, status, violations, and the rule version used. A read endpoint returns the stored result, VIES evidence reference, and signed links for generated XML and PDF artifacts.
The service is a preflight and artifact-generation component. Your application remains responsible for approval, delivery, filing decisions, accounting treatment, and any legal or tax judgment.
How it works. Step by step.
Map invoice data to the request.
Supply an invoice number, issue date, EUR currency, German seller and buyer details, 1 to 1,000 invoice lines, and either the `xrechnung_3` or `zugferd_2_3` profile.
Create the preflight.
Call `POST /v1/invoices/preflight` with an API key and an idempotency key. Repeating the same request with the same key replays the first response during the 24-hour idempotency window; changing the payload returns a conflict.
Reject unsupported work early.
Non-German seller or buyer countries return `unsupported_corridor` before a VIES request is made. German VAT IDs must use `DE` followed by nine digits.
Run VAT and rule checks.
The service validates submitted VAT IDs through VIES, retries transient dependency failures, and evaluates the invoice against the selected, versioned rules.
Generate artifacts.
The service produces XML for the requested corridor/profile and an invoice PDF, then places both behind expiring signed URLs.
Read the completed result.
Call `GET /v1/invoices/{invoice_id}` to retrieve status, field-level violations, artifact links, and the VIES evidence ID.
Continue in your own delivery stack.
After business approval, pass the artifacts to the filing, archival, Peppol, email, or other transport system you operate or procure separately.
Built for enterprise production standards.
German domestic B2B corridor check before dependency calls
XRechnung 3 and ZUGFeRD 2.3 request profiles
Structured, field-addressed violations
Versioned rule evidence for reproducible decisions
VIES validation with retries for transient failures
XML and invoice PDF generation
Expiring signed artifact URLs
Tenant-scoped API key authentication
Idempotent invoice creation with conflict detection
Stable domain errors for unsupported corridors, VAT unavailability, rule failures, and artifact failures
Bounded request size, VIES usage, and concurrent jobs
Ideal use cases & engineering workflows.
The product is aimed at German SaaS companies, billing platforms, ERP integrators, and finance systems that create domestic B2B invoices from structured data. It fits buyers that already calculate prices and taxes in a system of record and want a technical gate before a separate delivery provider. Teams seeking a pan-European tax engine, Peppol access point, or filing service need another product.
- Validate a German domestic B2B invoice before marking it ready to issue. - Generate XRechnung XML and a human-readable PDF from one structured request. - Gate a billing job when VIES cannot be reached, rather than silently skipping the check. - Show finance teams a field path and message for each detected problem. - Record which rule version produced a decision for later investigation. - Retrieve a VIES evidence reference when responding to a rejected-invoice query. - Add preflight to an existing billing platform without replacing its ledger, tax engine, or delivery provider.
Why buy instead of building internally?
Invoice validation is not a one-off JSON schema. The operational work includes corridor gating, rule versioning, VIES retries, artifact creation, secure downloads, idempotency, tenant isolation, and retrievable evidence. A focused API keeps that work out of the invoice worker and gives finance and engineering a shared error model instead of raw vendor responses.
Build internally if you need to calculate tax liability, support many countries and transaction types, operate a Peppol access point, apply digital signatures, or encode company-specific accounting judgments. EU Invoice Preflight deliberately does not expand into those functions.
Security, privacy and operational integrity.
API-key digests are kept at rest, and the service resolves and scope-checks tenants server-side. Invoice records are tenant-scoped. Signed URLs avoid permanent public artifact links.
The product design calls for EU-region processing, encryption for invoice financial and personal data, a subprocessor register, and erasure controls subject to legal hold. Those deployment and contractual details must be confirmed for the purchased environment; they are not certifications or guarantees in this copy.
For 24 hours, an unchanged idempotent retry replays the first response; changed content under the same key returns HTTP 409. VIES calls retry transient failures and return an error if validation remains unavailable.
Structured errors avoid returning raw vendor failures. Availability targets, support response times, backups, and artifact retention must be agreed in service terms rather than inferred from the contract.
Architectural Scope & Production Boundaries
Questions & answers for engineering leads.
German domestic B2B invoices where both seller and buyer use country code `DE`, the currency is EUR, and the requested profile is XRechnung 3 or ZUGFeRD 2.3.
Deploy EU Invoice Preflight in minutes.
Start with our developer tier on Polar.sh Merchant of Record. Automated EU VAT invoices, instant API key generation, and 99.99% edge uptime SLA.