Collection of real, sample and test elecronic invoices, usually ZUGFeRD, partly with artificial errors
As german businesses have to be able to accept/read/understand domestic B2B e-invoices as of January 1st, 2025
(the law, in particular art. 23 on p. 23) and a bit of it's
background)
and samples are nowhere in sight the XML-Rechnung-Folder is an attempt to
demonstrate how temporary, makeshift, inofficial samples
can be created based on a part of AWV's ZUGFeRD Infopaket using Mustang until someone feels responsible to release official samples.
Please note that the CEN has UBL and CII examples.
We need to parse invoices calculated according to the rules laid down in EN16931-2 using the known codelists as attributes. According to EN16931-1, we have to support the XML syntaxes CII and UBL. Additionally, according to a letter of the BMF, we have to assume that we also have to be able to parse CII embedded into PDF/A files, i.e. Factur-X~ZUGFeRD. I.e., we create three directories, FX for Factur-X, CII and UBL. As a company you can decide which format to send but you will have to accept all three,
Get the ZUGFeRD 2.2 samples by downloading the Infopaket
We put the samples (Factur-X=PDF files) from the EN16931 and XRechnung reference profile (they are EN16931 as well) in the FX folder.
Get Mustang
We can either use Mustang --action extract
or we open
the files in a PDF reader and save their embedded factur-x.xml's
(or, in case of the xrechnung reference profile, the xrechnung.xml)
as .cii.xml.
We switch to the UBL directory and use
--action ubl
to convert all CII files to UBL.
(Mustang uses Philip Helger's great open source
CII2UBL
for that purpose there).
Please note that --action validate
will work on FX and CII
but not yet on UBL files (issue), the offline viewer
Quba should still be capable to render all three formats.
And don't forget to have fun.
Kind regards,
Your Mustang Team
Jochen Stärk
Chief Mustangproject.org ZUGFeRD Amatuer
jstaerk[at]usegroup.de
These are basically test files for two categories of software: ZUGFeRD readers should understand the correct files and ZUGFeRD validators should (not report errors in the correct files and) additionally flag the errors in the incorrect files.