We have made the case, repeatedly, that a distributor is better off with
WooCommerce as the storefront and a custom ERP behind it
than with any all-in-one commerce platform. That argument is sound, and we
still make it, for firms getting serious about selling online for the
first time. WooCommerce gets a catalogue and a cart live quickly, cheaply,
and without locking the firm into a per-transaction subscription.
This essay is the other half of that argument, the half we owe to anyone
who took the first half seriously. WooCommerce is an excellent way to
start. It is a poor thing to depend on permanently once the business has
grown. There comes a point where the platform that accelerated you becomes
the component most likely to fail you, and the right move is to rebuild the
storefront as a custom application. This is not a reversal of our earlier
position. It is the same position, extended to the stage of the business
the earlier essay did not cover.
What WooCommerce costs once you depend on it
The cost is not licensing. WooCommerce is open source. The cost is that
WooCommerce is a moving surface that you do not control, sitting in the
critical path of your business.
It runs on its own database, MySQL, separate from wherever your operational
data lives. If your ERP runs on PostgreSQL, you now have two databases
holding the same customers and products, kept in agreement by a sync. We
have written separately about why
two databases holding the same record means two truths,
and why that sync is the part most likely to break. WooCommerce is the most
common reason a distributor ends up in that position.
It depends on plugins, and plugins update on their own schedule. A plugin
that handles a part of your checkout, your tax logic, or your integration
can change a field, rotate a key, or alter behaviour in a point release.
Your integration was written against the old behaviour. Now it is broken,
and you did not change anything. The platform changed underneath you.
Its API surface is large and not stable across versions. Code you wrote to
read orders or push product updates can stop working after a WooCommerce
update, silently, with the first symptom appearing somewhere downstream.
None of this is a defect in WooCommerce. It is what depending on a
general-purpose, plugin-driven platform means. The platform optimises for
the broad market, not for your firm's stability, and it owes you no
guarantee that the surface you built against will stay still.
The signals that you have outgrown it
The move is justified by signals, not by ambition. Watch for these.
Your sync breaks more than rarely, and each break costs real time to
diagnose and a cleanup of whatever drifted while it was down. The
maintenance has stopped being occasional.
You maintain the same data in more than one place and have started to
distrust your own prices, checking whether the store and the back office
agree before you act. You no longer have a single source of truth.
Your customers are trade buyers whose orders need negotiated pricing,
credit terms, and a proforma flow, and you are bending WooCommerce's
consumer checkout to fit a shape it was not built for, plugin by plugin.
You want capabilities the platform makes awkward: a payment path and an
enquiry path on the same cart, invoice delivery on WhatsApp, pricing driven
from Tally. Each is a fight against the platform's assumptions rather than a
feature you simply build.
When several of these are true at once, WooCommerce has crossed from asset
to liability. The plugins and the sync that hold it together now cost more
attention than the platform saves.
What to rebuild it as
The replacement is a custom storefront that reads from and writes to the
same database your operational system already uses. No second database. No
sync. The storefront and the back office become two interfaces onto one set
of records. A customer is written once. An order lands in the operational
backend directly. A price is correct because there is only one copy of it.
This is what we did for
AK Suppliers & Distributors after three
years on WooCommerce. We retired WooCommerce and its MySQL database,
rebuilt the storefront as a custom Next.js application on the ERP's own
PostgreSQL, added a live PayU checkout alongside the existing enquiry flow,
and made Tally the single source of truth for products, pricing, and
invoices. The sync that used to break is gone, because there is nothing
left to sync.
A custom storefront sounds like the expensive option, and at the start of a
firm's online life it is. At this stage it is the cheaper one, because it
removes an entire maintenance surface rather than adding to it. You stop
paying the plugin-and-sync tax forever in exchange for a one-time build.
The honest version of the advice
The advice is not "avoid WooCommerce." WooCommerce is the right first
storefront for most distributors, and we will keep recommending it for that
purpose. The advice is to treat it as the right tool for a stage, not a
permanent foundation. Start on it. Get online. Learn what your commerce
actually needs from running real orders through it. And when the signals
say the platform has become the liability rather than the accelerant,
rebuild the storefront on your own database and let WooCommerce go. The same
reasoning that made it the right start makes leaving it the right finish.