Connecting WooCommerce to Sage, with a check in the middle
WooCommerce orders matched to Sage accounts and stock codes, checked for price and stock, and created in your edition of Sage, with emailed trade orders handled in exactly the same way.
- WooCommerce
- Sage
- Microsoft 365
A WooCommerce to Sage integration should do more than copy orders from one system to the other. Zestcode Automation builds a small bespoke platform between the two: each web order is matched to a Sage customer and to Sage stock codes, checked for price and stock, approved, then created in Sage the way your team would enter it. Emailed trade orders go through the same checks, so Sage receives one consistent kind of record.
Straight copying is where most problems come from. A SKU that differs by one character from the Sage stock code, a guest checkout with no account, a shipping line Sage doesn’t recognise: a direct sync either fails on these or, worse, posts them wrongly.
What has to line up between a WooCommerce order and Sage?
| WooCommerce | Sage | What the platform does |
|---|---|---|
| Billing email or company | Customer account | Matches to an existing account, or offers to create one |
| Product SKU | Stock code | Looks it up, or uses a mapping where the codes differ |
| Line price | Your Sage price | Compares the two and flags any difference |
| Shipping line | Carriage | Maps it to the carriage line or code you use |
| Order number or PO field | Order reference | Stored where it will print and be searchable |
| Tax on each line | Tax code | Mapped to tax codes agreed during specification |
Every row in that table is a place where an order can quietly go wrong. Laying them out during specification, with examples from your own store, is most of the work of getting an integration right.
Should guest checkouts get their own Sage account?
It depends on how you report. Some businesses post every guest order to a single cash sales account, which keeps the customer list tidy. Others want a Sage account for each buyer so repeat customers build a history. Trade customers who log in should always map to their real account, so their terms, pricing and credit limit apply. The platform can do any of these; the decision is yours, and it’s written into the specification.
Which edition of Sage changes the connection?
All of them, to a degree. Sage 50, Sage 200 and Sage Business Cloud Accounting integrate differently: Sage 50 is generally desktop software reached through your own network or a hosted setup, Sage 200 depends on its deployment, and the cloud product works over the internet. What an approved order becomes (a sales order or an invoice) also follows from the edition and how you use it. We confirm the route for your installation during the written specification, before quoting. The ERP integration page explains how records are mapped.
Why not install a plugin that posts straight into Sage?
For a simple store, you might. Connector plugins and apps exist for linking WooCommerce with Sage products, and if one handles your edition and your data, it will cost less than a bespoke build. The bespoke route makes sense when:
- trade customers order by email or phone as well as online, and you want one process for all of them
- web orders need a person’s approval, or a price and stock check, before they reach the ledger
- your store uses plugins that add fields a standard connector ignores, such as PO numbers or account references
- you’d rather own the code than depend on a plugin’s roadmap
Costs and ownership
Getting WooCommerce and emailed orders into Sage through a checked queue usually falls within £8k–£12k excluding VAT. Warehouse picking and carrier booking can be added later as a second phase. The figure is indicative; a free written specification is followed by a fixed quote that holds for 90 days. Monthly running costs are modest, with hosting around $25 and a few pence of AI per emailed order.
At handover the integration is yours outright, hosted in accounts held by your company, with no per-seat charges. You choose whether we maintain it.
Common questions
Straight answers to what people ask us about this before a call.
Do WooCommerce SKUs have to match Sage stock codes exactly?
It makes life easier, but it isn’t essential. Where SKUs and stock codes differ, we hold a mapping between them that your team can maintain, and any WooCommerce product without a match is flagged in the review queue instead of being created against the wrong item. Tidying the codes up beforehand is often worth doing anyway, and we’ll point out the gaps we find.
Can WooCommerce refunds and cancellations flow into Sage too?
Not as part of the standard first phase, which covers new orders reaching Sage correctly. Credit notes and cancellations usually stay with your accounts team, because they tend to need a judgement call. If you’d like them handled automatically, it can be scoped as an add-on, typically £500–£2,500, once we understand how your edition of Sage records them.
Can trade customers who order by email be handled alongside the web shop?
Yes, and for many businesses that’s the larger saving. Emailed POs are read by AI, matched to the customer’s Sage account and checked line by line, then placed in the same review queue as WooCommerce orders. Whichever way an order arrived, the record created in Sage looks the same, and duplicate PO numbers are caught across both channels.
Will Sage stock levels update the WooCommerce store?
Stock sync back to the store is a separate job from getting orders into Sage. Some businesses already handle it with a plugin or connector and are happy to keep that. If you don’t have one, or the current one is unreliable, it can be added to the project, and we’ll agree how often stock is refreshed and which figure the store shows.
How long does a WooCommerce to Sage project take?
Around six weeks for the first phase, after the specification is agreed. That covers reading WooCommerce and emailed orders, the review queue, and the connection into Sage, followed by testing on your real orders. The Sage connection is usually the part that needs most care, which is why we confirm the route for your edition before quoting.