{"id":350160,"date":"2026-08-16T09:58:17","date_gmt":"2026-08-16T09:58:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ouifacture-facture-electronique-factur-x-for-woocommerce\/"},"modified":"2026-08-16T09:57:50","modified_gmt":"2026-08-16T09:57:50","slug":"ouifacture","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ouifacture\/","author":23543785,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"OuiFacture \u2013 Facture \u00e9lectronique Factur-X for WooCommerce","header_author":"OuiFacture","header_description":"Automatic Factur-X (EN 16931) electronic invoices for every WooCommerce order \u2014 ready for the French e-invoicing mandate.","assets_banners_color":"12395f","last_updated":"2026-08-16 09:57:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"factureconforme","date":"2026-08-16 09:57:50"}},"upgrade_notice":{"1.0.2":"<p>Translations now come from translate.wordpress.org. No functional change.<\/p>","1.0.1":"<p>New default: invoices generate at &quot;processing&quot;. Existing saved settings are not changed.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3649513,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3649513,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3649513,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3649513,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3649513,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3649513,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3649513,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3649513,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3649513,"resolution":"5","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Settings: seller identity, legal mentions, numbering and generation trigger.","2":"Order screen: OuiFacture metabox with the generated invoice and download button.","3":"A generated Factur-X invoice (French legal layout, PDF\/A-3 with embedded EN 16931 XML).","4":"My Account \u2192 Orders: customer invoice download link.","5":"Classic checkout: optional SIRET and intra-community VAT (B2B) fields."}},"plugin_section":[],"plugin_tags":[225611,226218,152126,12480,286],"plugin_category":[45],"plugin_contributors":[275953],"plugin_business_model":[],"class_list":["post-350160","plugin","type-plugin","status-publish","hentry","plugin_tags-e-invoicing","plugin_tags-factur-x","plugin_tags-facture","plugin_tags-invoice","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-factureconforme","plugin_committers-factureconforme"],"banners":{"banner":"https:\/\/ps.w.org\/ouifacture\/assets\/banner-772x250.png?rev=3649513","banner_2x":"https:\/\/ps.w.org\/ouifacture\/assets\/banner-1544x500.png?rev=3649513","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ouifacture\/assets\/icon-128x128.png?rev=3649513","icon_2x":"https:\/\/ps.w.org\/ouifacture\/assets\/icon-256x256.png?rev=3649513","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ouifacture\/assets\/screenshot-1.png?rev=3649513","caption":"Settings: seller identity, legal mentions, numbering and generation trigger."},{"src":"https:\/\/ps.w.org\/ouifacture\/assets\/screenshot-2.png?rev=3649513","caption":"Order screen: OuiFacture metabox with the generated invoice and download button."},{"src":"https:\/\/ps.w.org\/ouifacture\/assets\/screenshot-3.png?rev=3649513","caption":"A generated Factur-X invoice (French legal layout, PDF\/A-3 with embedded EN 16931 XML)."},{"src":"https:\/\/ps.w.org\/ouifacture\/assets\/screenshot-4.png?rev=3649513","caption":"My Account \u2192 Orders: customer invoice download link."},{"src":"https:\/\/ps.w.org\/ouifacture\/assets\/screenshot-5.png?rev=3649513","caption":"Classic checkout: optional SIRET and intra-community VAT (B2B) fields."}],"raw_content":"<!--section=description-->\n<p><strong>OuiFacture<\/strong> turns your WooCommerce store into a compliant French electronic invoicing machine. Every order automatically gets a legally compliant PDF invoice with an embedded <strong>Factur-X<\/strong> XML file (PDF\/A-3, profile <strong>EN 16931<\/strong>) \u2014 the format required by the French e-invoicing reform (r\u00e9forme de la facturation \u00e9lectronique, \u00e9ch\u00e9ances 2026\u20132027).<\/p>\n\n<p><strong>Automatic. On every order.<\/strong><\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Automatic generation<\/strong> of a Factur-X invoice when the order reaches the status you choose (processing \u2014 the default \u2014 or completed) \u2014 no clicks needed. An order that jumps straight to completed is invoiced then; each order is invoiced exactly once.<\/li>\n<li><strong>PDF\/A-3 with embedded EN 16931 CII XML<\/strong>, validated against the official Factur-X XSD schemas at generation time.<\/li>\n<li><strong>French legal invoice layout<\/strong>: seller block (raison sociale, forme juridique, capital, RCS, SIRET, TVA), buyer block, line items HT, VAT breakdown by rate, totals HT\/TVA\/TTC, payment terms, and the mandatory legal mentions (p\u00e9nalit\u00e9s de retard, indemnit\u00e9 forfaitaire de 40 \u20ac, escompte).<\/li>\n<li><strong>Gap-free sequential numbering<\/strong> (prefix + year + counter, optional yearly reset) \u2014 race-safe, numbers are immutable once issued, regeneration never changes the number.<\/li>\n<li><strong>B2B checkout fields<\/strong>: optional SIRET and intra-community VAT number on the classic checkout, validated (Luhn \/ FR VAT key) and shown in the admin order screen and in the XML.<\/li>\n<li><strong>Customer access<\/strong>: download link in My Account \u2192 Orders, on the order-received page, and optional PDF attachment to the \"order completed\" email.<\/li>\n<li><strong>Admin control<\/strong>: metabox on every order with Generate \/ Regenerate \/ Download.<\/li>\n<li><strong>Secure storage<\/strong>: invoices live in a protected uploads folder with unguessable file names and are only served through authenticated endpoints.<\/li>\n<li><strong>HPOS compatible<\/strong> (High-Performance Order Storage).<\/li>\n<li><strong>No external calls, no tracking<\/strong>: everything is generated locally on your server.<\/li>\n<\/ul>\n\n<h4>Compliance notes<\/h4>\n\n<ul>\n<li>Invoices embed the CII XML at the <strong>EN 16931<\/strong> profile of Factur-X 1.x, validated against the official XSDs before the PDF is written.<\/li>\n<li>Invoice numbers are sequential and gap-free; a number is only consumed once the invoice files have been written successfully.<\/li>\n<li>On uninstall, the plugin removes its settings but <strong>keeps generated invoices<\/strong>: French law requires you to retain them for 10 years.<\/li>\n<\/ul>\n\n<h4>Limitations of this version<\/h4>\n\n<ul>\n<li>The SIRET\/VAT checkout fields are only added to the <strong>classic (shortcode) checkout<\/strong>. Stores using the block-based checkout still get automatic invoices, but the two B2B fields are not shown there yet \u2014 block checkout support is planned.<\/li>\n<li>Refunds do not produce credit notes (avoirs); the original invoice is kept unchanged, as required (an issued invoice is immutable).<\/li>\n<li>One VAT category per order line (standard\/zero). Margin schemes, VAT exemption reasons and non-EUR specifics beyond currency code pass-through are not handled.<\/li>\n<li>PDF\/A-3 conversion covers embedded file relationships, XMP metadata and output intents as produced by the bundled Factur-X writer; full ISO 19005-3 conformance of exotic source PDFs is not re-verified at runtime.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code> or install it through the WordPress plugin screen.<\/li>\n<li>Activate it (WooCommerce must be active).<\/li>\n<li>Go to <strong>WooCommerce \u2192 OuiFacture<\/strong> and fill in your seller identity (raison sociale, SIRET, n\u00b0 TVA, adresse\u2026). These appear on every invoice.<\/li>\n<li>Choose the trigger status (default: processing). Done \u2014 invoices now generate automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20the%20format%20required%20by%20the%20french%20reform%3F\"><h3>Is this the format required by the French reform?<\/h3><\/dt>\n<dd><p>The plugin produces Factur-X PDF\/A-3 invoices with an embedded EN 16931 CII XML \u2014 the mixed format retained by the French reform. Transmission through a Plateforme de D\u00e9mat\u00e9rialisation Partenaire (PDP) is not included in this version.<\/p><\/dd>\n<dt id=\"where%20are%20my%20invoices%20stored%3F\"><h3>Where are my invoices stored?<\/h3><\/dt>\n<dd><p>In <code>wp-content\/uploads\/ouifacture\/<\/code>, protected by an <code>.htaccess<\/code> deny rule and random file names. Downloads always go through authenticated endpoints. Note: the <code>.htaccess<\/code> rule only applies to Apache\/LiteSpeed servers \u2014 on nginx, add a <code>location<\/code> deny rule for that folder to your server configuration (file names remain unguessable either way).<\/p><\/dd>\n<dt id=\"can%20i%20regenerate%20an%20invoice%3F\"><h3>Can I regenerate an invoice?<\/h3><\/dt>\n<dd><p>Yes, from the order screen. The invoice number and date never change on regeneration (a French invoice number is immutable); only the document content is rebuilt.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Translations are now served through translate.wordpress.org: the bundled .po\/.mo files are no longer packaged and the obsolete <code>load_plugin_textdomain()<\/code> call has been removed (not needed since WordPress 4.6).<\/li>\n<li>Housekeeping following the plugin review; no change to invoice generation, numbering or output.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Plugin display name now ends in \"for WooCommerce\" (WordPress.org trademark guidelines).<\/li>\n<li>The default generation trigger is now <strong>processing<\/strong> (was completed): invoices are issued as soon as payment is received. Orders that skip straight to completed are still invoiced there, exactly once per order.<\/li>\n<li>French translation updated.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: automatic Factur-X (EN 16931) generation, gap-free numbering, B2B checkout fields, customer downloads, email attachment, HPOS support, French translation.<\/li>\n<\/ul>","raw_excerpt":"Automatic Factur-X (EN 16931) electronic invoices for every WooCommerce order \u2014 ready for the French e-invoicing mandate.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/350160","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=350160"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/factureconforme"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=350160"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=350160"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=350160"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=350160"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=350160"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=350160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}