Open-Source Libraries and Tools
Inofficial page on free Factur-X, Order-X and Deliver-X (and XRechnung) libraries and tools.
ZUGFeRD/Factur-X is a standard to embed machine readable XML in electronic invoice PDFs.
Libraries
Python
-
Akretion’s factur-x is a BSD-licensed library
PHP
-
@gp has a factur-x library for PHP
-
horstoeko has MIT licensed PHP projects for ZUGFeRD, Order-X and e.g. a Visualizer
C++
-
Ghostscript, in it’s core a C++ library, can be used in a way that it actually produced proper PDF/A-3 Factur-X
.net/ C#
-
ZUGFeRD-csharp, library for .net/ C#
Java
-
Konik GPL Java and C# library for ZUGFeRD 1
-
Mustang is an APL Java and .net library for ZUGFeRD 1 and 2(=Factur-X) and a command-line tool to extract, combine and validate. It’s open-source REST API has been continued commercially.
PDF tools
Creation
-
Ghostscript can also be used to create PDF/A files from ordinary PDF
-
iText RUPS can be used, along with a good hex editor to inspect the PDF internal structure, or a Windows-only alternative
-
MuPDF for windows and linux, mutools show can display simple internal structures
-
Open source AI/invoice recognition InvoiceNet
-
Open source OCR/pattern based invoice recognition invoice2data
Validators
-
FNFE uses a odoo plugin which is based on VeraPDF and the CEN Schematron
-
The ZUGFeRD-community online validation is based on Mustang and embeds VeraPDF and the CEN Schematron as well
-
Philip Helgers open-sourve-validator Phive can validate almost any invoice XML, including XRechnung, unfortunately not covering PDF-hybrid formats
-
VeraPDF, validates PDF-A,
-
Exiftool allows to quickly check PDF/A meta data,
Official Sources
-
The ZUGFeRD Infopaket includes schema and schematron, example files, specs, codelist and a refererence (called technical appendix)
-
The CEN Schematron can be used to validate ZUGFeRD/Factur-X XML
Other tools
ZUGFeRD/Factur-X Creating
-
The open source accounting application Fakturama
-
Factur-X extension for LibreOffice is a LibreOffice extension to generate Factur-X invoices from LibreOffice Calc published under the GPL licence (video tutorial)
ZUGFeRD/Factur-X Consuming
-
Open-source homebanking application: Hibiscus
Display
-
The XRechnung XSLT can be used to convert ZUGFeRD/Factur-X to HTML
-
Ultramarin Viewer is a freeware viewer for XRechnung based on these XSLTs, additionally
-
OpenXRechnungToolbox is an open source cross platform XRechnung viewer as well as
-
Quba-Viewer, a open source cross platform multi format viewer (also displaying ZUGFeRD/Factur-X PDF and XML)
Miscellaneous
-
Additional data is a python project to support extensions for certain industries like logistics, adding additional information to structured invoices (e.g. the invoice is for kilometres and the additional data contains the amount of miles)
-
Swiss army knife conversion tool, use e.g. it’s commandline tool EIGOR to convert interchangably between CII, UBL and FatturaPA
-
A little python script to remove personal data from CII invoices
-
Philip Helger published a java library to convert UN/CEFACT CII to UBL
-
Auratech published a tool cii to ubl and vice versa https://github.com/Auratechcom/converter_ubl_cii_invoice_xml
-
There is a OpenXRechnungToolbox to visualize and validate XRechnung and Leitweg-IDs
-
There is an interesting parser for the EN16931 specification documents
-
xpdf has a interesting pdfdetach command line tool to extract the XML from the PDF