{"id":349906,"date":"2026-08-14T07:37:49","date_gmt":"2026-08-14T07:37:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/brightfern-e-invoicing-for-woocommerce\/"},"modified":"2026-08-14T14:47:05","modified_gmt":"2026-08-14T14:47:05","slug":"brightfern-e-invoicing-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/brightfern-e-invoicing-for-woocommerce\/","author":23542407,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.5","stable_tag":"0.1.5","tested":"7.0.4","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Brightfern E-Invoicing for WooCommerce","header_author":"BrightFern Labs","header_description":"Turn WooCommerce orders into EN 16931-compliant e-invoices. Generate, validate before sending, and send AND receive over Peppol with your own Access Point \u2014 no network lock-in.","assets_banners_color":"","last_updated":"2026-08-14 14:47:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/brightfernlabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.4":{"tag":"0.1.4","author":"ombel","date":"2026-08-14 07:37:23"},"0.1.5":{"tag":"0.1.5","author":"ombel","date":"2026-08-14 14:47:05"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.4","0.1.5"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Seller identity and provider settings (WooCommerce \u2192 E-Invoicing).","2":"The e-invoice status on the order edit screen: status, validation findings, and download link.","3":"The inbound inbox: received e-invoices matched to orders."}},"plugin_section":[],"plugin_tags":[225611,275656,226218,249779,286],"plugin_category":[45],"plugin_contributors":[78154,275657],"plugin_business_model":[],"class_list":["post-349906","plugin","type-plugin","status-publish","hentry","plugin_tags-e-invoicing","plugin_tags-en16931","plugin_tags-factur-x","plugin_tags-peppol","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-freemius","plugin_contributors-ombel","plugin_committers-ombel"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/brightfern-e-invoicing-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Brightfern turns your WooCommerce orders into compliant <strong>EN 16931<\/strong> structured e-invoices (Peppol BIS\nBilling 3.0), with three core capabilities:<\/p>\n\n<ul>\n<li><strong>It also receives.<\/strong> Not just sending \u2014 Brightfern receives inbound e-invoices into a WooCommerce inbox and\nmatches them to your orders. Being able to receive is mandatory for all French businesses from\nSeptember 2026, even before they must issue.<\/li>\n<li><strong>It doesn't lock you to one network.<\/strong> Brightfern is <strong>provider-agnostic<\/strong>: bring your own certified Access\nPoint. No per-document markup, no lock-in.<\/li>\n<li><strong>It validates before it sends.<\/strong> A pre-flight gate checks your invoice against the Peppol rules,\nconfirms the buyer is actually reachable on the network (SMP lookup), and validates their VAT number and\nname (VIES) \u2014 so \"it will arrive and be accepted\", instead of finding out days later.<\/li>\n<\/ul>\n\n<p>Correct on the hard cases: mixed VAT rates, discounts, reverse charge, intra-community supply, exempt\nsmall businesses, and cent-accurate rounding.<\/p>\n\n<h4>Free vs Pro<\/h4>\n\n<ul>\n<li><strong>Free:<\/strong> generate the e-invoice (and credit notes) from an order, run the full validation + recipient\n\n<ul>\n<li>VAT checks, download the XML, and <strong>receive<\/strong> inbound e-invoices into the WooCommerce inbox.<\/li>\n<\/ul><\/li>\n<li><strong>Pro:<\/strong> transmit outbound over Peppol, delivery\/status tracking, and national formats.<\/li>\n<\/ul>\n\n<h4>Compliance notes<\/h4>\n\n<p>EN 16931 is the semantic model; Peppol BIS Billing 3.0 is the UBL syntax used for transmission. National\nsystems such as Poland's KSeF are separate from Peppol and are on the roadmap \u2014 Brightfern is architected for\nthem from day one. Brightfern integrates a certified Access Point provider's API; it is not itself a certified\nAccess Point.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin's free pre-flight validation and inbound-receiving features connect to the following third-party\nand public infrastructure services. No invoice line items, prices, or customer personal data beyond what is\nlisted below are ever sent.<\/p>\n\n<ul>\n<li><strong>VIES (VAT Information Exchange System)<\/strong>, operated by the European Commission. Used to confirm that the\nbuyer's VAT number is valid and to check the registered business name, as part of the free pre-flight\nvalidation shown before you download an invoice. Only the buyer's VAT number is sent, and only when you\ntrigger validation for that order. <a href=\"https:\/\/ec.europa.eu\/taxation_customs\/vies\/#\/disclaimer\">Terms of use<\/a>,\n<a href=\"https:\/\/ec.europa.eu\/info\/privacy-policy_en\">Privacy Policy<\/a>.<\/li>\n<li><strong>Peppol SML\/SMP network<\/strong>, the DNS- and HTTP-based lookup infrastructure of the Peppol e-delivery network,\ngoverned by OpenPeppol and built on the European Commission's eDelivery building block. Used to confirm the\nbuyer's Peppol participant identifier (VAT\/company id + electronic address scheme) is registered and can\nreceive documents. Only that identifier is sent, as part of the free pre-flight validation; no invoice\ncontent is transmitted. <a href=\"https:\/\/peppol.org\/\">OpenPeppol<\/a>.<\/li>\n<li><strong>Storecove<\/strong>, one of several certified Peppol Access Points you can configure under\nWooCommerce \u2192 E-Invoicing. Brightfern is provider-agnostic and ships Storecove's API base URL only as a\npre-filled example \u2014 you may point it at any certified Access Point, or leave the bundled offline <strong>Mock<\/strong>\nprovider selected to use the plugin without any external service. When Storecove (or any configured\nprovider) is selected, the plugin polls it for inbound e-invoices addressed to you (free tier) and, on the\nPro tier, transmits outbound invoices through it. <a href=\"https:\/\/www.storecove.com\/\">Storecove<\/a>,\n<a href=\"https:\/\/www.storecove.com\/fileadmin\/editors-filemount\/documents\/Data_Privacy_Policy_Storecove_final_website.pdf\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce required).<\/li>\n<li>Go to <strong>WooCommerce \u2192 E-Invoicing<\/strong> and fill in your seller identity (legal name, VAT number, Peppol\nelectronic address, address, IBAN).<\/li>\n<li>Choose your Access Point provider and enter its credentials (or keep <strong>Mock<\/strong> to try it offline).<\/li>\n<li>Pick the order status that should generate an invoice (default: Completed).<\/li>\n<li>(Receiving) Set a webhook secret and paste the shown webhook URL into your provider, or enable\npolling.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20be%20a%20certified%20peppol%20access%20point%3F\"><h3>Do I need to be a certified Peppol Access Point?<\/h3><\/dt>\n<dd><p>No. You connect your own certified provider; Brightfern speaks to it through a provider-agnostic interface.<\/p><\/dd>\n<dt id=\"which%20countries%20are%20supported%3F\"><h3>Which countries are supported?<\/h3><\/dt>\n<dd><p>Belgium (Peppol BIS UBL) is fully supported. France works over Peppol today; the domestic Factur-X PDF\nhybrid is on the roadmap. Germany (XRechnung) and Poland (KSeF) are planned.<\/p><\/dd>\n<dt id=\"can%20it%20receive%20invoices%2C%20not%20just%20send%3F\"><h3>Can it receive invoices, not just send?<\/h3><\/dt>\n<dd><p>Yes \u2014 that's a core feature. Received documents appear in a WooCommerce inbox and are matched to orders.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Added Dutch, French and German translations (in addition to English).\nSet the site or user language under Settings \u2192 General (or your user\nprofile) to switch.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Text domain now matches the assigned WordPress.org slug,\nbrightfern-e-invoicing-for-woocommerce.<\/li>\n<li>Reworded the description to drop comparative language about other plugins.<\/li>\n<li>Documented the third-party\/public services this plugin calls (VIES, the\nPeppol SML\/SMP network, and the configurable Access Point provider) in a\nnew \"External services\" section below.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Fixed the settings form: a naming mismatch introduced during the rename made\nevery save silently discard the submitted values (and clear stored ones).<\/li>\n<li>Added a Payment means (BT-81) setting: credit transfer or SEPA credit transfer.<\/li>\n<li>Fixed the licensing menu wiring so account\/opt-in screens render on the\nsettings page instead of a permissions error.<\/li>\n<li>Inbound XML is now parsed with network access disabled (LIBXML_NONET).<\/li>\n<li>Corrected the Contributors header to the actual WordPress.org account.<\/li>\n<li>Removed the Plugin URI header: it duplicated the Author URI, which\nWordPress.org rejects. There is no separate product page yet.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Providers reference the premium send types by fully-qualified name, so the\nfree build carries no imports pointing at the stripped directory.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Outbound Peppol transmission is now excluded from the WordPress.org build\nrather than disabled at runtime, per plugin directory guideline 5.<\/li>\n<li>Receiving inbound e-invoices moved from Pro to free.<\/li>\n<li>Uninstall cleanup now also clears the polling cron on a normal uninstall.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial MVP: EN 16931 mapping, Peppol BIS UBL serialization, three-layer pre-flight validation\n(business rules + optional XSD + optional schematron), SMP recipient lookup, VIES VAT check,\nprovider-agnostic send + receive (Storecove reference provider + offline mock), admin inbox, order\nmetabox, settings.<\/li>\n<\/ul>","raw_excerpt":"EN 16931 e-invoicing for WooCommerce: generate, validate before sending, send AND receive over Peppol with your own Access Point.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349906","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=349906"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ombel"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349906"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349906"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349906"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349906"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349906"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}