{"id":334942,"date":"2026-07-07T16:00:12","date_gmt":"2026-07-07T16:00:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tropratik-e-facture\/"},"modified":"2026-07-07T15:59:53","modified_gmt":"2026-07-07T15:59:53","slug":"tropratik-e-facture","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tropratik-e-facture\/","author":23526271,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Tropratik e-Facture","header_author":"Tropratik.fr","header_description":"G\u00e9n\u00e8re vos factures WooCommerce au format Factur-X (EN 16931) et les transmet aux plateformes de facturation \u00e9lectronique. Conforme \u00e0 la r\u00e9forme fran\u00e7aise 2026 : compatible Chorus Pro (secteur public \/ B2G) et con\u00e7u pour \u00e9voluer vers les plateformes agr\u00e9\u00e9es (PDP\/PPF) pour la facturation inter-entreprises (B2B). \u00c9dit\u00e9 par Tropratik.","assets_banners_color":"886484","last_updated":"2026-07-07 15:59:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.tropratik.fr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tropratik","date":"2026-07-07 15:59:53"}},"upgrade_notice":{"1.0.0":"<p>Initial release of the plugin.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3599310,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3599310,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3599310,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3599310,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3599310,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"\"Chorus Pro\" tab: configuration of the PISTE credentials, the technical account and the VPS proxy, with test buttons.","2":"\"Invoice appearance\" tab: logo, colors and template override via the theme.","3":"Example of a generated Factur-X invoice."}},"plugin_section":[],"plugin_tags":[270495,225611,226218,270496,286],"plugin_category":[45],"plugin_contributors":[270497],"plugin_business_model":[],"class_list":["post-334942","plugin","type-plugin","status-publish","hentry","plugin_tags-chorus-pro","plugin_tags-e-invoicing","plugin_tags-factur-x","plugin_tags-facturation-electronique","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tropratik","plugin_committers-tropratik"],"banners":{"banner":"https:\/\/ps.w.org\/tropratik-e-facture\/assets\/banner-772x250.png?rev=3599310","banner_2x":"https:\/\/ps.w.org\/tropratik-e-facture\/assets\/banner-1544x500.png?rev=3599310","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/tropratik-e-facture\/assets\/icon.svg?rev=3599310","icon":"https:\/\/ps.w.org\/tropratik-e-facture\/assets\/icon.svg?rev=3599310","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Tropratik e-Facture<\/strong> generates, for every WooCommerce order, a <strong>PDF invoice<\/strong> that can be <strong>sent automatically by e-mail<\/strong> to your customer.<\/p>\n\n<p>The plugin also provides <strong>optional transmission to Chorus Pro<\/strong>, the French State platform. This transmission is never mandatory: you can use Tropratik e-Facture <strong>solely to produce electronic invoices in a format compliant with the French reform<\/strong>, even when you invoice <strong>businesses (B2B)<\/strong>, without sending anything to Chorus Pro.<\/p>\n\n<p>As of today, Chorus Pro only accepts invoices addressed to the <strong>public sector<\/strong>. The plugin is designed to <strong>evolve<\/strong> and connect to the <strong>other approved platforms (PDP\/PPF)<\/strong> as they open, within the framework of the <strong>French electronic invoicing reform<\/strong>.<\/p>\n\n<p>Beyond the classic PDF, <strong>Tropratik e-Facture<\/strong> turns your orders into genuine electronic invoices compliant with the European <strong>Factur-X (EN 16931)<\/strong> standard: a human-readable PDF embedding the structured XML data required by the administration.<\/p>\n\n<p>The plugin is designed for the <strong>French electronic invoicing reform (2026)<\/strong>:<\/p>\n\n<ul>\n<li><strong>Public sector (B2G)<\/strong> \u2014 direct transmission to <strong>Chorus Pro<\/strong> through the PISTE API (sandbox and production environments).<\/li>\n<li><strong>Business-to-business (B2B)<\/strong> \u2014 architecture ready to evolve towards the approved platforms (PDP\/PPF) as the flows open.<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>Automatic generation of <strong>Factur-X \/ ZUGFeRD<\/strong> invoices (PDF\/A-3 with embedded EN 16931 XML).<\/li>\n<li><strong>Sending to Chorus Pro<\/strong>, manual (from the orders list) or automatic on order completion.<\/li>\n<li>Configurable automatic <strong>sending scope<\/strong>: public sector (B2G) by default, with B2B \/ B2C options.<\/li>\n<li>Configurable invoice <strong>numbering<\/strong>: custom prefix, dynamic tags (year, month\u2026) and periodic reset.<\/li>\n<li><strong>Appearance customization<\/strong>: logo, accent colors, font, and an invoice template that can be overridden from your theme.<\/li>\n<li><strong>Direct connection or dedicated VPS proxy<\/strong> to bypass a WAF block (403 error) on the hosting side, with a built-in connection test button.<\/li>\n<li>Diagnostic tools: test of the <strong>PISTE (OAuth2)<\/strong> credentials, of the <strong>Chorus Pro technical account<\/strong> and of the <strong>proxy connection<\/strong>.<\/li>\n<li><strong>Encrypted secrets in the database<\/strong>: the PISTE client_secret, the Chorus Pro technical passwords and the proxy password are stored encrypted (libsodium \/ OpenSSL), never in clear text.<\/li>\n<li><strong>HPOS compatible<\/strong> (High-Performance Order Storage) and classic order storage mode.<\/li>\n<li><strong>Translation ready<\/strong> (text domain <code>tropratik-e-facture<\/code>).<\/li>\n<\/ul>\n\n<h4>Prerequisites<\/h4>\n\n<p>Using Chorus Pro requires steps independent from this plugin, carried out once:<\/p>\n\n<ol>\n<li>Creation of an account on <strong>PISTE<\/strong> (the French State API portal) and retrieval of the OAuth2 credentials (Client ID \/ Secret).<\/li>\n<li>Creation of a <strong>Chorus Pro technical account<\/strong> (qualification then production).<\/li>\n<li>Declaration of the API connection for your organization.<\/li>\n<\/ol>\n\n<p>The plugin provides, in its \"Chorus Pro\" tab, a step-by-step guide and test buttons to validate each step.<\/p>\n\n<h4>Trademarks and affiliation<\/h4>\n\n<p>Tropratik e-Facture is an <strong>independent<\/strong> product, <strong>not affiliated with nor endorsed by<\/strong> the organizations or vendors mentioned. The names <strong>Chorus Pro<\/strong> and <strong>PISTE<\/strong> (French State \/ AIFE trademarks), <strong>Factur-X<\/strong> (FNFE-MPE trademark) and <strong>WooCommerce<\/strong> (trademark of Automattic Inc.) are used only for <strong>descriptive<\/strong> purposes, to indicate the plugin's compatibility and interoperability. All trademarks cited belong to their respective owners.<\/p>\n\n<h4>Published by<\/h4>\n\n<p><a href=\"https:\/\/www.tropratik.fr\">Tropratik.fr<\/a><\/p>\n\n<h4>En fran\u00e7ais<\/h4>\n\n<p><strong>Tropratik e-Facture<\/strong> g\u00e9n\u00e8re, pour chaque commande WooCommerce, une <strong>facture PDF<\/strong> qui peut \u00eatre <strong>envoy\u00e9e automatiquement par e-mail<\/strong> \u00e0 votre client. Au-del\u00e0 du PDF classique, le module transforme vos commandes en v\u00e9ritables <strong>factures \u00e9lectroniques Factur-X (EN 16931)<\/strong> : un PDF lisible embarquant les donn\u00e9es structur\u00e9es XML exig\u00e9es par l'administration.<\/p>\n\n<p>Le module assure aussi, <strong>de fa\u00e7on optionnelle<\/strong>, la <strong>transmission \u00e0 Chorus Pro<\/strong> (plateforme de l'\u00c9tat) via l'API PISTE, en bac \u00e0 sable comme en production. Cette transmission n'est jamais obligatoire : vous pouvez l'utiliser <strong>uniquement pour produire des factures conformes \u00e0 la r\u00e9forme fran\u00e7aise de la facturation \u00e9lectronique (2026)<\/strong>, y compris en B2B, sans rien envoyer \u00e0 Chorus Pro.<\/p>\n\n<p>Principales fonctionnalit\u00e9s : g\u00e9n\u00e9ration Factur-X \/ ZUGFeRD (PDF\/A-3), envoi manuel ou automatique \u00e0 Chorus Pro, p\u00e9rim\u00e8tre d'envoi configurable (B2G \/ B2B \/ B2C), num\u00e9rotation personnalisable, personnalisation de l'apparence et mod\u00e8le surchargeable depuis le th\u00e8me, connexion directe ou via proxy VPS d\u00e9di\u00e9 (contournement d'un blocage WAF 403), outils de test des identifiants, secrets chiffr\u00e9s en base (libsodium \/ OpenSSL), compatibilit\u00e9 HPOS et pr\u00eat pour la traduction.<\/p>\n\n<p>L'utilisation de Chorus Pro n\u00e9cessite des d\u00e9marches ind\u00e9pendantes r\u00e9alis\u00e9es une seule fois : compte <strong>PISTE<\/strong> (identifiants OAuth2), <strong>compte technique Chorus Pro<\/strong> (qualification puis production) et d\u00e9claration du raccordement API. L'onglet \u00ab Chorus Pro \u00bb fournit un guide pas \u00e0 pas et des boutons de test pour valider chaque \u00e9tape.<\/p>\n\n<p>Tropratik e-Facture est un produit <strong>ind\u00e9pendant<\/strong>, non affili\u00e9 ni approuv\u00e9 par les organismes cit\u00e9s. Les marques <strong>Chorus Pro<\/strong>, <strong>PISTE<\/strong>, <strong>Factur-X<\/strong> et <strong>WooCommerce<\/strong> ne sont utilis\u00e9es qu'\u00e0 des fins descriptives et appartiennent \u00e0 leurs d\u00e9tenteurs respectifs.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to <strong>Chorus Pro<\/strong>, the French State's public-sector e-invoicing platform, through the <strong>PISTE<\/strong> API gateway (operated by the AIFE, French State). These connections are <strong>optional<\/strong>: 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.<\/p>\n\n<p><strong>PISTE \u2014 API gateway of the French State<\/strong>\nUsed 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).\nTerms of use \/ GDPR: https:\/\/piste.gouv.fr\/cgu \u2014 Legal notice: https:\/\/piste.gouv.fr\/mentions-legales<\/p>\n\n<p><strong>Chorus Pro \u2014 public-sector e-invoicing platform (AIFE)<\/strong>\nUsed 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 \u2014 your company details, the customer'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).\nTerms of use: https:\/\/portail.chorus-pro.gouv.fr\/aife_csm?id=aife_cgu \u2014 Personal data &amp; security: https:\/\/portail.chorus-pro.gouv.fr\/aife_csm?id=aife_security \u2014 Legal notice: https:\/\/portail.chorus-pro.gouv.fr\/aife_csm?id=aife_legal<\/p>\n\n<p><strong>Optional self-hosted proxy<\/strong>\nTo work around a hosting firewall (WAF) that blocks PISTE, you may route these requests through a proxy server <strong>that you set up and control yourself<\/strong>. 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.<\/p>\n\n<h4>En fran\u00e7ais<\/h4>\n\n<p>Ce plugin se connecte, de fa\u00e7on optionnelle, \u00e0 <strong>PISTE<\/strong> (passerelle d'API de l'\u00c9tat) pour s'authentifier, puis \u00e0 <strong>Chorus Pro<\/strong> (plateforme de facturation \u00e9lectronique du secteur public, AIFE) pour d\u00e9poser vos factures et suivre leur statut. Aucune donn\u00e9e n'est transmise tant que vous n'avez pas saisi vos identifiants et d\u00e9clench\u00e9 un envoi (manuel ou automatique). Sont alors transmis : vos identifiants OAuth2 PISTE (pour obtenir un jeton), le PDF Factur-X de la facture (donn\u00e9es de facturation) et l'identifiant de votre compte technique Chorus Pro. Un proxy que vous h\u00e9bergez vous-m\u00eame peut \u00e9ventuellement relayer ces requ\u00eates (contournement d'un WAF) ; aucune donn\u00e9e n'est envoy\u00e9e \u00e0 un tiers autre que les services ci-dessus.\nCGU PISTE : https:\/\/piste.gouv.fr\/cgu \u2014 CGU Chorus Pro : https:\/\/portail.chorus-pro.gouv.fr\/aife_csm?id=aife_cgu \u2014 Donn\u00e9es personnelles : https:\/\/portail.chorus-pro.gouv.fr\/aife_csm?id=aife_security<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure <strong>WooCommerce<\/strong> is installed and active, and that your server runs <strong>PHP 8.1 or higher<\/strong>.<\/li>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the WordPress \"Plugins\" screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Tropratik e-Facture<\/strong> to configure:\n\n<ul>\n<li>the <strong>Issuer &amp; Options<\/strong> tab (your legal information and the numbering),<\/li>\n<li>the <strong>Invoice appearance<\/strong> tab (logo, colors, template),<\/li>\n<li>the <strong>Chorus Pro<\/strong> tab (PISTE credentials, technical account, proxy and automatic sending).<\/li>\n<\/ul><\/li>\n<li>Use the test buttons in the \"Chorus Pro\" tab to validate your credentials before the first transmission.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20send%20my%20invoices%20to%20chorus%20pro%20automatically%3F\"><h3>Does the plugin send my invoices to Chorus Pro automatically?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"are%20my%20invoices%20compliant%20with%20the%202026%20reform%3F\"><h3>Are my invoices compliant with the 2026 reform?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"my%20host%20is%20blocked%20by%20piste%20%28403%20error%29.%20what%20can%20i%20do%3F\"><h3>My host is blocked by PISTE (403 error). What can I do?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20invoice%20layout%3F\"><h3>Can I customize the invoice layout?<\/h3><\/dt>\n<dd><p>Yes. The \"Invoice appearance\" tab lets you set the logo, colors and font. To go further, you can download the <code>invoice.php<\/code> template, modify it, then place it in your theme (for example <code>wp-content\/themes\/your-theme\/tropratik-e-facture\/invoice.php<\/code>): it will replace the default template. This theme override follows the standard WooCommerce practice and survives plugin updates.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20hpos%20compatible%3F\"><h3>Is the plugin HPOS compatible?<\/h3><\/dt>\n<dd><p>Yes, the plugin is compatible with High-Performance Order Storage (HPOS) and with the classic order storage mode.<\/p><\/dd>\n<dt id=\"how%20are%20my%20credentials%20and%20sensitive%20passwords%20stored%3F\"><h3>How are my credentials and sensitive passwords stored?<\/h3><\/dt>\n<dd><p>The most sensitive secrets \u2014 the <strong>PISTE client_secret<\/strong>, the <strong>Chorus Pro technical passwords<\/strong> and the <strong>proxy password<\/strong> \u2014 are never kept in clear text in the database. They are <strong>encrypted at rest<\/strong> 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.).<\/p>\n\n<p>The encryption key is derived from the security <em>salts<\/em> of your <code>wp-config.php<\/code> file. <strong>Important:<\/strong> if these <em>salts<\/em> are regenerated, the secrets will have to be re-entered in the \"Chorus Pro\" tab. To make the key independent from the <em>salts<\/em> (useful during a migration or a site restore), define a dedicated constant in <code>wp-config.php<\/code>:<\/p>\n\n<pre><code>define( 'TROPRATIK_EF_ENCRYPTION_KEY', 'a-long-random-and-secret-string' );\n<\/code><\/pre>\n\n<p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Generation of Factur-X invoices (EN 16931).<\/li>\n<li>Manual and automatic sending to Chorus Pro through the PISTE API (sandbox and production).<\/li>\n<li>Direct connection or via VPS proxy, with test buttons (PISTE, technical account, proxy).<\/li>\n<li>Configurable numbering and invoice appearance customization.<\/li>\n<li>HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Factur-X (EN 16931) invoices for WooCommerce orders and transmission to Chorus Pro. Compliant with the French e-invoicing reform.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334942"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tropratik"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334942"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334942"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334942"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334942"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334942"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}