ZUGFeRD XRechnung ZIP

Extract Attachments from a ZUGFeRD or XRechnung Invoice

Drop in a ZUGFeRD PDF, an XRechnung XML, or any CII invoice and download every file embedded inside it, packed into a single ZIP: supporting PDFs, images, CSV, and spreadsheets.

Drag and drop your invoice file here, or click to browse.

When you would reach for this

A ZUGFeRD or XRechnung invoice can carry its supporting documents (Anlagen) inside the invoice itself. This pulls them all back out in one step, ready for your GoBD archive.

Every Embedded File, One ZIP

Each Additional Supporting Document (EN 16931 BG-24, carried as a BT-125 embedded object) is decoded from base64 and written into one ZIP under its original filename. XRechnung permits a fixed set of attachment types (PDF, PNG, JPEG, CSV, XLSX, ODS); every one is unpacked.

ZUGFeRD PDF, XRechnung, and CII

Reads the ZUGFeRD PDF/A-3 that embeds the CII, a standalone XRechnung XML, and plain UN/CEFACT CII. The attachments live in the same EN 16931 place whichever you upload.

Attachments Are Never Opened

The embedded bytes are streamed into the ZIP verbatim: nothing is parsed, rendered, or executed on our side. External links (BT-124) are deliberately never fetched.

Nothing Leaves Our Memory

Your invoice is processed in-memory over TLS and dropped the instant the ZIP is returned. No copies, no logs of your data.

How It Works

Three steps from an invoice to a ZIP of its attachments.

Step 1

Drop In the Invoice

Add your ZUGFeRD PDF or standalone XRechnung XML, by drag and drop or a quick browse.

Step 2

We Find the Attachments

The tool reads the Additional Supporting Documents (BG-24) out of the invoice and decodes each embedded binary object (BT-125) back to its original bytes.

Step 3

Download the ZIP

Every attachment lands in one ZIP, each under its own filename, ready to open or keep for GoBD-compliant archiving. If the invoice carries none, you get a clear message instead.

A ZUGFeRD invoice is more than the numbers on the page. The structured heart of a ZUGFeRD file is CII XML, embedded inside a PDF/A-3, and that XML can carry whole documents of its own: a delivery note, a signed timesheet, a CSV that backs the charges, or a supplementary PDF. An XRechnung has no PDF page, yet it carries the same kind of embedded Anlagen inside its XML. Those files travel base64-encoded inside the invoice so they survive transmission intact. This tool pulls them all back out, so you can open, review, or archive exactly what your supplier embedded, not just the fields your accounting or DATEV import chose to show.


Where attachments live in a ZUGFeRD or XRechnung invoice

The EN 16931 European standard, the basis for both ZUGFeRD and XRechnung, defines a business group called Additional Supporting Documents (BG-24). Each entry describes one supporting file: a reference, an optional description, and then either a link to the document or the document itself. When the document is embedded, its bytes are carried as a base64-encoded binary object (BT-125), tagged with a filename and a MIME type.

In UN/CEFACT CII, the syntax inside every ZUGFeRD file and the most common XRechnung syntax, that shows up as an AdditionalReferencedDocument with an AttachmentBinaryObject. Extracting an attachment means reading that base64 payload and decoding it back into the original file, byte for byte. Because a ZUGFeRD PDF is just a PDF/A-3 wrapper around this CII, the attachments are found in the same place whether you upload the hybrid PDF or the standalone XML. XRechnung narrows the allowed attachment types to PDF, PNG, JPEG, CSV, XLSX, and ODS, so what you extract is always one of those.


Embedded files (BT-125) versus external links (BT-124)

Not every supporting document is embedded. A BG-24 entry can instead point to an external URL (BT-124), a plain link to a document hosted somewhere else. The two cases are very different in practice. An embedded payload is self-contained: the file is right there in the ZUGFeRD PDF or XRechnung XML, and extracting it is a safe, offline decode. An external link is a URL that could point anywhere.

This tool only extracts what is embedded in the invoice itself. It never follows external links: fetching a URL that arrived inside a document is a security risk, and whether to open a third-party link is a decision only you should make. So what you download is exactly the content the invoice carried, and nothing it merely referenced.


One drop, one ZIP, ready for your GoBD archive

Drop in a ZUGFeRD PDF or a standalone XRechnung XML and the extractor returns one ZIP, each attachment under its own filename, ready to use or to file away. German record-keeping rules (GoBD) expect an invoice to be retained together with the documents that belong to it, so keeping the embedded Anlagen next to the invoice matters. Nothing is opened along the way: the embedded bytes are decoded and streamed straight into the archive without being parsed, rendered, or executed, and your invoice is handled in memory and discarded the moment the ZIP is ready. Nothing is stored, logged, or passed on.


Where to next

Want to read the invoice itself rather than its attachments? Open it in the XRechnung viewer. Need to check a file before you send it? Validate your ZUGFeRD or XRechnung against EN 16931 and the German CIUS rules in one drop.

Frequently Asked Questions

Everything you need to know about extracting attachments from a ZUGFeRD or XRechnung invoice.

The EN 16931 model, the basis of both ZUGFeRD and XRechnung, lets an invoice carry Additional Supporting Documents (business group BG-24). When a document is embedded rather than merely linked, its bytes ride inside the CII XML as a base64 binary object (BT-125), with a filename and MIME type. In a ZUGFeRD PDF those are files carried alongside the visible invoice; in an XRechnung they are the Anlagen embedded in the XML. Typical examples are a delivery note, a timesheet, or a CSV backing the line items.
ZUGFeRD PDFs (the hybrid PDF/A-3 that embeds CII XML), standalone XRechnung XML (CII or UBL syntax), and plain UN/CEFACT CII. XRechnung restricts embedded attachments to a defined set of formats (PDF, PNG, JPEG, CSV, XLSX, and ODS); whichever are present are unpacked.
You get a clear message rather than an empty download. Many XRechnung files carry no attachments at all, and an invoice that only references a document by external link has nothing embedded to extract.
No. A supporting document can point to an external URL (BT-124) instead of embedding its content. We never follow those links, both to keep the request safe and because only you should decide whether to fetch a third-party URL. Only content embedded in the invoice itself is extracted.
Never. The file is processed in memory over TLS and discarded the moment the ZIP is handed back, and the attachment bytes are copied into the archive without ever being opened. Whatever you keep for your GoBD archive stays entirely on your side.
Yes. The same extraction is available as an API for high-volume workflows. See the API and automation options at invoicexml.com
All the Tools You Need

The full toolkit, all in one place

Rather use classic tools instead of chat? Each action is just one click away too.

Ready for mandatory e-invoicing?

Make every invoice compliant, in a single message

Subscribe to get unlimited tools, choosable compliance profiles and the full set of premium features.

EN 16931 & PDF/A-3b compliant Results in seconds No installation Data never stored
2 free uses per day · No card required