Factur-X is a Franco-German e-invoicing standard which complies with the European e-invoicing standard EN 16931. The Factur-X specifications are available on the FNFE-MPE website in English and French. The Factur-X standard is also called ZUGFeRD 2.2 in Germany.
This library enable you to manage your Factur-X PDF invoices files :
- Generate Factur-X PDF invoice from regular PDF invoice and Factur-X XML file
- Extract Factur-X XML from Factur-X PDF invoice
- Validate Factur-X XML against the official Factur-X XML Schema Definition
composer require atgp/factur-x
You can see the code from test page from "tests" directory, also here some simple examples of implementation :
<?php
// Include or autoload (with Composer) all library classes
// Generates Factur-X PDF invoice from PDF and Factur-X XML
$writer = new \Atgp\FacturX\Writer();
$facturxPdf = $writer->generate($pdf, $facturxXml);
// Extracts Factur-X XML
$reader = new \Atgp\FacturX\Reader();
$facturxXml = $reader->extractXML($facturxPdf);
// Validates Factur-X XML against official Factur-X XML Schema Definition
$validator = new \Atgp\FacturX\XsdValidator();
if (false === ($isValid = $validator->validate($facturxXml)) {
var_dump($validator->getErrors());
}
// ... or throw exceptions if error(s) are occurred
$validator->validateWithException($facturxXml);
More options are available, look at source code for more information.
This project is licensed under MIT License
- v2.0.0 [BC] : 2023-11-06
- Requires php 7.4+
- Refactor classes to clarify uses
- Simplify requirements for "smalot/pdfparser"
- Import external links on generated factur-x pdf
- v1.1.0 : 2019-01-09
- Upgrade Factur-x xsd to v1.0.06
- Fix PDF-A compliance regarding endobj and ICC profile
- v1.0.0 : 2019-01-09
- Requires php 5.6+
- First version of the library to read, check and write factur-x documents