ZUGFeRD CII EN 16931

Edit a ZUGFeRD Invoice in Your Browser, Free

Your customer's system refused the invoice, or a supplier sent you a broken file? Drop it here: every field becomes editable, you repair the errors and download a valid ZUGFeRD invoice again.

Drop one PDF or XML file here, or click to select it. Single invoice per run.

Meets the standards EN 16931 ZUGFeRD / Factur-X XRechnung KoSIT GoBD Archive PDF/A-3

How It Works

Upload, correct, download: the whole repair in one sitting.

Step 1

Hand Over the Broken File

A PDF with embedded XML or a bare CII XML both work. If a plain PDF has no XML at all, AI reads the printed values instead.

Step 2

Change What Failed

The form opens with the extracted data in place. Adjust the offending values; totals and tax groups recalculate on every keystroke.

Step 3

Download the Repaired Invoice

A new ZUGFeRD PDF/A-3 is generated with the corrected XML inside, checked against the official rules before it reaches you.

Get a Refused ZUGFeRD Invoice Accepted

One failed rule and the file bounces: DATEV will not import it, the buyer's workflow refuses it. Repair the data here and send a file that passes.

Nothing Is Locked

From the seller's USt-IdNr. to the last line item's tax rate: the extracted invoice opens as a form and every value in it can be rewritten.

Aimed at the Usual Failures

Mismatched tax totals, a forgotten IBAN, a missing Leitweg-ID, empty country codes: the errors German AP systems and portals refuse invoices for are exactly the fields this form exposes.

The Rest of the File Survives

Attachments, notes, charges, and every field you leave alone travel into the rebuilt invoice untouched, so a one-field fix stays a one-field fix.

Proven Valid Before You Get It

The rebuilt file must pass the EN 16931 schema and business rules before the download begins; a file that would bounce again never leaves the server.

Repairing a ZUGFeRD Invoice That Was Refused

The message rarely says more than 'invoice rejected'. Somewhere between you and your customer, a piece of software opened the XML inside your ZUGFeRD file, tested it against the EN 16931 rules, and threw the whole document out. Until the data is fixed, nobody books the invoice and nobody pays it. Upload the file above: the editor unpacks every field into a form, you correct what is broken, and a minute later you have a valid ZUGFeRD invoice to send again.

Where ZUGFeRD invoices get stuck

Germany has no central B2B invoicing portal, so the rejection usually happens at the receiving end: the buyer's accounts payable software, an invoice inbox service, or the DATEV import at their tax advisor. Each of these runs the official Schematron rules over the embedded XML and refuses files that fail. Public-sector invoices are stricter still: the federal platform (OZG-RE) and the state portals validate XRechnung submissions on upload and bounce them immediately with a list of rule violations.

Typical errors behind a rejection

Most refused ZUGFeRD files fail on one of a few recurring points:

  • Tax totals that disagree: the 19% and 7% groups do not match the line amounts, or rounding was done in the wrong place
  • No usable seller identification: the VAT ID (USt-IdNr.) and tax number are both absent
  • An IBAN missing even though the payment means says credit transfer
  • A missing Leitweg-ID on an invoice to a public authority
  • Wrong or empty country codes in the addresses
  • A profile mismatch: the XML declares one ZUGFeRD profile but carries the fields of another

Every one of these is a value in a field, and a field can be edited. There is no need to rebuild the invoice from a blank page or to chase the software that produced it.

Fix the file in the browser, keep the rest intact

Drop the refused invoice into the editor and it reads the CII XML out of the PDF/A-3 (a standalone XML file works too). The parties, dates, references, line items, tax rates, and payment data all land in an editable form. Change only what is wrong: whatever you leave alone, including embedded attachments, notes, and document-level charges, is written back into the regenerated file exactly as it arrived. The result is validated against EN 16931 before the download starts, so the same error cannot ride along twice.

When the broken invoice is one you received

Since the E-Rechnungspflicht took effect, every German business must be able to receive e-invoices, and sooner or later a supplier will send one your software cannot swallow. Repairing it here gets your bookkeeping unblocked: extract, correct, reimport. For the VAT record, ask the supplier for a corrected original as well; under German VAT law (Paragraph 14 UStG) the invoice document is theirs to fix, and the GoBD expects you to archive what you actually received.

Verify first, then resend

If you want to see the complete rule report before deciding what to change, validate the original file first. The validator names each violated rule and the field behind it, which makes the edit afterwards a two-minute job:

Editing has a limit: booked invoices need a Gutschrift

Correcting and resending is legitimate while the invoice is still in transit, meaning it was refused before anyone recorded it. An invoice that your customer has already accepted and posted must stay as it is; German practice corrects it with a credit note (kaufmaennische Gutschrift, type code 381) that references the original:

New to the format, or unsure which profile your customer expects? The guide covers the file structure, the profiles, and the mandate deadlines:

Frequently Asked Questions

What senders and recipients of broken ZUGFeRD files ask.

Because a validation rule failed. Receiving software checks the embedded XML against EN 16931 and the German business rules before accepting it, and a single violation (a tax total that does not reconcile, a missing mandatory identifier, a credit transfer without an IBAN) sinks the entire file. The PDF side can look perfect; the XML is what gets judged.
Yes, that is the point of this page. The editor works on the file itself, so an invoice out of any ERP, accounting package, or online generator can be opened, corrected, and rebuilt here with nothing installed.
You can repair the file so your own processing continues: upload, fix, download, import. The formal invoice correction still belongs to the supplier under Paragraph 14 UStG, so request a reissued original for your records and treat the repaired copy as a working document.
No. Whatever the extraction found but the form does not surface (embedded documents, note texts, allowances, delivery data) is kept alongside and merged back when the invoice is rebuilt.
Yes. A PDF without a structured layer goes through AI reading instead of XML parsing: the printed invoice is transcribed into the form. What you download afterwards is a genuine hybrid ZUGFeRD file, XML included.
Once the invoice has been booked by the recipient. At that point German practice calls for a credit note (type code 381) referencing the original rather than a silently altered document; the credit note generator on this site builds one. Editing is for invoices that bounced before being recorded.
Yes, within the daily allowance and one invoice at a time. A premium account removes the caps and processes up to 100 invoices in a batch.
GoBD Archive

Issuing e-invoices? You must archive them properly.

Since 2015, the GoBD, the tax office's rules for digital records, have applied to every business, freelancers included: digital invoices must be kept as the original file, unchanged, exportable and readable for the whole 8-year retention period. With the e-invoicing mandate a print no longer counts. Our archive takes care of it for you.

  • Every invoice stored exactly as it arrived: XML, PDF or photo
  • Locked against changes, so nothing can be altered afterwards
  • A second copy in another German data centre
  • Find any invoice by date and export it with an index for your tax advisor
  • Team access: several team members can work in the same archive
  • No ERP, no installation: right next to your e-invoicing tools
Built for the German mandate

One toolkit for ZUGFeRD and XRechnung

Every German business has had to accept e-invoices since January 2025. Both formats are covered here.

ZUGFeRD or XRechnung? Let the assistant pick the tool Tell the chat what you need: it converts, checks, builds, and reads out German e-invoices. Open assistant

Create

Fill one form, get a ZUGFeRD PDF or an XRechnung with Leitweg-ID

Check & repair

Test against EN 16931 and the XRechnung CIUS, then fix what a buyer rejected

Convert

Move an invoice between PDF, CII, UBL and XRechnung

Open & extract

Open a file, see what is inside it, and take the data with you

Look up & automate

Check who you are invoicing, or move the whole flow to an API
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 GoBD-compliant archive
1 free tool use per hour · No card required