ZUGFeRD (2.x)
The German hybrid PDF/A-3 + CII e-invoice format. The FeRD label for the same artefacts as Factur-X, covering all five EN 16931 profiles.
ZUGFeRD is a hybrid e-invoice format published by FeRD (Forum elektronische Rechnung Deutschland). It pairs a PDF/A-3 document (human-readable) with embedded UN/CEFACT CII D22B XML (machine-readable): the same technical artefacts as Factur-X, which is the French co-label for the same joint standard.
Beliq validates the MINIMUM, BASIC_WL, BASIC and EXTENDED profiles against ZUGFeRD 2.x / Factur-X 1.09.2 (published 2026-08-04); the EN 16931 profile is judged by the generic CEN EN 16931 rules instead (see Validation pipeline). Beliq intentionally uses a version-agnostic label (ZF-2.x) to cover the full ZUGFeRD 2.0-2.x series, because the underlying Schematron and XSD artefacts are the same joint pack.
ZUGFeRD vs. Factur-X
ZUGFeRD and Factur-X are the same wire format: the same CII D22B syntax, the same per-profile XSDs, and the same Schematron pack. FeRD publishes ZUGFeRD for the German market; FNFE-MPE publishes Factur-X for France. The joint pack carries both labels.
The only API-level differences when calling Beliq:
| ZUGFeRD | Factur-X | |
|---|---|---|
standard API value |
"zugferd" |
"facturx" |
| EXTENDED-CTC-FR profile | Not available | extended-ctc-fr |
| Authority | FeRD | FNFE-MPE + FeRD joint |
ZUGFeRD omits the extended-ctc-fr profile because it is a France-only regulatory overlay (the BR-FR-CTC Flux 2 Schematron for the French B2B reform). All other profiles are identical.
Profiles
ZUGFeRD 2.x ships five EN-16931-aligned profiles. All five are supported in Beliq.
| Profile | Beliq value | What it carries |
|---|---|---|
| MINIMUM | minimum |
Header-only structured data (invoice number, dates, totals). |
| BASIC_WL | basicwl |
Basic without line items: header-level data only. |
| BASIC | basic |
Header data plus essential invoice lines. |
| EN 16931 (Comfort) | en16931 |
Full EN 16931 compliance; recommended default. |
| EXTENDED | extended |
EN 16931 plus additional EXTENDED-only fields. |
What Beliq emits
When you call POST /v1/generate with standard: "zugferd":
output: "pdf"→ a PDF/A-3 document with embedded CII D22B XML, attached under the standard filenamefactur-x.xml(the joint attachment name used by both labels).output: "xml"→ the same CII D22B XML without the PDF envelope.
If profile is omitted, it defaults to en16931. The full request schema is on POST /v1/generate.
curl -X POST https://api.beliq.eu/v1/generate \
-H "Authorization: Bearer $BELIQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"standard": "zugferd",
"profile": "en16931",
"output": "pdf",
"invoice": {
"number": "INV-2026-001",
"issueDate": "2026-04-13",
"dueDate": "2026-05-13",
"currencyCode": "EUR",
"seller": {
"name": "Acme GmbH",
"vatId": "DE123456789",
"address": { "street": "Musterstraße 1", "city": "Berlin", "postalCode": "10115", "countryCode": "DE" }
},
"buyer": {
"name": "Bundesministerium für Beispiele",
"vatId": "DE987654321",
"address": { "street": "Beispielweg 42", "city": "Bonn", "postalCode": "53113", "countryCode": "DE" }
},
"lines": [
{
"description": "IT consulting, April 2026",
"quantity": 20,
"unitCode": "HUR",
"unitPrice": 120.00,
"lineTotal": 2400.00,
"vatRate": 19,
"vatCategoryCode": "S"
}
],
"taxSummary": [
{ "vatCategoryCode": "S", "vatRate": 19, "taxableAmount": 2400.00, "taxAmount": 456.00 }
],
"totalNetAmount": 2400.00,
"totalTaxAmount": 456.00,
"totalGrossAmount": 2856.00
}
}'
Validation pipeline
The validation pipeline is the Factur-X one (same artefacts; only the extended-ctc-fr overlay step is absent). What runs depends on the profile’s CustomizationID:
- MINIMUM, BASIC_WL, BASIC and EXTENDED: the per-profile XSD, then the Factur-X 1.09.2 / ZUGFeRD 2.x profile Schematron, which carries the EN 16931 rules itself and replaces the generic layer.
- EN 16931: the CEN CII D16B XSD and the generic CEN EN 16931 Schematron. The profile declares the bare
urn:cen.eu:en16931:2017, which a plain EN 16931 CII document also carries, so the joint pack’s own EN 16931 profile Schematron and XSD do not run. It is the default profile, so this is the common path.
See the Factur-X page for artefact sourcing details (primary FNFE-MPE / FeRD joint pack; Mustangproject secondary source for MINIMUM and BASIC).
Related
- Factur-X format reference: full technical detail; ZUGFeRD and Factur-X share the same pipeline
- Format reference overview: profiles and output formats for all standards
- Validation artifacts: current Schematron versions and SHA pins
- FeRD: ZUGFeRD official site
- FNFE-MPE Factur-X: official site
- EN 16931