ZUGFeRD 2.4 + Factur-X 1.08
April 13, 2026New output format versions selectable in the finalization dialog, plus a UI for sub-line-items with type selection (DETAIL/INFORMATION/GROUP). Existing 2.3 / 1.07 stays available.
ZUGFeRD 2.4
Latest German hybrid PDF + XML format, selectable via formatOptions.version.
Factur-X 1.08
Latest French hybrid format, selectable via formatOptions.facturxVersion.
Sub-line items
Per invoice line: add sub-items with type DETAIL/INFORMATION/GROUP and expand/collapse.
12 languages updated
bg, cs, de, en, es, fr, hu, it, nl, pl, pt, ro
New Output Formats
ZUGFeRD 2.4 (DE) and Factur-X 1.08 (FR) join the format dropdown in the finalization dialog. Existing versions 2.3 / 1.07 stay the default and remain fully supported.
ZUGFeRD
Choose between 2.3 (default) and 2.4 via formatOptions.version.
Factur-X
Choose between 1.07 (default) and 1.08 via formatOptions.facturxVersion.
Version Selector in the Dialog
Picking ZUGFeRD or Factur-X in the finalization dialog now reveals a new „Version“ dropdown right next to the format. Default values are 2.3 / 1.07 so existing workflows stay byte-stable; pick 2.4 / 1.08 when you need the newer revision.
The selection is forwarded to the API as formatOptions — see the REST API mapping below.
Sub-Line-Items (Unterpositionen)
Each invoice line now has a „+“ button to add sub-items. Sub-items appear indented under the main line, with an expand/collapse chevron. They support all standard fields (description, quantity, unit, price, tax rate, discount).
Sub-Item Types
Real detail line with quantity, price, and tax rate — counts toward totals.
Pure info entry (notes, comments) — no impact on totals.
Group/subtotal marker for structural readability.
REST API Mapping
Frontend formats map to backend format + version flag:
| Frontend format | Backend format | formatOptions |
|---|---|---|
| zugferd-2.4 | zugferd | { version: '2.4' } |
| factur-x-1.08 | facturx | { facturxVersion: '1.08' } |
PDF embedding (ZUGFeRD/Factur-X hybrid) works for both versions.
Example: ZUGFeRD 2.4 request with sub-items
1POST /api/v1/invoice/de/zugferd/generate2 3{4 "invoice": {5 "invoiceNumber": "RE-2026-100",6 "type": "invoice",7 "issueDate": "2026-04-13",8 "currency": "EUR",9 "seller": { "name": "Acme GmbH", "countryCode": "DE", "vatId": "DE123456789" },10 "buyer": { "name": "Kunde AG", "countryCode": "DE" },11 "items": [12 {13 "position": 1,14 "description": "Projekt Q2 — Phase 1",15 "quantity": 1,16 "unitPrice": 10000.00,17 "taxRate": 19,18 "subItems": [19 { "type": "DETAIL", "description": "Konzept", "netAmount": 3000.00 },20 { "type": "DETAIL", "description": "Implementation", "netAmount": 6000.00 },21 { "type": "INFORMATION", "description": "QA-Hinweis: extern abgenommen" },22 { "type": "GROUP", "description": "Schulung", "netAmount": 1000.00 }23 ]24 }25 ],26 "subtotal": 10000.00,27 "total": 11900.0028 },29 "formatOptions": {30 "version": "2.4"31 }32}Example: Factur-X 1.08 request
1POST /api/v1/invoice/fr/facturx/generate2 3{4 "invoice": { /* ... */ },5 "formatOptions": {6 "facturxVersion": "1.08"7 }8}