New endpoints, tools and validation improvements, plus the compliance updates that ship
automatically on their legal effective dates, so your integration never has to chase them.
Compliance
Factur-X 1.0.9.2 / ZUGFeRD 2.5.2
Validation now runs the official Factur-X 1.0.9.2 / ZUGFeRD 2.5.2 corrigendum artifacts, published on 4 August 2026 and effective 1 September 2026, adopted ahead of the deadline. The corrigendum cleans up the EXTENDED profile features introduced with version 2.5: line VAT category information became optional for the new line subtypes, the VAT breakdown rules now permit more than one breakdown per category, and a rounding inconsistency in the line total check was corrected. The French CTC rule sets moved to the matching 1.4.0.03 release. Generated documents are unchanged and existing invoices keep validating exactly as before; the only visible difference is that a few upstream finding identifiers carry new names, such as CII-SR-470 replacing BR-CO-27.
Changed
XRechnung output is now UBL by default
Every route that produces an XRechnung document now emits the UBL syntax by default: POST /v1/create/xrechnung, /v1/transform/to/xrechnung, /v1/convert/ubl/to/xrechnung, and /v1/convert/cii/to/xrechnung previously returned the CII binding. Both bindings are legally equivalent XRechnung, carry the same specification identifier (BT-24), and pass the same KoSIT rule set before delivery; UBL is the syntax German receivers see most in practice. On POST /v1/create/xrechnung the new options.syntax field selects the binding explicitly: ubl (the default) or cii. The options.version field was removed from the same endpoint; the API always produces the specification version currently in force and switches on the authority's effective date, announced ahead of time. Validation is unaffected, the syntax is auto-detected as always.
New
Coded invoice notes and the French CTC profile on /create
Invoice notes now carry the EN 16931 subject code (BT-21): each notes entry is either a plain string, exactly as before, or an object like { "subjectCode": "PMT", "note": "..." }. The coded form is emitted natively in CII and with the standard #CODE# convention in UBL, and it unlocks the French CTC mandate's mandatory mentions (PMT recovery costs, PMD late-payment penalties, AAB discount terms). With that in place, POST /v1/create/facturx and /v1/create/zugferd generate compliant EXTENDED-CTC-FR hybrids end to end when the declared profile carries the mandate's content: SIREN legal registrations, the billing-mode identifier in businessProcessType, French VAT rates, and the coded mentions, all validated against the official FNFE-MPE rule set before delivery. The delivery location identifier also gained its scheme (BT-71-1, e.g. 0009 for a SIRET). If your workflow needs a property you do not find in the schema, contact us and we will add it.
New
MINIMUM and BASIC WL profiles on the create endpoints
Declaring a header-only profile (specificationId urn:factur-x.eu:1p0:minimum or :basicwl, or their zugferd.de 2p0 equivalents) on POST /v1/create/facturx, /v1/create/zugferd, the /v1/convert routes ending in a hybrid, or /v1/transform/to/facturx and /to/zugferd now produces a compliant hybrid whose embedded XML is exactly the profile's official subset, validated against the profile's schema and rules before delivery. These profiles are booking aids in which the PDF is the legal invoice: your line items still render on the PDF and drive the totals, while the XML carries the header data the profile defines. Line items therefore remain required input, header totals are checked for internal consistency since the XML no longer carries the line evidence, and a case variant of an official profile identifier is normalised to the spec-exact spelling instead of failing downstream. The same applies to declared profiles on POST /v1/create/cii, whose output previously carried full content under a header-only identifier without validating against the declared profile's schema. Documents without a specificationId keep the EN 16931 default, unchanged.
Improved
Hybrid PDF conformance verified with veraPDF
Every hybrid container the API produces is now checked against veraPDF, the reference PDF/A validator: all nineteen accepted profile identifiers, on both the Factur-X and ZUGFeRD endpoints, for PDFs we render and PDFs you upload, plus the Order-X outputs, validate as PDF/A-3B. Two refinements ship with it: the embedded attachment's checksum is written in the exact form ISO 32000 prescribes, so recipient systems that verify attachment integrity now match it, and the colour profile every hybrid carries is compressed, making each response smaller.
Improved
Invoices are validated before embedding
POST /v1/embed/facturx and /v1/embed/zugferd now validate the uploaded XML with the full rule set of the matching validation endpoint (the declared profile's official schema plus the Schematron business rules) before packaging it. A rule violation returns the familiar structured findings list instead of a hybrid PDF that would bounce at the buyer's portal, so errors are caught on your side of the exchange. Warnings never block, and the new skipValidation=true form field keeps packaging-only behaviour available when you need it.
Improved
Hybrid PDF engine upgrades
Any UN/ECE unit-of-measure (BT-130) or payment-means (BT-81) code is now carried into ZUGFeRD PDFs exactly as sent; the previous unsupported-code rejection is gone. The XRechnung reference profile is now embedded under its spec-mandated attachment name xrechnung.xml with the matching CIUS version in the PDF metadata, and every hybrid output is a PDF 1.7 based PDF/A-3b container across both the Factur-X and ZUGFeRD endpoints.
Compliance
EXTENDED-CTC-FR: the French CTC mandate profile
Full support for the Factur-X EXTENDED-CTC-FR reference profile introduced for the French B2B e-invoicing mandate. Validation runs the official FNFE-MPE artifacts (the profile rules plus the BR-FR Flux 2 mandate rules), and both embed endpoints accept the profile's BT-24 identifier and stamp the EXTENDED conformance level the specification prescribes for it.
Improved
Hybrid validation matches recipient validators
Factur-X and ZUGFeRD validation now checks EN 16931 and XRechnung documents against the official profile schema, which is stricter about element placement than the generic CII schema, matching what receiving-side validators enforce. A Specification identifier (BT-24) outside the official profile list is a clear, actionable error on the hybrid endpoints, while standalone CII validation keeps treating it as an open identifier with an advisory warning.
Improved
Unified invoice JSON envelope
POST /v1/extract/json and /v1/parse/json now return the invoice wrapped in an { "invoice": ... } envelope that mirrors the /v1/create request shape, so extracted data can be fed straight back into create without remapping. AI-parsed responses additionally carry a confidence block; deterministic extraction omits it.
New endpoint
Download invoice attachments as a ZIP
POST /v1/extract/attachments pulls the embedded supporting documents (BG-24) out of a UBL, CII, XRechnung, Factur-X, or ZUGFeRD invoice and returns them as a single ZIP download: delivery notes, timesheets, the original order, whatever the sender attached. The attachment bytes are never opened on the server, and documents referenced only by external URI are left for you to fetch.
New
Show the technical details on the PDF
Set includeAdvancedProperties on the Factur-X and ZUGFeRD create endpoints to add an "Electronic invoice details" section to the rendered PDF, listing the technical XML properties a classic invoice layout leaves out: specification and business process identifiers, party identifiers and legal registrations with their scheme codes, electronic addresses, supporting document metadata, and line-level references. Handy when you want the human-readable page to mirror everything in the structured data.
New endpoint
Validation report as a PDF
Every validation can now return a polished PDF report of its findings, styled to match the web viewer, with clickable links from each finding straight to its field reference. Perfect for sharing a compliance check with a colleague or supplier.
Improved
Redesigned invoice PDF
Generated invoice PDFs were reworked to match the clean web viewer layout and typography, so the document you hand to a customer looks the part.
Compliance
Factur-X 1.0.9 / ZUGFeRD 2.5
Updated the Factur-X and ZUGFeRD conformance profiles (MINIMUM, BASIC WL, BASIC, EXTENDED) to the official Factur-X 1.0.9 / ZUGFeRD 2.5 validation artifacts, mandatory from 1 July 2026. Additive and backwards compatible: existing invoices keep validating and no integration changes are required.
New
UBL credit notes
Full credit note support for the UBL syntax on both create and validate, so you can issue and check UBL credit notes the same way you already do invoices.
New
Profile-aware validation
Validation now reads the document's declared CustomizationID and applies the matching rule set automatically: Peppol BIS 3.0, NLCIUS, PINT, and pinned XRechnung versions, each with its own profile rules on top of EN 16931.
New
Bring your own PDF
Pass a pdfUrl to the create endpoints and we embed the compliant XML into your existing PDF instead of rendering ours, so your hybrid Factur-X and ZUGFeRD invoices keep your exact design.
Improved
Richer invoice model
Added preceding invoice references, invoicing periods, and delivery details (BG-3, BG-14, BG-26), plus full ISO country and currency code coverage across every format.
New
Detailed validation report
Validation results are returned as a structured, BT-coded report: every finding maps to its exact EN 16931 business term, so you know precisely which field to fix rather than deciphering a raw rule id.
New tool
Embed, parse and extract
New endpoints to embed structured CII XML into a PDF/A-3 hybrid, parse an invoice back into JSON, and extract clean invoice data from an existing PDF or XML, making it easy to move between formats.
New
Multi-language invoice PDFs
Rendered invoice PDFs are available in English, German, and French, with the layout and labels localised for each language.
and 67 more updates…
We and our partners use cookies to deliver our services and to understand how our website is used.
By using our website, you agree to the use of cookies as described in our
Privacy Policy.