When a Bristol retailer starts selling online as well as in store, one of the first problems is stock accuracy. A product is sold at the counter on Gloucester Road while someone adds the same item to their online basket. Two systems may each show an available quantity that no longer reflects what is actually on the shelf. The result can be an oversold order, an apologetic customer call and time spent manually correcting the figures.
A WooCommerce point-of-sale integration should do more than copy one stock number every night. It should define which system owns the product catalogue, what counts as a sale, how stock moves between locations and what happens when an update fails.
What WooCommerce already does, and what it does not
WooCommerce includes product stock-management settings. Store owners can enable managed quantities, backorders, low-stock alerts and settings relating to stock held for unpaid orders. These are documented in the official WooCommerce inventory settings. Products and variations also have their own identifiers and inventory configuration.
However, standard stock management for one web store is not automatically the same as a connected, multi-branch retail inventory system. If two Bristol shops, a warehouse and an ecommerce website share products, you need a deliberate design for individual location quantities, transfers, reservations and order fulfilment. A suitable extension or custom integration may be required.
1. Choose one reliable source of truth
Start by deciding which application is responsible for each kind of record. For example, the POS might own shop-level stock and till sales while WooCommerce owns the online checkout and web-order status. Product titles and photos may be managed in WooCommerce, while cost prices and supplier records stay inside a staff-restricted system.
A one-way feed can be sufficient for simple catalogue updates. Shared stock normally needs a dependable two-way process, but two-way does not mean both systems should be allowed to overwrite everything. Define the direction and authority of each event.
2. Use stable SKUs and variation identifiers
A common mistake is matching products only by their name. “iPhone case black” is not a reliable identifier where several device models, colours and versions are sold. Each distinct sellable item needs a stable SKU or agreed unique mapping. Match variable products at variation level where necessary and avoid creating duplicate stock records when descriptions change.
Before connecting live data, produce a mapping sheet with POS item ID, WooCommerce product or variation ID, SKU, location and the expected units. Flag unmatched, duplicated and inactive products for review. Never assume two similar product names are the same physical item.
3. Distinguish available stock from physical stock
Imagine a shop has five items on the shelf, two allocated to click-and-collect orders and one awaiting a stock adjustment. A simplistic stock feed might send “5 available” to the website even though some units are already committed. Your integration needs a consistent definition of physical, reserved and sellable units.
Decide when an online order reserves stock and how cancelled, unpaid, failed or refunded transactions release it. The same rules must be applied to payments made through the till. WooCommerce has order-status and stock behaviour that should be tested against your actual checkout, payment method and extensions.
4. Handle multiple Bristol branches explicitly
If a business operates in Bristol city centre and Bishopston, stock held in one branch does not necessarily mean an online customer can collect the product at the other. Decide whether the online catalogue shows total network stock, delivery stock, store-specific pickup availability or a combination. A store transfer should create a traceable movement rather than simply subtracting quantity in one place and adding it somewhere else.
- Represent each real shop and warehouse as a distinct stock location.
- Keep transfers, returns, damage and manual adjustments in an audit history.
- Show collection availability only when the chosen branch can actually fulfil.
- Restrict cost price, margin and supplier information according to staff permissions.
- Handle shop closure, internet outages and temporary reservations safely.
5. Decide how and when updates synchronise
A sync can use scheduled polling, event-based updates or a combination. Fast updates reduce the window for overselling, but failed requests, timeouts and duplicate events still happen. A reliable design needs an event ID or equivalent duplicate protection, retries with limits, monitoring and a queue for updates that require a human to investigate.
For each important event, decide whether it updates the POS, the web shop or both. Typical events include till sale, website order, order cancellation, refund, stock receipt, transfer and stock count adjustment. Log both successes and failures without exposing customer data unnecessarily.
6. Test the edge cases before launch
Do not test only a successful web order. Run the following scenarios against sample products:
- The last item sells online and at the counter within a short period.
- An unpaid order expires, and its reserved stock should become available again.
- A partially refunded order returns one unit but not another.
- A staff member changes a SKU or disables a product variation.
- A shop loses internet connectivity during a sale.
- A stock adjustment is submitted twice.
- A customer orders click-and-collect from the wrong branch.
- Supplier stock arrives but is not yet checked into available inventory.
Keep a simple reconciliation report: for each SKU and location, compare opening quantity plus receipts and returns minus sales, transfers and adjustments with the recorded closing quantity. Investigate differences before trusting the feed.
7. What should your integration quote include?
Ask a developer to separate discovery and mapping, API or connector setup, variation matching, stock rules, checkout and cancellation handling, logging, testing, documentation and aftercare. Confirm the ownership of customer and operational data, the security of API credentials and the process for handling changes to WooCommerce or POS software.
The cheapest plugin may be sufficient for a one-location shop. A multi-store retailer with service jobs, buy-backs, staff permissions and supplier purchasing may need extra controls. Avoid paying for bespoke development unless you can identify the operational problem a standard product cannot solve.
Frequently asked questions
Can WooCommerce automatically sync with our shop till?
Sometimes, if the till supports a maintained integration and both systems have compatible stock rules. Otherwise it may require an API-based connector or a carefully designed custom workflow. Always test order cancellation and stock changes before launch.
Can WooCommerce show stock separately for two Bristol stores?
Not through its simplest single-stock setup alone. Location-aware inventory can be implemented with an appropriate extension or bespoke integration, depending on requirements.
Should the POS or WooCommerce control product prices?
Choose based on business ownership and permissions. It can be sensible to have one master price list, but store promotions and web-only offers may require separate explicit rules.
Does two-way sync prevent all overselling?
No. Delays, failures, competing orders and inaccurate physical counts still need to be handled. Reliable reservations, reconciliation and exception alerts reduce risk.
For help scoping a connected retail platform, explore ecommerce web design in Bristol, software development and our multi-location operations case study. You can discuss WooCommerce and POS integration with Ubbi Soft.