Product Guides

How to Stop Overselling When Your WooCommerce Store Also Sells In Person

choPOS WooCommerce POS inventory sync banner with the real terminal interface and choPOS watermark

To reduce overselling across your WooCommerce website and shop counter, start with an accurate physical count, enable stock tracking on the right products or variations, and check how every sales channel changes that stock. Then test a sale, a return and the last remaining item on two devices.

A new POS can bring counter orders into WooCommerce, but it cannot correct every stock-setting mistake or guarantee that simultaneous orders are safe. This guide gives you a troubleshooting sequence and a test worksheet before you change systems. For the broader selection questions, start with our WooCommerce POS guide.

choPOS terminal showing WooCommerce products, product SKUs and a three-item counter cart
The choPOS terminal in the local demo store. Check the selected item, SKU and quantity before completing a counter sale.

The last-item problem

Imagine one blue, size-large shirt on the shelf. An online customer buys it while a cashier still sees it in the POS product list. If both sales are accepted, the shop has promised the same unit twice. A stale screen, missing stock checks, delayed synchronization or an allowed backorder can each contribute.

First identify which quantity should have changed. The website may use WooCommerce stock, a branch may use a separate pool, and an external POS may synchronize on a schedule. Seeing two different numbers does not tell you which system is correct.

Check these causes before replacing your POS

  • The stock count is already wrong. Compare shelf stock with WooCommerce, excluding damaged goods and stock allocated elsewhere.
  • Tracking is disabled. Check the global setting and the product or variation that owns the quantity.
  • The wrong variation is being sold. A blue large shirt and a blue medium shirt need a reliable way to identify the correct item.
  • Backorders are allowed. A negative quantity can be an intentional setting rather than a synchronization failure.
  • An order has not reached the expected stock-handling state. Inspect its status and notes, including pending payments, held orders and custom POS statuses.
  • Another tool overwrites quantities. Supplier feeds, marketplace connectors, imports and a separate POS may all write inventory.
  • A return changes money or stock differently than expected. A payment refund and putting sellable goods back on the shelf are separate decisions.
  • A device is showing an old result. Refresh the product and order records before assuming that an on-screen number is current.
choPOS product inventory list showing SKU, stock quantity, Manage stock controls and stock status
The local demo product list shows SKUs, tracked quantities and stock status together. An In Stock status alone does not mean quantity tracking is enabled.

Set up stock tracking for the item you actually sell

In WordPress, open WooCommerce → Settings → Products → Inventory and check that stock management is enabled. Then edit a physical product and check its inventory settings. Enter a quantity based on a real count and choose the backorder behavior your shop intends to allow. See WooCommerce’s stock troubleshooting guidance.

choPOS product editor for Beanie with Logo showing its SKU, stock quantity and enabled Manage Stock setting
The local demo product editor shows Manage Stock enabled and the saved quantity. These screen values are interface examples, separate from the five-unit test worksheet below.

For variations, decide whether stock is managed for the parent product or separately for each variation. Independent size and colour quantities need the right variation settings; do not configure both levels by guesswork. WooCommerce documents these choices in its variable product guide.

Give the items you scan unambiguous identifiers. Check that the code on a label selects the intended product or variation, then compare the selected SKU and attributes before checkout. Our scanner setup guide covers the hardware checks.

Know where inventory is controlled

If your POS creates WooCommerce orders directly, trace one counter order through WooCommerce and inspect its stock movement. With two connected systems, also check the product match, synchronization settings and scheduled jobs.

For example, WooCommerce’s Square integration documentation describes a source of truth for product data and scheduled checks for inventory changes. Manual quantity edits can be replaced by a later synchronization. Confirm the configuration before changing quantities in both systems.

A shared WooCommerce catalogue removes one reason to maintain two product lists. It does not prove that every checkout path performs a fresh stock check or that a quantity shown on another device has updated.

Run a sale-and-return stock test

