ZUGFeRD
ZUGFeRD / Factur-X is an open european PDF invoice metadata standard. ZUGFeRD invoices embed a XML structure into PDF and look and behave like ordinary PDFs but can also be parsed and paid automatically. ZUGFeRD version 2 matches Factur-X version 1.
This page
ZUGFeRD.org is the incubator and communication hub for and around ZUGFeRD/Factur-X open source projects. Others may also be around.
Our repos.
For people and commercial projects around ZUGFeRD there is the ZUGFeRD-community, which even has a forum. For an English forum please refer to the ZUGFeRD Google Group.
ZUGFeRD/Factur-X Open Source Software
Libraries
Python
- factur-x is a BSD-licensed library
PHP
- @gp has a factur-x library for PHP
Java
- Konik GPL Java and C# library for ZUGFeRD 1
- Mustang is an APL Java library for ZUGFeRD 1 and 2(=Factur-X) and a command-line tool to extract and combine. It also offers a server with REST API
Creation
- Ghostscript can be used to create PDF/A files from other documents and ordinary PDF and even complete Factur-X files
- LibreOffice is an open source office suite with good PDF/A-1 export
- 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
- VeraPDF, validates PDF-A,
- Exiftool allows to quickly check PDF/A meta data,
- The CEN Schematron can be used to validate ZUGFeRD/Factur-X XML
- Konik only ZUGFeRD 1 and now part of a propriary product Zrechnung
- FNFE uses a odoo plugin which is based on VeraPDF and the CEN Schematron
- The new FerdMC checker is based on Mustang and embeds VeraPDF and the CEN Schematron as well
- Philip Helgers open-sourve-valdator Phive can validate almost everything EN16931-y (including XRechnung but not covering PDF)
ZUGFeRD/Factur-X Creating
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)
- Philip Helger published a java library to convert UN/CEFACT CII to UBL
- There is a OpenXRechnungToolbox to visualize and validate XRechnung and Leitweg-IDs
- There is an interesting parser for the EN16931 specification documents