Hybrid PDF workflow

ZUGFeRD API

Teams shipping invoices into German and French accounting workflows often need one file that humans can read and machines can parse.

The real problem is not naming the standard, it is generating a hybrid PDF correctly, embedding the XML, and validating the result before customers or finance systems reject it.

PDF/A-3 outputFactur-X = ZUGFeRDValidation included
01QuoteCash

Hybrid output

POST /api/v1/invoices/zugferd returns a base64 PDF and the generated XML in one response after embedding XML into the PDF/A-3 document.

02QuoteCash

Validation path

The route validates generated XML and still returns artifacts plus validation details when the document fails checks, which is useful for repair workflows.

03QuoteCash

Shared access model

The same business-scoped API key model, plan quotas, and optional Stripe metered usage apply here as on the other public API endpoints.

API details

How QuoteCash handles ZUGFeRD and Factur-X PDF generation

QuoteCash exposes hybrid invoice generation at POST /api/v1/invoices/zugferd. The endpoint turns a JSON invoice payload into Cross Industry Invoice XML, validates that XML, generates a PDF, and embeds the XML into the PDF/A-3 output before returning both artifacts in one response.

ZUGFeRD 2.x and Factur-X 1.x are the same standard rather than separate products. The validation-only endpoint accepts zugferd, factur-x, facturx, and cii as aliases for the same validator target, so one integration surface covers the naming difference.

Because the response includes both artifact and validation result, teams can route failures into exception handling without rebuilding the same PDF/XML pair locally.

Audience fit

Who is this for?

German freelancers

Freelancers often need a readable PDF that still carries machine-readable invoice data. A hybrid format helps when buyers are not all on the same receiving infrastructure yet.

Belgian SMBs

Cross-border teams can reduce document branching by using a single hybrid invoice path instead of maintaining several PDF generation variants.

SaaS developers

Developers building billing products need a backend output they can return directly to users or archive in storage. Getting both PDF and XML in one response keeps the pipeline simpler.

Agencies and resellers

Validation feedback in the response makes it easier to diagnose whether the issue is the request payload or the generated document, which matters during migrations and pilot rollouts.

ERP integrators

Integrators care about predictable status and artifact handling. Including validation result plus file output is easier to wire into exception queues than a black-box PDF export.

Search intent

Frequently Asked Questions

What is the difference between ZUGFeRD and Factur-X?
ZUGFeRD and Factur-X are the same standard. ZUGFeRD is the German name and Factur-X is the French name for the same EN 16931-aligned hybrid invoice format.
Does QuoteCash return a hybrid PDF or only XML?
The ZUGFeRD endpoint returns a hybrid PDF together with the generated XML and validation details. In this codebase, the XML is embedded into a PDF/A-3 file before the response is returned.
Can I validate a Factur-X or ZUGFeRD XML separately?
Yes. POST /api/v1/validate accepts format values such as zugferd, factur-x, facturx, and cii, then returns structured validation results.
Why does a ZUGFeRD API return 422 even when the file was generated?
The API returns 422 when the request payload is accepted but the generated document fails validation. The response still includes the PDF, XML, and validation details so you can repair the source payload.
Is ZUGFeRD suitable for teams working across Germany and France?
Yes, because ZUGFeRD and Factur-X are the same format under different local names. That makes it useful when one integration has to support German-speaking and French-speaking customers.