TaxLayer
Sign InGet Started Free
Technical2026-06-259 min readby TaxLayer Team

Integrating ZUGFeRD into Your ERP as an Interim Solution

Replacing an ERP system is a multi-year project. The e-invoice deadlines are not. That mismatch is why so many finance teams are looking for an interim solution — something that makes them compliant now without waiting for a full platform migration. ZUGFeRD is unusually well suited to that role, precisely because of how it is built.

> Short answer: ZUGFeRD is a hybrid PDF/A-3 file with embedded UN/CEFACT CII XML, which makes it a natural bridge for legacy ERPs that already produce PDFs. Add the XML at the output stage (e.g. with Mustangproject), use middleware mapping for volume, and parse embedded XML on inbound. Remember: B2G still needs a pure XRechnung.

Why the hybrid format is the bridge

A ZUGFeRD file is a PDF/A-3 document with a machine-readable CII XML payload embedded inside it. This dual nature is the whole point for an interim solution:

  • Your ERP probably already emits a PDF invoice.
  • The recipient still sees a normal, human-readable PDF.
  • The structured XML rides along invisibly, satisfying § 14 UStG.

You are not asking a twenty-year-old system to learn a new output format from scratch. You are attaching structured data to output it already produces.

Get the profile right first

ZUGFeRD has several profiles, and not all of them are legally valid invoices:

ProfileValid invoice?Typical use
MINIMUMNoBooking aid only
BASIC-WLNoBooking aid (no line items)
BASICYesSimple invoices
EN 16931YesStandard compliant invoice
EXTENDEDYesComplex line/tax scenarios
XRECHNUNGYesXRechnung-conformant profile

If your interim output lands on MINIMUM or BASIC-WL, you have not produced a valid e-invoice — those are booking aids, not invoices. Target EN 16931 or higher.

Interim pattern 1: converter/library at output

The lightest-weight approach is to bolt a converter onto the output stage. An open-source library such as Mustangproject can take the PDF your ERP already generates and embed EN 16931-compliant CII XML into it, producing a proper PDF/A-3.

This is ideal when volumes are modest and the ERP's data is clean. You change one step at the end of the pipeline and leave the core system untouched.

Interim pattern 2: middleware with mapping for volume

When you issue thousands of invoices, per-document patching does not scale. Here you place middleware between the ERP and the sending channel. The middleware:

  • Reads the ERP's structured export (a flat file, an intermediate XML, an API feed)
  • Maps those fields to EN 16931 business terms consistently
  • Emits the finished ZUGFeRD (or XRechnung) file

The advantage is consistency: master-data and tax-mapping logic lives in one place, not scattered across document templates. Get the mandatory field mapping right once and every invoice inherits it.

Interim pattern 3: inbound mailbox parsing

The interim story is not only about sending. Incoming ZUGFeRD files can be automated too. An inbound mailbox parser monitors a mailbox, opens each received PDF, extracts the embedded CII XML, and hands the structured data to your booking process — turning received e-invoices into automatic postings.

The failure case is a supplier who sends a plain PDF with no embedded XML. There is nothing to extract. That document has to be converted into a real e-invoice first before it can enter the automated flow.

Don't forget the B2G exception

One thing an interim ZUGFeRD setup does not cover cleanly: the public sector. B2G submission via the federal platform expects a pure XRechnung XML, not a hybrid PDF. Some states accept ZUGFeRD from profile EN 16931, but do not assume it. Keep a separate path that emits XRechnung for authority recipients — see sending XRechnung to government agencies.

Archive the XML, not the print

Whatever pattern you adopt, the XML is authoritative in a hybrid file. Under GoBD you must archive that original structured XML unaltered for 8 years — archiving only a printout is not sufficient. Make sure your interim pipeline stores the file it actually sent.

A converter you can drop in immediately

If you need to fill gaps in an interim setup — a legacy system that only makes PDFs, or the occasional supplier PDF that needs converting — you do not have to build it all at once.

TaxLayer converts an existing PDF invoice into a validated ZUGFeRD or XRechnung file, ready to send or import, while you plan the larger rollout. The first two conversions each month are free — no credit card required.

Frequently asked questions

Why is ZUGFeRD good for an ERP interim solution?

ZUGFeRD is a hybrid PDF/A-3 file with embedded UN/CEFACT CII XML. Legacy systems that can already emit a PDF invoice can attach the structured XML, giving you a bridge without replacing the whole ERP.

Which ZUGFeRD profiles count as valid e-invoices?

Valid invoice profiles are BASIC, EN 16931, EXTENDED, and XRECHNUNG. The MINIMUM and BASIC-WL profiles are not valid invoices — they are booking aids only.

Can I use a library to add ZUGFeRD XML to my PDFs?

Yes. Open-source libraries such as Mustangproject can embed EN 16931-compliant CII XML into an existing PDF/A-3 at the output stage — a common interim pattern.

How do I handle high invoice volumes in the interim?

For volume, place middleware with mapping between the ERP and the output channel. It transforms ERP records into EN 16931 fields consistently, rather than patching each document individually.

Can ZUGFeRD be used for public-sector invoices?

Generally no. B2G submission needs a pure XRechnung. Some states accept ZUGFeRD from profile EN 16931, but the federal platform expects XRechnung XML. Keep a separate path for B2G.

How do I extract data from incoming ZUGFeRD automatically?

An inbound mailbox parser can open received PDFs, extract the embedded CII XML, and feed it to your booking process. If a supplier sends a plain PDF instead, convert it first with TaxLayer.

Convert PDF invoices now

Try TaxLayer for free — 2 conversions per month, no credit card required.

Get started