xpay✦ Commerce
Directory
WooCommerce plugins
Polski for WooCommerce
Polski for WooCommerce
WooCommerce for Polish shops: VAT invoices, JPK_FA, KSeF, NIP lookup, GPSR, Omnibus, withdrawals, returns and unit prices.
4.8
(10 ratings)Will this break my store?
What the WordPress.org registry says about keeping Polski for WooCommerce running.
Tested to 7.1.4
Tested against the WordPress branch in use today.today
8.1
Your host must be running at least this version.6.9
woocommerce
These must be installed and active first.100% of 11 recent threads resolved
From the plugin's WordPress.org support forum.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Polski for WooCommerce is looked after — not on how many stores run it.
97
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
20 / 20Merchant satisfaction
12 / 15Listing transparency
10 / 10Ratings
4.8
10 ratingsPolski for WooCommerce is a free WooCommerce plugin for Polish online shops. It issues numbered VAT invoices, and helps you organise GPSR product data, the Omnibus lowest-price history, GDPR consents, the right of withdrawal, VAT ID (NIP) handling, unit prices, hooks for KSeF processes, DSA reports and storefront modules.
The plugin is modular. You can enable only the features a given shop needs, for example GPSR, Omnibus, cart consents, withdrawals, unit prices, food data, a wishlist, a product comparison or AJAX search.
Polski helps you configure the technical shop processes related to the Polish and EU market. It is not legal advice and does not guarantee regulatory compliance. Your shop configuration, terms, products and obligations always have to be verified for your specific business.
Documentation and links
- Documentation – plogins.com/polski/docs/
- Plugin page – plogins.com/polski/
- Source code – github.com/wppoland/polski
- Bug reports and feature requests – github.com/wppoland/polski/issues
- Discussions and questions – github.com/wppoland/polski/discussions
- Polski PRO – plogins.com/polski-pro/
Why Polski for WooCommerce?
One free, open-source plugin with many modules, built for shops selling in Poland. PHP 8.1+, a React admin panel, REST API and WP-CLI, classic and block cart and checkout, HPOS compatible.
Key modules
- GPSR product fields – manufacturer, importer and EU responsible person with the addresses and contact art. 19 asks for, product identifiers, safety warnings and instructions, with CSV import and export.
- Omnibus price history – records and displays the lowest price from the last 30 days on discounted products.
- Product markings – per-product flags that print the statutory notice on the product page: medical device, and goods sold to adults only such as alcohol or tobacco.
- Deposit scheme (system kaucyjny) – adds the statutory deposit to beverages in covered packaging, untaxed and on its own checkout line.
- GDPR consents and checkboxes – configurable consents at checkout, registration and reviews, with a consent log.
- Right of withdrawal and returns – requests from the customer account, e-mail confirmations and a request log.
- VAT ID (NIP) and KSeF hooks – detection of orders with a VAT ID, a KSeF flag and hooks for invoicing integrations.
- EU VAT ID check (VIES) – confirms a customer’s EU VAT number against the European Commission’s register and records the consultation number on the order.
- VAT margin scheme – the art. 120 annotation on invoices for second-hand goods, works of art, collectors’ items and antiques.
- GTU markings – one of the thirteen JPK_V7 goods and services groups per product, printed against its own line on the invoice.
- DSA reports – a point of contact, an illegal-content report form and an admin panel.
- Shop health monitor – passive monitoring of frontend errors, checkout issues and sales anomalies.
- Security incident log – an internal log of incidents, outages, vulnerabilities and follow-up actions.
- Product environmental fields – a basis for green claims, certificates and expiry dates.
- Verified purchase badge – a badge on reviews from customers who bought the product.
- AI-classified return reasons – return reasons sorted by the optional AI classifier carry a “classified by AI” marker and can be filtered in the admin withdrawals list.
Checkout, consents and returns
- Consent checkboxes (beta on the block checkout) – consents at order, registration and reviews, with the option to enable only selected fields. On the block checkout the labels show without links and the conditional boxes are not shown.
- Right of withdrawal – withdrawal/return forms and requests from the customer account.
- Double e-mail confirmation (beta) – e-mail address confirmation during customer registration. An account created at checkout stays logged in for that session.
- Shop pages – link the terms, privacy policy and withdrawal content into WooCommerce notices.
- Dispute resolution – a notice about out-of-court complaint and redress options (consumer ombudsman, Trade Inspection) on the cart and checkout pages and as a shortcode.
- Consent log – logging of consents with date, context, IP address and content version.
Product data and labelling
- Unit prices – price per kg, litre, metre, piece or a custom unit.
- GTIN validation – GS1 check-digit validation (GTIN-8/12/13/14) in the product editor and CSV import, warning without blocking saves.
- Delivery time – estimated delivery time on product pages and product lists.
- Tax information – the VAT rate notice and the small business exemption (Art. 113).
- Price display – configuration of how prices are presented in the shop.
- Food data – composition, nutrition values, allergens, origin, distributor and other fields for grocery shops.
Storefront modules
- Wishlist – save products for later.
- Product comparison – compare products side by side.
- Waitlist – back-in-stock notifications for simple products and for each variation of a variable product.
- Quick view – preview a product without opening the product page.
- Gallery zoom – enhanced product image zoom.
- Product video – add a video on the product page.
- Product slider – a carousel of products and collections.
- Infinite scroll – automatic loading of more products.
- Product tab manager – configure the tabs on the product page.
- AJAX filters – filter products without reloading the page.
- AJAX search – live product search by title, SKU, category and chosen attributes, placed with a shortcode or block.
- Product badges – sale, new, featured and custom labels.
- Promotional popups – popup campaigns in the shop.
Admin and developer tools
- React panel – manage modules and settings.
- REST API – an API for settings, checkboxes, legal pages, withdrawals and search.
- WP-CLI – commands to manage selected features from the terminal.
- CSV import and export – bulk management of product data, including GPSR and GTIN validation warnings.
- Shortcodes – embed GPSR information, withdrawal forms, DSA reports and other elements.
- Database migrations – versioned and safe updates of data structures.
- Integration hooks – filters and actions for KSeF, invoicing and integrations with other plugins.
You may also like these plugins
More free WooCommerce plugins from WPPoland:
- Plogins Tiers – quantity and volume pricing tiers with a server-rendered price table.
- Plogins Waitlist – back-in-stock waitlist that emails shoppers the moment a product returns.
- Sieve – Search & Filter – fast AJAX product search and filtering for WooCommerce, with no jQuery.
Browse the full catalogue at plogins.com/ .
Reporting a security issue: email hello@wppoland.com, and under our coordinated disclosure policy we confirm within two business days, assess within five, and patch a critical issue within seven days of confirming it.
Polski PRO
Polski PRO is a separate paid plugin.
Included in Polski for WooCommerce:
- Numbered VAT invoices
- GPSR, Omnibus, consents, withdrawals and unit prices
- NIP detection, VIES check, KSeF hooks
Polski PRO adds:
- PDF invoices, UBL/PEPPOL XML, JPK_FA report
- KSeF 2.0 sending (FA(3), online mode)
- Shipping integrations (InPost, DPD, DHL, Poczta Polska)
- Multi-step checkout, subscriptions and gift cards
- Fulfilment, affiliates, pre-orders, bundles, catalog mode and RFQ
The free edition is not a trial and its modules remain available without a time limit.
- Polski PRO – plogins.com/polski-pro/
- Compare editions and pricing – plogins.com/polski-pro/pricing/
- PRO documentation – plogins.com/polski-pro/docs/
External Services
The plugin makes no external calls except the ones listed below. Each one is off until you switch on the module and enter the account, ID or address it needs. The Compliance checklist fetches your own shop’s pages only.
GUS REGON API
When the VAT ID (NIP) lookup module is enabled, the plugin can connect to the public GUS REGON registry to fetch company data based on the VAT ID entered by the user. The connection is made only after the lookup is deliberately triggered.
- Data sent: the VAT ID (NIP).
- Service address: https://wyszukiwarkaregon.stat.gov.pl/
- Terms of service: https://api.stat.gov.pl/Home/RegulaminBIR
- Privacy policy: https://bip.stat.gov.pl/
VIES (European Commission)
When the EU VAT ID check module is enabled, the plugin can connect to the European Commission’s VIES service to confirm that a customer’s EU VAT number is registered. The connection is made only when the check is deliberately triggered from the order screen.
- Data sent: the customer’s EU VAT number and, if you configure one, your own VAT number, which is what makes it a qualified check and returns a consultation number.
- Service address: https://ec.europa.eu/taxation_customs/vies/
- Terms of use: https://ec.europa.eu/taxation_customs/vies/#/help
- Privacy policy: https://commission.europa.eu/privacy-policy-websites-managed-european-commission_en
Swiss UID register (Federal Statistical Office)
When the EU VAT ID check module is enabled and the number is Swiss (CHE), the same check from the order screen asks the Swiss UID register instead of VIES.
- Data sent: the customer’s Swiss UID or VAT number.
- Service address: https://www.uid-wse.admin.ch/
- Terms of use and data protection: https://www.uid.admin.ch/Disclaimer.aspx
Google OAuth
When the social login module is enabled and Google login is configured, a customer clicking the continue-with-Google button is redirected to Google for authentication. The plugin exchanges the authorization code for an access token and fetches the profile data needed to sign in or create an account.
- Data sent: the redirect address, client ID, authorization code and access token used to fetch the profile.
- Data received: the Google account ID, e-mail address and name.
- Service address: https://accounts.google.com/
- Terms of service: https://policies.google.com/terms
- Privacy policy: https://policies.google.com/privacy
Facebook OAuth
When the social login module is enabled and Facebook login is configured, a customer clicking the continue-with-Facebook button is redirected to Facebook for authentication. The plugin exchanges the authorization code for an access token and fetches the profile data needed to sign in or create an account.
- Data sent: the redirect address, application ID, authorization code and access token used to fetch the profile.
- Data received: the Facebook account ID, e-mail address and name.
- Service address: https://www.facebook.com/
- Terms of service: https://www.facebook.com/legal/terms
- Privacy policy: https://www.facebook.com/privacy/policy/
Google Tag Manager / Google Analytics
When the DataLayer module is enabled and a GTM container ID or a GA4 measurement ID is configured, the plugin can load the Google Tag Manager or Google Analytics scripts in the shop and send ecommerce events according to the configuration.
- Data sent: page views and ecommerce event data, for example product IDs, product names, prices, cart actions, checkout events and order values, depending on the configuration.
- Service address: https://www.googletagmanager.com/
- Terms of service: https://policies.google.com/terms
- Privacy policy: https://policies.google.com/privacy
Tracking tags (advertising and analytics)
When the Tracking Tags module is enabled, each provider below loads only if you switch it on and enter your own ID, key or domain. Its script is placed in the page as an inert placeholder and runs in the visitor’s browser only after the visitor grants the matching consent category in the cookie banner (marketing for advertising pixels, analytics for measurement tools). Nothing is sent from your server.
- Data sent: the page address, referrer, browser and device data, the visitor’s IP address and the provider’s own cookie identifiers, plus a page-view event. The plugin sends no order or customer data through these tags.
- Meta Pixel: https://connect.facebook.net/, terms, privacy policy
- TikTok Pixel: https://analytics.tiktok.com/, terms, privacy policy
- Microsoft Advertising (Bing UET): https://bat.bing.com/, terms, privacy policy
- Microsoft Clarity: https://www.clarity.ms/, terms, privacy policy
- LinkedIn Insight Tag: https://snap.licdn.com/, terms, privacy policy
- Pinterest Tag: https://s.pinimg.com/, terms, privacy policy
- X (Twitter) Ads: https://static.ads-twitter.com/, terms, privacy policy
- Google Ads: https://www.googletagmanager.com/, terms, privacy policy
- Matomo: the Matomo address you enter (your own server or Matomo Cloud), terms, privacy policy
- Plausible: https://plausible.io/, terms, privacy policy
- PostHog: https://app.posthog.com/, terms, privacy policy
- Hotjar: https://static.hotjar.com/, terms, privacy policy
- Inspectlet: https://cdn.inspectlet.com/, terms and privacy policy
- Crazy Egg: https://script.crazyegg.com/, terms, privacy policy
- Simple Analytics: https://scripts.simpleanalyticscdn.com/, terms, privacy policy
Google Fonts preconnect
When the Safe Fonts module is enabled and Google Fonts are not held back until consent, the plugin adds preconnect hints for fonts.googleapis.com and fonts.gstatic.com, so the visitor’s browser opens a connection to Google before your theme loads its Google Fonts. Data sent: the visitor’s IP address and browser data. Terms, privacy policy, Google Fonts privacy FAQ.
Featured product video
When the Featured Video module is enabled and you enter a video address (for example YouTube or Vimeo), WordPress fetches the embed code from that provider through its oEmbed feature, and the visitor’s browser loads the player from the provider. Data sent: the video address from your server; the visitor’s IP address and browser data from the player. The provider’s own terms and privacy policy apply.
AI features (WordPress AI Client)
The optional AI features do not call a provider themselves: they hand a prompt to the WordPress AI Client, and the AI provider plugin you install and configure (for example OpenAI, Anthropic or Google) sends it to that provider. Nothing is sent when no provider is configured.
- Withdrawal reason classification (off by default, Withdrawal settings): after a declaration is filed, the customer’s free-text reason is sent to classify it into a fixed category.
- GPSR safety text draft and product summary (AI Bridge module, off by default): when an admin clicks generate, the product name, short description and description are sent.
- The terms and privacy policy of the provider you configured apply.
Webhooks you configure
The Store health monitor and the CRA incident log (security.txt module settings) can post to a webhook address you enter. Nothing is sent unless you fill in that address.
- Store health monitor: an alert text with the store status and the failed checks, sent as JSON to your webhook URL.
- CRA incident log: the incident record you dispatch (reference, type, severity, status, title, summary, affected component and versions, dates, reporter and notes), sent as JSON to your webhook URL.
- The receiving service is the one you choose; its terms and privacy policy apply.
Admin-panel feedback and deactivation-form information are stored locally in WordPress and are not sent to an external service.
Is Polski translated?
Polski for WooCommerce is fully translatable and ships the polski.pot template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.
Is Polski for WooCommerce free?
Yes. Polski for WooCommerce is a free WooCommerce plugin for Polish online shops and is distributed as open source under GPLv2 or later.
Which WooCommerce shop is Polski for?
Polski is intended for WooCommerce stores selling in Poland or to Polish customers. It is especially useful when a shop needs modules for GPSR, Omnibus, GDPR, VAT ID (NIP), the right of withdrawal, KSeF and product data.
Does Polski support GPSR in WooCommerce?
Yes. Polski adds GPSR-related product fields, including manufacturer, importer and EU responsible person data, product identifiers, safety warnings and instructions. The data can be filled in the product editor and in bulk via CSV import or export.
Can I show the manufacturer, importer and responsible person on the product page?
Yes. The GPSR module can store and display the manufacturer, importer and EU responsible person data on the WooCommerce product page. Visibility depends on the module settings and the data filled in for the product.
Does Polski support the Omnibus Directive and the lowest price from 30 days?
Yes. The Omnibus module records price history and can display the lowest price from the last 30 days on discounted products. You can adjust the display settings in the module panel.
Does Polski add GDPR consents in WooCommerce?
Yes. The plugin lets you add configurable consent checkboxes at order, registration and reviews, and keep a consent log with date, context and technical audit information.
Does Polski add checkboxes at checkout?
Yes. Polski can add checkboxes for the terms, privacy policy, withdrawal information, consent for digital content, marketing consent, delivery notifications and a review reminder.
Does Polski add a withdrawal or return form?
Yes. Polski can add right-of-withdrawal handling from the customer account, with request confirmation, a request log and e-mail messages. This helps organise the returns process in WooCommerce.
Does Polski support VAT ID (NIP) in WooCommerce?
Yes. Polski includes features and hooks related to the Polish VAT ID (NIP), including detection of orders that may require invoice or KSeF handling. Field availability and behaviour depend on the enabled modules.
Does Polski support KSeF in WooCommerce?
Polski is not a complete system for sending invoices to KSeF, but it adds mechanisms ready for integrations: flagging orders by VAT ID, a KSeF status column and hooks for invoicing plugins and custom integrations.
Does Polski issue invoices in WooCommerce?
Yes. The Invoices module adds an Issue invoice button to the order screen and numbers VAT invoices per year (FV/1/2026). The customer opens the invoice from My Account and prints it from the browser. It does not send invoices to KSeF and does not replace an accounting system. Invoices as PDF files, UBL/PEPPOL XML and the JPK_FA report come with Polski PRO.
Does Polski work with the WooCommerce block checkout?
Yes. Polski supports the classic checkout as well as the block-based WooCommerce cart and checkout.
Does Polski work with HPOS in WooCommerce?
Yes. Polski declares compatibility with WooCommerce HPOS, that is High-Performance Order Storage / Custom Order Tables.
Does Polski add unit prices in WooCommerce?
Yes. The plugin lets you show unit prices, for example per kg, litre, metre, piece or a custom unit.
Is Polski suitable for a WooCommerce grocery shop?
Yes. Polski includes modules useful for grocery shops, including composition, nutrition values, allergens, origin, distributor and additional product labelling fields.
Does Polski add a DSA report form?
Yes. The plugin includes DSA tools, including point-of-contact settings, an illegal-content report form shortcode, a report-handling panel and e-mail notifications.
Does Polski add a wishlist, comparison and quick view?
Yes. The storefront modules include a wishlist, product comparison, quick view, back-in-stock notifications, AJAX filters, AJAX search and product badges.
Can I enable only selected modules?
Yes. Polski is modular, so you can enable only the features you need, for example GPSR, Omnibus, GDPR, returns, VAT ID, DSA or storefront modules.
Does Polski support CSV import and export?
Yes. Polski extends the WooCommerce CSV import and export with selected product data, including GPSR fields and other product information.
Does Polski have shortcodes?
Yes. The plugin provides shortcodes for selected modules, including GPSR information, withdrawal forms, DSA reports, complaint templates and shop messages.
Does Polski guarantee legal compliance?
No. Polski provides technical modules for WooCommerce, but it is not legal advice and does not guarantee that your shop is compliant. Your shop configuration, terms and obligations always have to be verified for your specific business.
Is Polski ready for the Cyber Resilience Act?
Polski follows security practices relevant to CRA readiness: updates are delivered through the official WordPress.org channel, vulnerabilities can be reported under a coordinated disclosure policy, the code uses standard WordPress security mechanisms, and external services are described in this readme. This is not a declaration of legal compliance.
Where do I report bugs or feature requests?
For day-to-day support use the WordPress.org forum. Technical bugs and feature requests can also be reported in the GitHub repository.
Does the plugin have a simple feedback form?
Yes. The admin panel includes a simple feedback form that stores messages locally in WordPress. Do not enter passwords, license keys or customer personal data there.
What happens when the plugin is deactivated and uninstalled?
Deactivating the plugin keeps your settings and stored data. Uninstalling removes the plugin files. Plugin data is removed only when you enable the “remove data on uninstall” setting.
Plugin details
Tags on WordPress.org