Use a staging store or a clearly identified test product and test payment workflow. Prevent test orders from sending real customer messages or triggering fulfillment. Start with one simple product; repeat with a variation before opening the counter.

  1. Record the software versions, product ID, SKU, stock location and starting quantity. Use five units for this example, with backorders disabled.
  2. On device A, open choPOS and select the correct product. Complete a one-unit sale using your test payment workflow.
  3. Open the resulting WooCommerce order. Record the order ID, status and stock notes, then reload the product quantity.
  4. On device B, refresh the storefront and the POS product view. Record what each shows; do not infer it from device A alone.
  5. Return that unit using the intended refund/restock workflow. Check that the product is sellable again and that the quantity is correct.
  6. Confirm how money is returned. Recording a refund in the POS is not evidence that an external card terminal has returned the payment.

The table below is an illustrative test worksheet. These are expected quantities to check, not measured results from a completed choPOS demonstration.

StepExpected shared stockActual result to record
Starting count5Quantity and timestamp
One completed counter sale4Order ID, status and saved quantity
Refresh on a second device4Storefront and POS display after refresh
Restock the returned unit5Refund record and inventory quantity

If the actual result differs, stop and investigate before repeating the transaction. Check the existing order first after a timeout; clicking checkout repeatedly can create a second order when the first response was lost.

Test the last unit from two devices

Passing the five-unit test checks ordinary stock movement. A separate last-unit test checks a more demanding situation.

  1. Set the test product to one unit and disable backorders.
  2. Open the same item at the online checkout and the counter on separate devices.
  3. Complete the first test sale, then attempt the second sale after refreshing. Record whether it is rejected or allowed.
  4. Repeat with both baskets already open before either completes. If the shop needs simultaneous-sale protection, test overlapping requests under controlled conditions.
  5. Keep the order IDs, quantities and exact result. If both sales are accepted, do not claim overselling prevention; investigate the checkout validation before launch.

No shared-stock label, success message or marketing claim replaces this test. Ask support about the exact failure with your versions, product type, order statuses and inventory setup.

How this applies to choPOS Free and Pro

choPOS Free saves counter sales as WooCommerce orders and is intended for one store. It is a suitable starting point for testing a shared online-and-counter workflow. choPOS needs internet to load products and save orders; a local cart is not proof of a completed offline sale.

choPOS Pro adds branch inventory. The main store uses the website’s WooCommerce stock; other stores keep separate stock. A sale in a separate branch should affect that branch’s quantity. Verify the store selection and test the return in the same stock pool.

Use the Free vs Pro comparison when separate branches, purchasing or printing new barcode labels are the need. Scanning an existing label alone is a different task from generating labels. Buying Pro is not a substitute for checking backorders, counts or checkout validation.

Keep stock reliable after the test

  • Record every sale through the agreed workflow and check for an existing order before retrying a timeout.
  • Count frequently sold or easily confused items regularly and record why adjustments were made.
  • Check variations and new barcode labels before they reach the counter.
  • Review returns, cancellations and failed payments with the order notes and payment provider.
  • After changing the POS, gateway or inventory integration, repeat the stock tests.

Frequently asked questions

Does WooCommerce stock management stop every oversell?

No. It is a necessary configuration for tracked inventory, but backorders, integrations, checkout behavior and simultaneous sales still need testing.

Why does the POS show stock that the website no longer has?

Check whether the screen needs refreshing, whether both channels use the same product and stock pool, and whether a separate inventory sync is delayed or failing. Inspect the saved order and product quantity rather than relying on one screen.

Will a refund always put stock back?

That depends on the refund path and restocking choice. Check the returned quantity, whether the goods are sellable, and the inventory after the return. Also verify the payment refund separately.

Where should I start with choPOS?

Follow the WooCommerce POS setup guide and run the sale-and-return worksheet with choPOS Free. Save the order IDs and quantities before making the counter live.

Back to the blog

Keep reading

Get choPOS free

Enter your email and we will send you a link to confirm it. Once it is confirmed, you get the download.

By confirming, you agree to get occasional choPOS product news. You can unsubscribe at any time. Privacy Policy