Skip to content
forked from atgp/factur-x

PHP library to manage your Factur-X / ZUGFeRD 2.0 PDF invoices files

License

Notifications You must be signed in to change notification settings

bodabodah/factur-x

This branch is 1 commit ahead of, 10 commits behind atgp/factur-x:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ff238a3 · Mar 7, 2024

History

50 Commits
Jan 9, 2019
Mar 7, 2024
Nov 6, 2023
Jan 9, 2019
Oct 23, 2023
Oct 24, 2023
Nov 6, 2023
Nov 6, 2023
Jan 9, 2019
Nov 6, 2023
Nov 6, 2023

Repository files navigation

PHP Factur-X library

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

Table of contents:

Requirements

  • PHP 7.4+
  • Composer
  • FPDI (MIT License)
  • Smalot (LGPL License)

Installation

Install with Composer

composer require atgp/factur-x

Usage

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.

License

This project is licensed under MIT License

Changelog

  • 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

About

PHP library to manage your Factur-X / ZUGFeRD 2.0 PDF invoices files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%