horstoeko / invoicesuite
Extensible PHP library for creating, reading and validating electronic invoices such as XRechnung, ZUGFeRD and Factur-X, with support for custom formats.
Requires
- php: >=8.2
- ext-dom: *
- ext-fileinfo: *
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- ext-zip: *
- goetas-webservices/xsd2php-runtime: ^0.2.17
- horstoeko/mimedb: ^1.0
- horstoeko/stringmanagement: ^1
- jms/serializer: ^3
- mpdf/mpdf: ^8
- prinsfrank/pdfparser: ^2|^3
- setasign/fpdf: ^1.8.6
- setasign/fpdi: ^2.6.7
- symfony/console: ^5.4.46 || ^6.4.14 || ^7.1.7 || ^8
- symfony/finder: ^5.4.46 || ^6.4.14 || ^7.1.7 || ^8
- symfony/process: ^5.4.46 || ^6.4.14 || ^7.1.7 || ^8
- z4kn4fein/php-semver: ^3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- goetas-webservices/xsd2php: ^0
- nette/php-generator: ^4
- nikic/php-parser: ^5
- php-parallel-lint/php-parallel-lint: ^1.4
- phpdocumentor/reflection-docblock: ^5 || ^6
- phpstan/phpstan: ^1 || ^2
- phpstan/phpstan-deprecation-rules: ^2
- phpstan/phpstan-strict-rules: ^2
- phpunit/phpunit: ^9
- rector/rector: ^2
- smalot/pdfparser: ^2.12.3
- squizlabs/php_codesniffer: ^3 || ^4
Suggests
- smalot/pdfparser: A PDF parser under LGPL license (used in InvoiceSuitePdfExtractor)
Conflicts
README
horstoeko/invoicesuite
Table of Contents
License
The code in this project is provided under the MIT license.
Overview
InvoiceSuite is a multi-format library for electronic invoices with the goal of supporting as many formats and real-world variants as possible — from international standards to country-specific profiles. This includes German formats such as ZUGFeRD (and Factur-X, which is closely aligned with it) as well as XRechnung, with XRechnung explicitly supported in UBL syntax. The library also aims to cover interoperability ecosystems such as Peppol.
InvoiceSuite is designed to be extensible: if you follow the defined conventions and interfaces, you can add your own formats, profiles, or converters independently, without having to bend or modify the core.
Dependencies
This package makes use of...
... and Optionally of...
Installation
There is one recommended way to install horstoeko/invoicesuite
composer require "horstoeko/invoicesuite"
Documentation
See our wiki...
- Installation
- Architecture
- Configuration
- Creating an electronic invoice document
- Creating an electronic invoice PDF document
- Reading an electronic invoice document
- Reading an electronic invoice PDF document
- Legacy Support for horstoeko/zugferd
- Validation
- Visualization
- BT-Rules for ZUGFeRD/Factur-X/XRechnung
- Available providers
- Class and method overview
