PHPackages                             thelia/facturx-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. thelia/facturx-module

ActiveThelia-module[PDF &amp; Document Generation](/categories/documents)

thelia/facturx-module
=====================

Generates PDF/A-3 invoices compliant with Factur-X (EN16931) for electronic invoicing

1.0.0(3mo ago)12LGPL-3.0+PHP

Since Feb 8Pushed 3mo agoCompare

[ Source](https://github.com/thelia-modules/FacturX)[ Packagist](https://packagist.org/packages/thelia/facturx-module)[ RSS](/packages/thelia-facturx-module/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Factur-X Module for Thelia 3
============================

[](#factur-x-module-for-thelia-3)

Generates **PDF/A-3 invoices** compliant with the [Factur-X (EN16931)](https://fnfe-mpe.org/factur-x/) standard for French electronic invoicing requirements.

How it works
------------

[](#how-it-works)

The module intercepts Thelia's PDF invoice generation. When an invoice is produced, it:

1. Builds a **CrossIndustryInvoice XML** (CII) from the order data
2. Embeds the XML into the PDF and converts it to **PDF/A-3** using [atgp/factur-x](https://github.com/atgp/factur-x)
3. Archives the resulting PDF to disk
4. Returns the compliant PDF to the user

The process is transparent — existing invoice generation continues to work as before, with Factur-X compliance added on top.

Requirements
------------

[](#requirements)

- Thelia 3
- PHP 8.2+

Installation
------------

[](#installation)

**Via Composer:**

```
composer require thelia/facturx-module
php Thelia module:activate FacturX
php Thelia cache:clear
```

**Manual installation:**

```
git clone  local/modules/FacturX
composer require atgp/factur-x
php Thelia module:activate FacturX
php Thelia cache:clear
```

Configuration
-------------

[](#configuration)

Navigate to **Back-office &gt; Modules &gt; Factur-X** and fill in:

FieldDescription**SIRET**Your company's 14-digit SIRET number**VAT identification number**EU VAT number, e.g. `FR12345678901`**Enable Factur-X**Toggle automatic generation on/offSeller name and address are read from the store configuration (**Settings &gt; Store**).

EN16931 Compliance
------------------

[](#en16931-compliance)

The generated XML covers the EN16931 **comfort** profile:

- **Seller**: name, address, SIRET (BT-30), VAT number (BT-31)
- **Buyer**: name and address from the invoice address
- **Invoice**: number, date, currency, type code (380)
- **Lines**: product name, quantity, unit price, VAT rate
- **Totals**: line total, tax basis, tax amount, grand total, due payable amount

Archive
-------

[](#archive)

Generated Factur-X PDFs are automatically archived on disk, organized by year. The storage path is configurable in the module settings.

File Structure
--------------

[](#file-structure)

```
FacturX/
├── composer.json
├── FacturX.php
├── Config/
│   ├── module.xml
│   └── config.xml
├── EventListener/
│   └── InvoicePdfListener.php
├── Service/
│   └── FacturXService.php
├── Form/
│   └── ConfigurationForm.php
├── Controller/
│   └── Admin/
│       └── ConfigurationController.php
├── I18n/
│   ├── fr_FR.php
│   └── en_US.php
└── templates/
    └── backOffice/
        └── default/
            └── facturx-configuration.html

```

License
-------

[](#license)

This module is part of the [Thelia](https://thelia.net) e-commerce ecosystem.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance81

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

99d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2196919?v=4)[thelia](/maintainers/thelia)[@thelia](https://github.com/thelia)

---

Top Contributors

[![anoziere](https://avatars.githubusercontent.com/u/118798868?v=4)](https://github.com/anoziere "anoziere (2 commits)")

### Embed Badge

![Health badge](/badges/thelia-facturx-module/health.svg)

```
[![Health](https://phpackages.com/badges/thelia-facturx-module/health.svg)](https://phpackages.com/packages/thelia-facturx-module)
```

###  Alternatives

[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k32.1M102](/packages/spatie-browsershot)[barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

2.8k24.8M48](/packages/barryvdh-laravel-snappy)[openspout/openspout

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

1.2k57.6M131](/packages/openspout-openspout)[keboola/csv

Keboola CSV reader and writer

1451.8M21](/packages/keboola-csv)[setasign/tfpdf

This class is a modified version of FPDF that adds UTF-8 support. The latest version is based on FPDF 1.85.

426.1M30](/packages/setasign-tfpdf)[aspera/xlsx-reader

Spreadsheet reader library for XLSX files

52742.2k5](/packages/aspera-xlsx-reader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
