A store that starts with a dozen orders a week manages fine without any integrations - the owner issues invoices by hand, updates stock by hand, enters orders into the accounting system by hand. Trouble starts when orders hit a few dozen a day, the store also sells on Allegro (Poland’s dominant marketplace) or several marketplaces at once, and the accountant receives a monthly spreadsheet stitched together from three different sources.
At that point “do I need an integration” turns into “how many hours a week am I losing on things a system should be doing for me”. And that is a good moment to lay out honestly which integrations are typical for Polish WooCommerce stores, how they work technically, and what to watch so the result is not more mess than you started with.
Which integrations a Polish WooCommerce store typically needs
A growing WooCommerce store in Poland usually needs integrations in three areas: multichannel sales, accounting and - now mandatory - structured invoicing.
Baselinker - for multichannel sales. When a store sells simultaneously on its own WooCommerce platform, on Allegro and sometimes on other marketplaces, handling orders from several places by hand quickly becomes impossible. Baselinker (the order-management hub most Polish stores run on) works as a central node - it pulls orders from every channel into one place, syncs stock between them so you do not sell the same item twice in two different shops, and integrates with couriers, generating shipping labels from a single panel.
Subiekt / wFirma - for accounting. These are the systems where a Polish company’s accounting lives - invoices, sales records, social security and tax office filings. Integrating them with WooCommerce means an order placed in the store automatically generates a sales document in the accounting system, with no retyping of line items, customer details and amounts. That removes exactly the work that most often lands at the end of the day as “I still have to issue today’s invoices”.
KSeF - mandatory structured invoicing. Poland’s National e-Invoicing System changes how companies issue invoices - instead of an arbitrary PDF or printout, an invoice must take a structured form matching the KSeF schema and land in the Ministry of Finance’s central system. For a WooCommerce store this means the invoicing process (usually handled by the accounting system the store is connected to) has to support that format and that submission - it is no longer an optional extra.
If you are still choosing the store platform itself, before ERP integration is even on the table, it is worth starting with which platform to pick at the outset - integrations with Polish accounting systems are one of the strong arguments for WooCommerce anyway, because you get full access to the code and the API.
What an integration consists of, technically
Integrating WooCommerce with an external system usually rests on three mechanisms, often used together.
API - both systems (the store and the ERP or invoicing system) expose a programming interface through which they exchange data: a new order, a stock change, a payment status. That is the basic language two independent systems speak.
Webhooks - instead of asking “has anything changed” on a loop, the system sends a notification the moment something actually happens - WooCommerce tells the external system about a new order immediately rather than waiting for the next poll. Faster and lighter than constant checking.
Stock and order synchronisation - the heart of the whole thing. The point is that stock in the store, in the ERP and (if you sell multichannel) on the marketplaces always agrees, and every order reaches the right system exactly once - not duplicated, not lost.
That last sentence is also the biggest source of problems when an integration is done carelessly.
What to watch - duplicate orders and sync lag
Duplicate orders. The most common problem with a poorly designed integration: the same order reaches the accounting system or ERP twice - once on placement, once on a payment status change, because the integration does not properly distinguish events. The result is double invoices, duplicated sales records and an accountant spending time working out which document is the real one. A good integration has an unambiguous order identifier (a unique number) that stops the same event being processed twice.
Stock sync lag. If the store sells across several channels and stock sync runs with a delay - say once an hour instead of near real time - you can genuinely sell a product that is gone; the customer pays for something you cannot ship. That leads to refunds, frustration and extra work cancelling orders.
Silent inconsistency after a failure. When one of the systems briefly stops responding (API down, server overloaded), the integration needs retries and error reporting - otherwise the order simply vanishes on the way and nobody finds out until the customer asks where their invoice or parcel is.
Changes on the API vendor’s side. External systems - order hubs, accounting software, KSeF - change on their own: they update their APIs and shift data-format requirements. An integration that worked a year ago can stop working through no change on your side, which is why integrations need at least minimal supervision rather than a one-off build and a shrug.
What helps: with every integration, ask directly how error handling works and what happens when one of the systems stops responding for a moment. An integration with no plan for failure is an integration that will eventually lose an order at the worst possible time.
What the rollout usually looks like
Building an integration between WooCommerce and an external system runs through a few stages, whether it is an order hub, an accounting system or e-invoicing.
It starts with mapping the processes - establishing exactly what should happen step by step: which event in the store (new order, status change, return) triggers which action on the other side (new document in accounting, stock update, notification to the courier). Without that stage the integration does too much or too little - and that is where the duplicated or lost orders above come from.
The next stage is configuring the connection between the systems - API keys, webhook setup, a test environment where the whole flow is verified before it reaches production. Same sensible reflex as testing updates on staging: you do not deploy an integration straight onto a live store with real customer orders.
Then comes testing on real but controlled scenarios - place a test order, check that the document appeared where it should, exactly once, with all the right data. Only after that does the integration go to production and start handling real traffic.
Once live, an integration is not closed forever - it needs periodic checks that it still behaves as expected, especially after larger WooCommerce updates or changes on the external system’s side. That is one of the things that sits well inside ongoing technical care for the store - so an integration that worked a month ago does not quietly stop working without anyone noticing.
When an integration is worth considering at all
An integration makes sense when retyping data between systems starts costing real time - usually visible at a few dozen orders a day, or once sales run on more than one channel. Below that threshold, manual handling can be cheaper than building and maintaining the integration. Above it, the integration starts paying back, because it removes hours of work you would otherwise have to pay someone for.
The same question is worth asking in the wider context of your store’s architecture - if WooCommerce is becoming the central sales point for a larger company, including B2B, then ERP and invoicing integrations are a natural and often necessary part of the whole; that is store growth and optimization territory. And if the integration is part of a broader refresh of the company’s presence online, it is worth pairing with what a modern company website wired into the same back office looks like.
Do not guess - check your own case
Every store has a different set of systems to integrate with - a different accounting package, different sales channels, a different level of order complexity. There is no single universal turnkey build that fits everyone. If you are working out how to approach ERP, invoicing or e-invoicing integration in your WooCommerce store, send me a description of what you work with today and where the manual work hurts most. I will do a free review and come back with a concrete scope and a fixed bid in writing within 24 hours.
FAQ
Does e-invoicing apply to my online store? If you issue invoices as a company - yes. In Poland the obligation started in February 2026 for the largest taxpayers and covered everyone else from April 2026. In practice, the program where your store’s sales invoices are created has to be able to send them in the required format.
Will WooCommerce send the invoice to KSeF by itself? No. WooCommerce is a store, not accounting software - the structured invoice is issued and submitted by the invoicing system or ERP the store is connected to. The integration’s job is to deliver a complete, correct set of order data there exactly once.
How much does integrating WooCommerce with an ERP or invoicing cost? It is always two separate items: a one-off build on my side and a subscription on the system vendor’s side, usually tied to document volume or the number of sales channels. I give the build price in writing after reviewing what you work with, because the gap between plugging in a ready-made connector and writing an integration around an unusual process is enormous.
Does an order hub replace accounting integration? Not always. Baselinker organises multichannel sales and shipping, and it can either handle invoicing itself or pass it to the accounting system - a decision to make deliberately at the process-mapping stage. Switching both paths on at once is the shortest route to duplicated invoices.
Sitting on this yourself and unsure where to start? I speed up and repair existing sites and stores - Core Web Vitals, outages, the features that are missing. Tell me what is happening and you will get a concrete quote with a date.