A Factur-X invoice is more than its totals. The structured heart of a Factur-X 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 spreadsheet that backs the charges, or a second copy of the invoice as a plain PDF. 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 system chose to show.
Where attachments live in a Factur-X or CII invoice
The EN 16931 European standard 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 Factur-X file, 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 Factur-X PDF is just a PDF/A-3 wrapper around this CII, the attachments are found in exactly the same place whether you upload the hybrid PDF or the standalone XML.
Embedded files versus external links
Not every supporting document is embedded. A BG-24 entry can instead point to an external URI (BT-124), a plain link to a document hosted somewhere else. Those two cases are very different in practice. An embedded payload is self-contained: the file is right there in the invoice, 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, nothing opened
Drop in a Factur-X PDF or a standalone CII XML and the extractor returns one ZIP, each attachment under its own filename, ready to use. 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 CII viewer. Need to check a CII file before you send it? Validate it against EN 16931 in one drop.