{"id":274374,"date":"2026-01-27T11:32:48","date_gmt":"2026-01-27T11:32:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/invoicing-integration-for-wfirma-and-for-woocommerce\/"},"modified":"2026-03-11T10:37:08","modified_gmt":"2026-03-11T10:37:08","slug":"invoicing-integration-for-wfirma-and-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ps.wordpress.org\/plugins\/invoicing-integration-for-wfirma-and-woocommerce\/","author":23342730,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.12","stable_tag":"1.0.12","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Invoicing Integration for wFirma and WooCommerce","header_author":"Devikit","header_description":"WooCommerce integration with wFirma accounting system for Polish businesses.","assets_banners_color":"","last_updated":"2026-03-11 10:37:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/invoicing-integration-for-wfirma-and-woocommerce\/","header_author_uri":"https:\/\/devikit.pl\/","rating":5,"author_block_rating":0,"active_installs":20,"downloads":565,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"devikit","date":"2026-03-09 11:30:53"},"1.0.11":{"tag":"1.0.11","author":"devikit","date":"2026-03-09 12:25:29"},"1.0.12":{"tag":"1.0.12","author":"devikit","date":"2026-03-11 10:37:08"},"1.0.2":{"tag":"1.0.2","author":"devikit","date":"2026-01-27 11:31:27"},"1.0.3":{"tag":"1.0.3","author":"devikit","date":"2026-02-02 11:36:21"},"1.0.4":{"tag":"1.0.4","author":"devikit","date":"2026-02-02 12:07:18"},"1.0.5":{"tag":"1.0.5","author":"devikit","date":"2026-02-10 13:09:31"},"1.0.6":{"tag":"1.0.6","author":"devikit","date":"2026-02-17 10:06:39"},"1.0.7":{"tag":"1.0.7","author":"devikit","date":"2026-02-23 11:21:48"},"1.0.8":{"tag":"1.0.8","author":"devikit","date":"2026-02-26 15:02:12"},"1.0.9":{"tag":"1.0.9","author":"devikit","date":"2026-03-09 11:29:32"}},"upgrade_notice":{"1.0.12":"<p>Fixed WP_Post vs WC_Order compatibility when saving NIP in order admin.<\/p>","1.0.11":"<p>NIP can now be edited in the order admin billing section, just like the address fields.<\/p>","1.0.10":"<p>Fixed duplicate invoice creation when bulk generating invoices.<\/p>","1.0.9":"<p>Total mismatch (order vs invoice sum) is now visible in the wFirma column on the orders list for quick identification.<\/p>","1.0.7":"<p>Polish translations for invoice notes. Receipt notes are now a PRO-only feature (grayed out in FREE).<\/p>","1.0.6":"<p>Added global notes for invoices, proformas and receipts with variable placeholders (e.g. order number, customer name).<\/p>","1.0.5":"<p>Automatic invoice emails are now delayed by 5 minutes to allow KSeF processing before sending to customers.<\/p>","1.0.4":"<p>Added screenshots to plugin documentation.<\/p>","1.0.3":"<p>Improved UI and documentation. Updated information about PRO features including sales receipts (dowody sprzeda\u017cy) support.<\/p>","1.0.2":"<p>Dev: Release automation for WordPress.org SVN (no functional changes)<\/p>","1.0.1":"<p>Fixed issue where only VAT invoice series were available for selection. Now supports both VAT and non-VAT invoice series.<\/p>","1.0.0":"<p>Initial release of the plugin.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3447802,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3447802,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3447802,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.10","1.0.11","1.0.12","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3452036,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3452036,"resolution":"10","location":"assets","locale":""},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3470406,"resolution":"11","location":"assets","locale":""},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3470406,"resolution":"12","location":"assets","locale":""},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3470406,"resolution":"13","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3452036,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3470406,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3452036,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3452036,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3452036,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3452036,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3452036,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3452036,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings","2":"Plugin settings","3":"Plugin settings","4":"Plugin settings","5":"Plugin settings","6":"Plugin settings","7":"Plugin settings","8":"Plugin settings","9":"Plugin settings","10":"Plugin settings","11":"Plugin settings","12":"Plugin settings","13":"Plugin settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2526,26387,12480,254752,286],"plugin_category":[45],"plugin_contributors":[245825],"plugin_business_model":[],"class_list":["post-274374","plugin","type-plugin","status-publish","hentry","plugin_tags-accounting","plugin_tags-faktura","plugin_tags-invoice","plugin_tags-wfirma","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-devikit","plugin_committers-devikit"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/icon.svg?rev=3447802","icon":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/icon.svg?rev=3447802","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-1.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-2.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-3.png?rev=3470406","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-4.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-5.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-6.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-7.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-8.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-9.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-10.png?rev=3452036","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-11.png?rev=3470406","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-12.png?rev=3470406","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/invoicing-integration-for-wfirma-and-woocommerce\/assets\/screenshot-13.png?rev=3470406","caption":"Plugin settings"}],"raw_content":"<!--section=description-->\n<p><strong>Invoicing Integration for wFirma and WooCommerce<\/strong> connects your WooCommerce store with the popular wFirma accounting system used by thousands of Polish businesses.<\/p>\n\n<h4>Key Features (FREE)<\/h4>\n\n<ul>\n<li><strong>Manual Invoice Generation<\/strong> - Create invoices directly from WooCommerce order edit screen<\/li>\n<li><strong>Customer Synchronization<\/strong> - Automatically sync customer data with wFirma contractors<\/li>\n<li><strong>NIP Field Support<\/strong> - Add VAT number field to checkout (compatible with nip-field-woocommerce plugin)<\/li>\n<li><strong>WooCommerce Blocks Support<\/strong> - Full compatibility with Gutenberg checkout blocks<\/li>\n<li><strong>Advanced VAT Mapping<\/strong> - Map WooCommerce tax classes to wFirma VAT codes (23%, 8%, 5%, zw, np, 0%)<\/li>\n<li><strong>Invoice Download<\/strong> - Download invoices directly from WordPress admin<\/li>\n<li><strong>Customer Download<\/strong> - Allow customers to download their invoices from My Account page<\/li>\n<li><strong>Global Invoice Notes<\/strong> - Set default notes (uwagi) for all invoices and proformas with variable placeholders ({order_number}, {customer_name}, etc.)<\/li>\n<li><strong>Detailed Logging<\/strong> - Track all API communications for debugging<\/li>\n<li><strong>HPOS Compatible<\/strong> - Full support for WooCommerce High-Performance Order Storage<\/li>\n<\/ul>\n\n<h4>PRO Features<\/h4>\n\n<ul>\n<li><strong>Automatic Invoice Generation<\/strong> - Create invoices automatically on order status change<\/li>\n<li><strong>Automatic Proforma Invoices<\/strong> - Issue proformas automatically for pending orders<\/li>\n<li><strong>Receipt (Paragon) Support<\/strong> - Automatic receipt generation for retail customers, including fiscal receipts (paragony fiskalne) and sales receipts (dowody sprzeda\u017cy \/ paragony niefiskalne)<\/li>\n<li><strong>Receipt Notes<\/strong> - Set default notes (uwagi) for all receipts with variable placeholders ({order_number}, {customer_name}, etc.)<\/li>\n<li><strong>Email with PDF Attachments<\/strong> - Send invoices directly to customers as PDF attachments<\/li>\n<li><strong>Bulk Document Generation<\/strong> - Generate invoices, proformas, and receipts for multiple orders at once with progress tracking<\/li>\n<li><strong>Bulk Email Sending<\/strong> - Send invoices and proformas by email to multiple customers in bulk operations<\/li>\n<li><strong>MOSS \/ EU VAT OSS Support<\/strong> - Automatic MOSS handling for digital services sold to EU customers with proper VAT evidence<\/li>\n<li><strong>Advanced Automation<\/strong> - Configure multiple trigger statuses and conditions<\/li>\n<li><strong>Rycza\u0142t ewidencjonowany<\/strong> - Global and per-product flat-rate tax (rycza\u0142t) settings with automatic lumpcode on invoices and receipts<\/li>\n<li><strong>Dekretacja<\/strong> - Accounting classification for invoices<\/li>\n<li><strong>Warehouse Integration<\/strong> - Bi-directional stock sync between WooCommerce and wFirma<\/li>\n<li><strong>Real-time Webhooks<\/strong> - Instant stock updates from wFirma<\/li>\n<li><strong>WooCommerce Subscriptions<\/strong> - Full support for recurring invoices<\/li>\n<li><strong>Priority Support<\/strong> - Direct access to our support team<\/li>\n<li><strong>Automatic Updates<\/strong> - Get new features and fixes automatically<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/devikit.pl\/produkt\/wfirma-woocommerce-pro\/\">Get PRO Version<\/a><\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>WooCommerce 5.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>Active wFirma account with API access<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the wFirma API, a third-party accounting service, to generate invoices and manage customer data.<\/p>\n\n<h4>What is wFirma API?<\/h4>\n\n<p>wFirma is a Polish online accounting system that provides invoicing and accounting services for businesses. This plugin uses their official API to:\n*   Create and manage customers (contractors) in your wFirma account.\n*   Generate invoices and proforma invoices (PRO version).\n*   Generate receipts (paragony fiskalne) and sales receipts (dowody sprzeda\u017cy \/ paragony niefiskalne) for retail customers (PRO version).\n*   Retrieve bank accounts, VAT codes, and other accounting data from your wFirma account.\n*   Download invoice PDFs.\n*   Synchronize warehouse stock between WooCommerce and wFirma (PRO version).<\/p>\n\n<h4>What data is sent and when?<\/h4>\n\n<p>The plugin sends the following data to wFirma API (https:\/\/api2.wfirma.pl\/) in these situations:<\/p>\n\n<p><strong>When you click \"Create Invoice\" or when automatic invoice generation is triggered (PRO version):<\/strong>\n*   Customer billing information: first name, last name, company name, VAT number (NIP), email, phone number, billing address (street, city, postal code, country).\n*   Order information: order items (product names, quantities, prices, VAT rates), shipping details, payment method, order date, order total.<\/p>\n\n<p><strong>When the plugin connects to wFirma API (on settings page load or when needed):<\/strong>\n*   Your wFirma Access Key and Secret Key (for authentication).\n*   Requests to retrieve your account settings: bank accounts, VAT codes, income categories, warehouse data (PRO version).<\/p>\n\n<p><strong>No data is sent automatically without your action.<\/strong> The plugin only communicates with wFirma API when:\n*   You manually create an invoice from the order screen.\n*   You enable automatic invoice generation in PRO version.\n*   You open the plugin settings page (to load account configuration).\n*   Warehouse synchronization is enabled in PRO version (webhook).<\/p>\n\n<h4>Service provider information<\/h4>\n\n<ul>\n<li><strong>Service name:<\/strong> wFirma API<\/li>\n<li><strong>Service URL:<\/strong> https:\/\/www.wfirma.pl\/<\/li>\n<li><strong>API documentation:<\/strong> https:\/\/doc.wfirma.pl\/<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/pomoc.wfirma.pl\/-regulamin-swiadczenia-uslug<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/pomoc.wfirma.pl\/-polityka-prywatnosci<\/li>\n<\/ul>\n\n<p>By using this plugin, you acknowledge that customer and order data will be transmitted to wFirma for invoice generation purposes. You are responsible for ensuring compliance with applicable data protection laws (including GDPR) and informing your customers about this data processing.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/invoicing-integration-for-wfirma-and-woocommerce\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to WooCommerce \u2192 wFirma<\/li>\n<li>Enter your wFirma Access Key and Secret Key<\/li>\n<li>Test the connection and configure settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20wfirma%20api%20keys%3F\"><h3>Where do I find my wFirma API keys?<\/h3><\/dt>\n<dd><p>Log in to your wFirma account, go to Settings \u2192 Applications \u2192 API Keys, and generate your Access and Secret keys.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20blocks%3F\"><h3>Does this work with WooCommerce Blocks?<\/h3><\/dt>\n<dd><p>Yes, the plugin is compatible with both classic checkout and WooCommerce Blocks checkout.<\/p><\/dd>\n<dt id=\"can%20customers%20download%20their%20invoices%3F\"><h3>Can customers download their invoices?<\/h3><\/dt>\n<dd><p>Yes, customers can download invoices from the My Account \u2192 View Order page.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20nip-field-woocommerce%20plugin%3F\"><h3>Is this compatible with nip-field-woocommerce plugin?<\/h3><\/dt>\n<dd><p>Yes! The plugin automatically detects if nip-field-woocommerce is active and uses it instead of adding its own NIP field.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Fixed: save_admin_order_nip - WooCommerce may pass WP_Post instead of WC_Order; use instanceof WC_Order check to avoid \"Call to undefined method WP_Post::update_meta_data()\"<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Added: NIP is now editable in order admin (billing section) - same as address fields<\/li>\n<li>Improved: Removed duplicate read-only NIP display when editing order<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Fixed: Prevent duplicate invoices when create_invoice_for_order is called multiple times (e.g. bulk generation)<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Added: Total mismatch warning (order vs invoice\/proforma sum) now displayed in wFirma column on orders list, not just in order metabox<\/li>\n<li>Improved: Bulk invoice generation - mismatch detection visible at a glance in orders list<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Improved: Polish translations for Invoice Notes and receipt-related strings<\/li>\n<li>Improved: Receipt Notes section grayed out in FREE version (PRO feature)<\/li>\n<li>Improved: Readme documentation - global invoice notes, receipt notes, rycza\u0142t<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Added: Global invoice notes (uwagi) in settings - default notes for all invoices and proforma invoices<\/li>\n<li>Added: Global receipt notes in settings - default notes for non-fiscal receipts (dowody sprzeda\u017cy)<\/li>\n<li>Added: Variable placeholders for notes: {order_id}, {order_number}, {customer_name}, {order_total}, etc. (same as Fakturownia)<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added: 5-minute delayed email sending for automatic invoices to allow KSeF (National e-Invoice System) processing<\/li>\n<li>Added: Action Scheduler handler for delayed invoice email delivery<\/li>\n<li>Improved: Manual email sending from admin panel and proforma\/receipt emails remain instant<\/li>\n<li>Added: Polish translations for new KSeF delay messages<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added: Screenshots added to plugin assets folder and readme documentation<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added: Information about sales receipts (dowody sprzeda\u017cy \/ paragony niefiskalne) support in PRO version to readme<\/li>\n<li>Improved: FREE version UI now shows all PRO features including email sending, payment deadline, and bank account settings for receipts<\/li>\n<li>Fixed: Added missing translations for receipt email functionality<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Dev: Release automation for WordPress.org SVN (no functional changes)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: Added support for non-VAT invoice series (bill type) in addition to VAT invoices (normal type)<\/li>\n<li>Fixed: Users can now select from all available invoice series, not just VAT invoices<\/li>\n<li>Fixed: Invoice type is now correctly set based on selected series type to prevent errors for non-VAT businesses<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Manual invoice generation<\/li>\n<li>Customer synchronization<\/li>\n<li>Advanced VAT mapping<\/li>\n<li>Customer invoice download<\/li>\n<li>NIP field support with compatibility<\/li>\n<\/ul>","raw_excerpt":"Seamless integration between WooCommerce and wFirma accounting system for Polish businesses.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/274374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=274374"}],"author":[{"embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devikit"}],"wp:attachment":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=274374"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=274374"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=274374"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=274374"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=274374"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=274374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}