ZUGFeRD rejected by the ELSTER visualiser as “not an e-invoice” — the fix
Check an e-invoice here
Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.
You received or produced a ZUGFeRD invoice, load it into Germany’s official ELSTER visualiser (“E-Rechnung visualisieren”), and get:
The PDF file is not supported because it is not an electronic invoice in ZUGFeRD format.
Confusing — other tools report the same file as valid. Usually the invoice content is not the problem.
The cause: a legacy metadata namespace
A ZUGFeRD/Factur-X PDF carries, in its XMP metadata, an identifier naming the embedded invoice format. Older tools (and some ERP exports) still write the ZUGFeRD 2.0 namespace:
urn:zugferd:pdfa:CrossIndustryDocument:invoice:2p0#
The current standard is the Factur-X 1.0 namespace:
urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#
The ELSTER visualiser only recognises the newer one. Faced with the old namespace it rejects the file — claiming it is “not an e-invoice”, even though the embedded XML may be fully valid.
Check it with Beleggo
Drop the PDF into Beleggo. Validation runs locally in your browser — the file never leaves your machine. If only the namespace is outdated you get a precise warning instead of a blanket rejection:
PDFA-NS-LEGACY — The XMP metadata uses the legacy ZUGFeRD 2.0 namespace. The invoice is valid but is rejected by some readers (including ELSTER).
That tells “invalid” apart from “valid but legacy metadata” — exactly the distinction the ELSTER message hides.
Fix it
In Beleggo, the auto-fix rewrites the metadata to the current Factur-X 1.0 namespace, leaving the invoice content untouched. Download the result and the ELSTER visualiser accepts it. All local, nothing uploaded.
If you generate ZUGFeRD yourself (e.g. with the Mustangproject CLI), use the
Factur-X parameters (--format fx --version 1) instead of the old ZUGFeRD 2
output so the correct namespace is set from the start.
Frequently asked questions
Why does ELSTER say my ZUGFeRD PDF is not an e-invoice?
Often the invoice is valid but carries the legacy ZUGFeRD 2.0 XMP namespace (urn:zugferd:pdfa:CrossIndustryDocument:invoice:2p0#). The ELSTER visualiser only accepts the current Factur-X namespace (…:1p0#) and otherwise rejects it with a misleading message.
Is my invoice invalid then?
No. The embedded XML can be fully EN 16931-conformant; only the PDF metadata is affected. Beleggo shows this as its own warning (PDFA-NS-LEGACY) instead of rejecting the file outright.
How do I fix it?
Beleggo rewrites the metadata to the current Factur-X 1.0 namespace in one click — locally, no upload. The ELSTER visualiser then accepts the file.