Zum Hauptinhalt springen
Embeds structured invoice data as ZUGFeRD XML into your PDF. Whether content and format meet the e-invoicing rules is on you to verify - this is no tax advice. Not legally binding.
PlusInvoicing

ZUGFeRD XML Embedder

You have a finished PDF invoice but the customer wants an e-invoice? The ZUGFeRD embedder writes structured XML per EN 16931 firmly into your PDF and turns it into a standards-compliant PDF/A-3. And when someone sends you an e-invoice, you validate it here for mandatory elements, profile and arithmetic - before it causes you trouble.

A live look inside

Live preview. It becomes interactive with your account.

What ZUGFeRD XML Embedder does

The e-invoice is no longer a distant prospect in Germany. Since 1 January 2025 every domestic company in B2B must be able to receive and process structured e-invoices. The obligation to issue them phases in: from 2027 for larger turnovers, from 2028 for everyone. A PDF that merely looks like an invoice will no longer do. It needs machine-readable data. That is exactly what this embedder produces and validates.

ZUGFeRD and Factur-X are the hybrid format: an ordinary PDF a human can read, with an embedded XML file a machine reads. Both together in a PDF/A-3, the archival format that permits attachments. XRechnung is the pure XML variant that German authorities require in B2G traffic, addressed via the Leitweg-ID. Both follow the European standard EN 16931, which defines which fields an e-invoice must contain.

The embed tab turns your existing PDF into an e-invoice. You drop the PDF in and supply the invoice data - either through a small form that builds the XML for you, or by uploading a ready XML file. The embedder assembles a PDF/A-3 that carries the XML as an embedded attachment, with the correct metadata so invoicing software actually finds it. The PDF/A-3 assembly itself needs server-side crypto, the rest stays with you.

The validate tab is the other direction. Incoming e-invoices look like any other file at first, but whether the XML is actually correct you cannot see with the naked eye. The checker reads the CII XML and checks the essentials: is the profile (BASIC, COMFORT, EXTENDED, XRechnung) correctly stated in the URN? Are the legally indispensable elements present - invoice number, date, seller, buyer, lines, country codes? And does the invoice add up: do line sums, VAT breakdown and totals form a consistent picture, to the cent?

Staying honest matters: the validator is a pragmatic structural and arithmetic check, not a full Schematron or KOSIT validation. It catches the common and costly errors - missing mandatory fields, wrong profile, sums that do not reconcile, and for XRechnung the extra duties like buyer reference and seller contact. For the last mile before submitting to an authority, the official KOSIT validator remains the reference. But for daily work this check catches most of it, before your bookkeeping does.

Everything runs data-frugally. Validation happens regex-based directly in the browser, without your invoice data wandering anywhere. No account, no cloud, no invoice left lying elsewhere. So whether you are making an old PDF fit for the e-invoice mandate or securing an incoming invoice before booking it - the embedder covers both ends of the e-invoice chain.

Features

Embed XML into PDF

An existing PDF plus ZUGFeRD/Factur-X XML are merged into a standards-compliant PDF/A-3 with correct metadata.

Form or XML upload

Either a small form builds the XML for you, or you upload a ready XML file directly.

EN 16931 & PDF/A-3

Output per European standard EN 16931 in the PDF/A-3 archival format that both humans and machines read.

XRechnung & Leitweg-ID

For public-sector invoices (B2G) with XRechnung 3.0 and Leitweg-ID, including checks of the XRechnung extra duties.

Profile and mandatory-field check

The validator detects the profile in the URN and reports missing mandatory elements like number, date, seller, buyer and lines.

Arithmetic validation

Line sums, VAT breakdown and totals are parsed to integer cents and checked for consistency.

Runs in the browser

Validation is regex-based and happens locally, without your invoice data leaving the device.

How it works

  1. 1

    Pick a tab

    Embed if you turn a PDF into an e-invoice. Validate if you check an incoming e-invoice.

  2. 2

    Provide PDF or XML

    To embed, drop in the PDF and supply the data by form or XML upload. To validate, load the XML.

  3. 3

    Set profile and mandatory fields

    With the form you pick the profile and enter the mandatory fields. For XRechnung the Leitweg-ID belongs there.

  4. 4

    Download result or read the report

    Download the finished PDF/A-3. When validating, read the report with errors, warnings and hints.

Who needs this

→Self-employed making an existing PDF invoice e-invoice-ready.
→Businesses obliged to issue e-invoices from 2027/2028.
→Suppliers to public authorities needing XRechnung with a Leitweg-ID.
→Bookkeepers securing incoming e-invoices before booking them.
→Anyone wanting a fast check that a ZUGFeRD XML meets mandatory fields and totals.

Frequently asked questions

What is the difference between ZUGFeRD and XRechnung?

ZUGFeRD (and its French counterpart Factur-X) is a hybrid format: a readable PDF with embedded XML, good for B2B. XRechnung is the pure XML variant without a visual document, required by German authorities in B2G and addressed via a Leitweg-ID. Both follow the EN 16931 standard.

From when is the e-invoice mandatory?

Since 1 January 2025 every domestic company in B2B must be able to receive e-invoices. The obligation to issue phases in: from 2027 for companies with higher prior-year turnover, from 2028 for everyone else. To public authorities (B2G) e-invoices have been mandatory for some time already.

Can I turn an existing PDF invoice into an e-invoice?

Yes, that is exactly what the embed tab is for. You supply your existing PDF plus the invoice data, and the embedder produces a PDF/A-3 with firmly embedded ZUGFeRD/Factur-X XML. What matters is that the visible and the machine-readable data match.

Is the validator a full validation?

No, honestly not. It is a pragmatic structural and arithmetic check that catches the common errors: missing mandatory elements, wrong profile, sums that do not reconcile, and for XRechnung the extra duties. For the formal final sign-off before a submission to an authority, the official KOSIT validator remains the authoritative reference.

What is a PDF/A-3 and why do I need it?

PDF/A is the ISO standard for long-term archiving of PDFs. The PDF/A-3 variant allows arbitrary files to be embedded as attachments - for the e-invoice that is the XML. So the readable document and the machine-readable data stay permanently together in a single file.

Is my invoice data uploaded?

Validation runs regex-based directly in your browser, your data does not leave the device. Only the PDF/A-3 assembly during embedding needs server-side crypto. No account or permanent storage is required for it.

Invoicing

Complete invoicing system: quote, order confirmation, delivery note, invoice, cancellation, c…

Payment Due Calculator

Calculate due dates, cash discount periods, default start and day-exact late payment interest…

VAT Calculator

Calculate net and gross prices with 19% or 7% German VAT. Includes small business check. Free…

GoBD Archive Zipper

Bundle receipts into a GoBD-oriented archive package with checksums and index. All local, no…

REST API & DATEV Export

Access your invoice data via REST API. DATEV-compatible exports for your tax advisor. Automat…

IBAN Calculator

Validate any IBAN or generate a German IBAN from bank code and account number. Checksum and b…

Ready to use ZUGFeRD XML Embedder?

No installation. No account needed to start. Open it right in your browser.

Open now