Title: Tropratik e-Facture
Author: tropratik
Published: <strong>Agẹmọ  7, 2026</strong>
Last modified: Agẹmọ  15, 2026

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/tropratik-e-facture/assets/banner-772x250.png?rev=3599310)

![](https://ps.w.org/tropratik-e-facture/assets/icon.svg?rev=3599310)

# Tropratik e-Facture

 Láti ọwọ́ [tropratik](https://profiles.wordpress.org/tropratik/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/tropratik-e-facture.1.1.2.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/tropratik-e-facture/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/tropratik-e-facture/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/tropratik-e-facture/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/tropratik-e-facture/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/tropratik-e-facture/)

## Àpèjúwe

**Tropratik e-Facture** generates, for every WooCommerce order, a **PDF invoice**
that can be **sent automatically by e-mail** to your customer.

The plugin also provides **optional transmission to Chorus Pro**, the French State
platform. This transmission is never mandatory: you can use Tropratik e-Facture **
solely to produce electronic invoices in a format compliant with the French reform**,
even when you invoice **businesses (B2B)**, without sending anything to Chorus Pro.

As of today, Chorus Pro only accepts invoices addressed to the **public sector**.
The plugin is designed to **evolve** and connect to the **other approved platforms(
PDP/PPF)** as they open, within the framework of the **French electronic invoicing
reform**.

Beyond the classic PDF, **Tropratik e-Facture** turns your orders into genuine electronic
invoices compliant with the European **Factur-X (EN 16931)** standard: a human-readable
PDF embedding the structured XML data required by the administration.

The plugin is designed for the **French electronic invoicing reform (2026)**:

 * **Public sector (B2G)** — direct transmission to **Chorus Pro** through the PISTE
   API (sandbox and production environments).
 * **Business-to-business (B2B)** — architecture ready to evolve towards the approved
   platforms (PDP/PPF) as the flows open.

#### Key features

 * Automatic generation of **Factur-X / ZUGFeRD** invoices (PDF/A-3 with embedded
   EN 16931 XML).
 * **Sending to Chorus Pro**, manual (from the orders list) or automatic on order
   completion.
 * Configurable automatic **sending scope**: public sector (B2G) by default, with
   B2B / B2C options.
 * Configurable invoice **numbering**: custom prefix, dynamic tags (year, month…)
   and periodic reset.
 * **Appearance customization**: logo, accent colors, font, and an invoice template
   that can be overridden from your theme.
 * **Direct connection or dedicated VPS proxy** to bypass a WAF block (403 error)
   on the hosting side, with a built-in connection test button.
 * Diagnostic tools: test of the **PISTE (OAuth2)** credentials, of the **Chorus
   Pro technical account** and of the **proxy connection**.
 * **Encrypted secrets in the database**: the PISTE client_secret, the Chorus Pro
   technical passwords and the proxy password are stored encrypted (libsodium / 
   OpenSSL), never in clear text.
 * **HPOS compatible** (High-Performance Order Storage) and classic order storage
   mode.
 * **WooCommerce REST API**: each order exposes a read-only `tropratik_ef_invoice`
   field (invoice number, generation date, client type, Chorus Pro status and flow
   id, PDF SHA-256), for your integrations and exports.
 * **Translation ready** (text domain `tropratik-e-facture`).

#### Prerequisites

Using Chorus Pro requires steps independent from this plugin, carried out once:

 1. Creation of an account on **PISTE** (the French State API portal) and retrieval
    of the OAuth2 credentials (Client ID / Secret).
 2. Creation of a **Chorus Pro technical account** (qualification then production).
 3. Declaration of the API connection for your organization.

The plugin provides, in its “Chorus Pro” tab, a step-by-step guide and test buttons
to validate each step.

#### Trademarks and affiliation

Tropratik e-Facture is an **independent** product, **not affiliated with nor endorsed
by** the organizations or vendors mentioned. The names **Chorus Pro** and **PISTE**(
French State / AIFE trademarks), **Factur-X** (FNFE-MPE trademark) and **WooCommerce**(
trademark of Automattic Inc.) are used only for **descriptive** purposes, to indicate
the pluginÌtumọ̀ Yorùbá: ’s compatibility and interoperability. All trademarks cited
belong to their respective owners.

#### Published by

[Tropratik.fr](https://www.tropratik.fr)

#### En français

**Tropratik e-Facture** génère, pour chaque commande WooCommerce, une **facture 
PDF** qui peut être **envoyée automatiquement par e-mail** à votre client. Au-delà
du PDF classique, le module transforme vos commandes en véritables **factures électroniques
Factur-X (EN 16931)** : un PDF lisible embarquant les données structurées XML exigées
par lÌtumọ̀ Yorùbá: ’administration.

Le module assure aussi, **de façon optionnelle**, la **transmission à Chorus Pro**(
plateforme de lÌtumọ̀ Yorùbá: ’État) via lÌtumọ̀ Yorùbá: ’API PISTE, en bac à sable
comme en production. Cette transmission nÌtumọ̀ Yorùbá: ’est jamais obligatoire :
vous pouvez lÌtumọ̀ Yorùbá: ’utiliser **uniquement pour produire des factures conformes
à la réforme française de la facturation électronique (2026)**, y compris en B2B,
sans rien envoyer à Chorus Pro.

Principales fonctionnalités : génération Factur-X / ZUGFeRD (PDF/A-3), envoi manuel
ou automatique à Chorus Pro, périmètre dÌtumọ̀ Yorùbá: ’envoi configurable (B2G /
B2B / B2C), numérotation personnalisable, personnalisation de lÌtumọ̀ Yorùbá: ’apparence
et modèle surchargeable depuis le thème, connexion directe ou via proxy VPS dédié(
contournement dÌtumọ̀ Yorùbá: ’un blocage WAF 403), outils de test des identifiants,
secrets chiffrés en base (libsodium / OpenSSL), exposition des données de facture
dans lÌtumọ̀ Yorùbá: ’API REST WooCommerce (champ `tropratik_ef_invoice` en lecture
seule sur chaque commande), compatibilité HPOS et prêt pour la traduction.

LÌtumọ̀ Yorùbá: ’utilisation de Chorus Pro nécessite des démarches indépendantes
réalisées une seule fois : compte **PISTE** (identifiants OAuth2), **compte technique
Chorus Pro** (qualification puis production) et déclaration du raccordement API.
LÌtumọ̀ Yorùbá: ’onglet « Chorus Pro » fournit un guide pas à pas et des boutons
de test pour valider chaque étape.

Tropratik e-Facture est un produit **indépendant**, non affilié ni approuvé par 
les organismes cités. Les marques **Chorus Pro**, **PISTE**, **Factur-X** et **WooCommerce**
ne sont utilisées quÌtumọ̀ Yorùbá: ’à des fins descriptives et appartiennent à leurs
détenteurs respectifs.

### External services

This plugin can connect to **Chorus Pro**, the French StateÌtumọ̀ Yorùbá: ’s public-
sector e-invoicing platform, through the **PISTE** API gateway (operated by the 
AIFE, French State). These connections are **optional**: they only happen when you
enter your own credentials and either send an invoice manually or enable automatic
sending. If you never configure credentials and never trigger a transmission, the
plugin sends no data to any external service.

**PISTE — API gateway of the French State**
 Used to authenticate your access to
the Chorus Pro API. The plugin performs an OAuth2 “client_credentials” request to
obtain a short-lived access token. Data sent: your PISTE credentials (client_id 
and client_secret), each time a new token is required. Endpoints: https://oauth.
piste.gouv.fr (production) and https://sandbox-oauth.piste.gouv.fr (test). Terms
of use / GDPR: https://piste.gouv.fr/cgu — Legal notice: https://piste.gouv.fr/mentions-
legales

**Chorus Pro — public-sector e-invoicing platform (AIFE)**
 Used to submit your 
invoices to the public sector and to check their processing status. Data sent, only
when you submit or track an invoice: the Factur-X PDF file (which contains the invoice
data — your company details, the customerÌtumọ̀ Yorùbá: ’s billing details, order
lines, amounts and VAT), your Chorus Pro technical account identifier, and, when
checking a status, the deposit flow identifier returned by Chorus Pro. Endpoints:
https://api.piste.gouv.fr/cpro/ (production) and https://sandbox-api.piste.gouv.
fr/cpro/ (test). Terms of use: https://portail.chorus-pro.gouv.fr/aife_csm?id=aife_cgu—
Personal data & security: https://portail.chorus-pro.gouv.fr/aife_csm?id=aife_security—
Legal notice: https://portail.chorus-pro.gouv.fr/aife_csm?id=aife_legal

**Optional self-hosted proxy**
 To work around a hosting firewall (WAF) that blocks
PISTE, you may route these requests through a proxy server **that you set up and
control yourself**. This is not a third-party service operated by us or by anyone
else: no additional data is sent to any party other than the services listed above
and your own proxy.

#### En français

Ce plugin se connecte, de façon optionnelle, à **PISTE** (passerelle dÌtumọ̀ Yorùbá:’
API de lÌtumọ̀ Yorùbá: ’État) pour sÌtumọ̀ Yorùbá: ’authentifier, puis à **Chorus
Pro** (plateforme de facturation électronique du secteur public, AIFE) pour déposer
vos factures et suivre leur statut. Aucune donnée nÌtumọ̀ Yorùbá: ’est transmise
tant que vous nÌtumọ̀ Yorùbá: ’avez pas saisi vos identifiants et déclenché un envoi(
manuel ou automatique). Sont alors transmis : vos identifiants OAuth2 PISTE (pour
obtenir un jeton), le PDF Factur-X de la facture (données de facturation) et lÌtumọ̀
Yorùbá: ’identifiant de votre compte technique Chorus Pro. Un proxy que vous hébergez
vous-même peut éventuellement relayer ces requêtes (contournement dÌtumọ̀ Yorùbá:’
un WAF) ; aucune donnée nÌtumọ̀ Yorùbá: ’est envoyée à un tiers autre que les services
ci-dessus.
 CGU PISTE : https://piste.gouv.fr/cgu — CGU Chorus Pro : https://portail.
chorus-pro.gouv.fr/aife_csm?id=aife_cgu — Données personnelles : https://portail.
chorus-pro.gouv.fr/aife_csm?id=aife_security

## Àwọn àwòrán ìbòjú

[⌊Example of a generated Factur-X invoice (PDF/A-3 with embedded EN 16931 XML).⌉⌊
Example of a generated Factur-X invoice (PDF/A-3 with embedded EN 16931 XML).⌉[

Example of a generated Factur-X invoice (PDF/A-3 with embedded EN 16931 XML).

[⌊WooCommerce orders list: the "Facture / Chorus Pro" column shows, for each order,
the invoice status and its transmission to Chorus Pro (Sent, Accepted), with one-
click actions.⌉⌊WooCommerce orders list: the "Facture / Chorus Pro" column shows,
for each order, the invoice status and its transmission to Chorus Pro (Sent, Accepted),
with one-click actions.⌉[

WooCommerce orders list: the “Facture / Chorus Pro” column shows, for each order,
the invoice status and its transmission to Chorus Pro (Sent, Accepted), with one-
click actions.

[⌊"Invoice appearance" tab: logo, colors and template override via the theme.⌉⌊"
Invoice appearance" tab: logo, colors and template override via the theme.⌉[

“Invoice appearance” tab: logo, colors and template override via the theme.

[⌊"Chorus Pro" tab: configuration of the PISTE credentials, the technical account
and the VPS proxy, with test buttons.⌉⌊"Chorus Pro" tab: configuration of the PISTE
credentials, the technical account and the VPS proxy, with test buttons.⌉[

“Chorus Pro” tab: configuration of the PISTE credentials, the technical account 
and the VPS proxy, with test buttons.

## Ìgbéwọlẹ̀

 1. Make sure **WooCommerce** is installed and active, and that your server runs **
    PHP 8.1 or higher**.
 2. Upload the plugin folder to `/wp-content/plugins/`, or install it from the WordPress“
    Plugins” screen.
 3. Activate the plugin through the “Plugins” menu.
 4. Go to **WooCommerce  Tropratik e-Facture** to configure:
 5.  * the **Issuer & Options** tab (your legal information and the numbering),
     * the **Invoice appearance** tab (logo, colors, template),
     * the **Chorus Pro** tab (PISTE credentials, technical account, proxy and automatic
       sending).
 6. Use the test buttons in the “Chorus Pro” tab to validate your credentials before
    the first transmission.

## FAQ

### Does the plugin send my invoices to Chorus Pro automatically?

Only if you enable the “Automatic sending” option in the Chorus Pro tab. By default,
only invoices addressed to the public sector (B2G) are sent. Manual sending remains
always available from the orders list.

### Are my invoices compliant with the 2026 reform?

Invoices are generated in the Factur-X format compliant with the European standard
EN 16931, the foundation of the French reform. The plugin is designed to evolve 
towards the approved platforms (PDP/PPF) as the B2B flows open.

### My host is blocked by PISTE (403 error). What can I do?

The Chorus Pro tab offers a “Via VPS proxy” connection. You install a proxy on a
dedicated server, enter its parameters in the plugin, then use the “Test proxy connection”
button to verify that it correctly relays requests to PISTE. This test depends neither
on the PISTE credentials nor on the technical account.

### Can I customize the invoice layout?

Yes. The “Invoice appearance” tab lets you set the logo, colors and font. To go 
further, you can download the `invoice.php` template, modify it, then place it in
your theme (for example `wp-content/themes/your-theme/tropratik-e-facture/invoice.
php`): it will replace the default template. This theme override follows the standard
WooCommerce practice and survives plugin updates.

### Is the plugin HPOS compatible?

Yes, the plugin is compatible with High-Performance Order Storage (HPOS) and with
the classic order storage mode.

### Can I retrieve the invoice data through the WooCommerce REST API?

Yes. For every order, the plugin adds a read-only `tropratik_ef_invoice` field to
the WooCommerce REST API response (for example `GET /wp-json/wc/v3/orders/{id}`).
It contains the invoice number, the generation date (site time and UTC), the client
type (in English: `individual`, `business` or `public_sector`), the Chorus Pro status
and flow id, and the SHA-256 hash of the PDF. The field is `null` when no invoice
exists yet, is never writable, and never exposes the server file path. Access requires
the standard WooCommerce REST API authentication and read permission on orders.

### How are my credentials and sensitive passwords stored?

The most sensitive secrets — the **PISTE client_secret**, the **Chorus Pro technical
passwords** and the **proxy password** — are never kept in clear text in the database.
They are **encrypted at rest** using libsodium (with an OpenSSL AES-256-GCM fallback)
and decrypted only when contacting the APIs. This protection limits exposure if 
the database alone leaks (stolen SQL backup, SQL injection from another plugin, 
etc.).

The encryption key is derived from the security _salts_ of your `wp-config.php` 
file. **Important:** if these _salts_ are regenerated, the secrets will have to 
be re-entered in the “Chorus Pro” tab. To make the key independent from the _salts_(
useful during a migration or a site restore), define a dedicated constant in `wp-
config.php`:

    ```
    define( 'TROPRATIK_EF_ENCRYPTION_KEY', 'a-long-random-and-secret-string' );
    ```

Credentials already stored in clear text by an earlier version are encrypted automatically
the next time the form is saved, with no action required on your part.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“Tropratik e-Facture” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe
ìkópa sí plugin yìí.

Àwọn Olùkópa

 *   [ tropratik ](https://profiles.wordpress.org/tropratik/)

[Túmọ̀ “Tropratik e-Facture” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/tropratik-e-facture)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/tropratik-e-facture/),
ṣàyẹ̀wò [ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/tropratik-e-facture/),
tàbí ṣe àgbékalẹ̀ sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/tropratik-e-facture/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/tropratik-e-facture/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.1.2

 * Fix: fatal error (HTTP 500) on every WooCommerce REST API request when reading
   orders — `Tropratik_EF_Invoice_Number::get_sequence()` was missing from the published
   1.1.1 package due to a missing SVN commit before tagging. No database change 
   or manual action required.

#### 1.1.1

 * Change: in the WooCommerce REST API invoice field, the formatted invoice number
   has moved from `number` to the new `formatted_number` key. If you read this field
   in an integration, update the key accordingly.
 * New: the `number` key now holds the legal numbering sequence position as an integer(
   for example `11`), distinct from the internal row `id`.
 * New: the REST API invoice field now also exposes `file_slug` (the PDF file name
   without extension) and `file_name` (with the `.pdf` extension). The server file
   path is still never exposed.
 * New: the REST API invoice field now exposes `facturx_profile`, the Factur-X profile
   actually used to generate the invoice (`MINIMUM`, `BASICWL`, `BASIC`, `EN16931`,`
   EXTENDED`). This value is now stored per invoice; invoices generated by earlier
   versions return `null`. A database column is added automatically on update, no
   action required.

#### 1.1.0

 * New: read-only `tropratik_ef_invoice` field added to the WooCommerce REST API
   order response (invoice number, generation date in site time and UTC, client 
   type, Chorus Pro status and flow id, PDF SHA-256). Read-only, never exposes the
   server file path.
 * New: the `client_type` value in the REST API is now returned in English (`individual`,`
   business`, `public_sector`). The French labels shown in the admin UI and on the
   PDF invoice are unchanged (rendered through the pluginÌtumọ̀ Yorùbá: ’s translations).
 * Fix: on the PDF invoice, when no logo is set, the issuer name is now displayed
   in the top-right block together with its address (previously shown in the top-
   left corner).

#### 1.0.0

 * Initial release.
 * Generation of Factur-X invoices (EN 16931).
 * Manual and automatic sending to Chorus Pro through the PISTE API (sandbox and
   production).
 * Direct connection or via VPS proxy, with test buttons (PISTE, technical account,
   proxy).
 * Configurable numbering and invoice appearance customization.
 * HPOS compatibility.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.1.2**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **ọjọ́ 2 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **Tó kéré sí 10**
 *  Ẹ̀yà WordPress ** 6.0 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.0.2**
 *  Ẹ̀yà PHP ** 8.1 tàbí ju bẹ́ẹ̀ lọ **
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/tropratik-e-facture/)
 * Àwọn àmì
 * [e-invoicing](https://yor.wordpress.org/plugins/tags/e-invoicing/)[factur-x](https://yor.wordpress.org/plugins/tags/factur-x/)
   [woocommerce](https://yor.wordpress.org/plugins/tags/woocommerce/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/tropratik-e-facture/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/tropratik-e-facture/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tropratik-e-facture/reviews/)

## Àwọn Olùkópa

 *   [ tropratik ](https://profiles.wordpress.org/tropratik/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/tropratik-e-facture/)