You need a POS system that connects to WooCommerce using the WooCommerce REST API. When you sell in-store, stock updates on your WordPress site automatically. When an online order comes in, your POS stock adjusts in real time via HMAC-verified webhooks. Products must be created in WooCommerce first, then imported. No plugin installation needed: just a WooCommerce API key.
WooCommerce is required. This integration uses the WooCommerce REST API. Your WordPress site must have WooCommerce installed and active. It does not work with WordPress sites that use a different ecommerce plugin or none at all.
The problem with running WooCommerce and a shop separately
A customer buys your last pair of running shoes in-store on Tuesday morning. On Tuesday afternoon, another customer orders the same pair on your WooCommerce site. You now have one item and two commitments: and one of those customers is going to be disappointed.
Without a sync, the only fix is manual: log into WooCommerce after every in-store sale and update the stock count. For busy shops, this is either forgotten or done in batches at the end of the day: by which time overselling has already happened.
Two-way sync eliminates this entirely. Your WooCommerce stock and your physical shop inventory are the same number, updated in real time.
How the WooCommerce sync works
When you sell in-store
A sale in WebpinnPOS triggers an immediate API call to WooCommerce. The product's stock count decreases on your WordPress site in real time. Customers visiting your WooCommerce store see the correct stock level within seconds.
When a WooCommerce order comes in
WooCommerce sends a webhook to WebpinnPOS when a new order is created or updated. WebpinnPOS verifies the webhook signature (HMAC-SHA256) and deducts the ordered quantity from your POS inventory. The order lives in WooCommerce, WebpinnPOS only uses it to update stock.
Background sync
Product data (names, prices, images, variants, categories, barcodes) syncs from WooCommerce to WebpinnPOS every 30 minutes automatically. A manual "Sync Products" button is also available if you want to force an immediate refresh.
What syncs and what does not
| Data | Syncs? | Direction |
|---|---|---|
| Products (name, price, description, image) | Yes | WooCommerce → POS |
| Product variations (stock, price, SKU) | Yes | WooCommerce → POS |
| Barcodes (SKU, GTIN, custom meta) | Yes | WooCommerce → POS |
| Categories | Yes | WooCommerce → POS |
| Stock after in-store sale | Yes | POS → WooCommerce |
| Online order stock deduction | Yes | WooCommerce → POS |
Barcode support
WebpinnPOS reads barcode data from five WooCommerce meta fields: so whatever field your existing products use, it will be picked up automatically:
This means products with GTINs from a barcode scanner, SKUs used as barcodes, or a custom barcode field will all import correctly without reconfiguration.
How to connect WooCommerce to WebpinnPOS
No plugin needs to be installed on WordPress. The connection uses a WooCommerce REST API key you generate in your WordPress dashboard.
- In WordPress, go to WooCommerce → Settings → Advanced → REST API and click "Add key"
- Set permissions to Read/Write, generate the key, and copy the Consumer Key and Consumer Secret (you only see the secret once)
- In WebpinnPOS, go to Settings → Integrations and click "Connect WooCommerce"
- Enter your WordPress site URL, Consumer Key, and Consumer Secret
- WebpinnPOS registers the webhooks automatically in WooCommerce
- Click "Sync Products" to import your full product catalogue
Does it work alongside a Shopify store?
Yes. WebpinnPOS can sync with WooCommerce and Shopify simultaneously. If you sell on both platforms plus in-store, all three channels share the same inventory pool. See: How to Sync Your Shopify Store with a Physical Shop in Kenya.
What about M-Pesa for in-store payments?
WooCommerce does not handle your in-store payments. WebpinnPOS handles M-Pesa STK Push, cash, and card payments at the till: completely separately from whatever payment gateway your WooCommerce store uses. The two payment systems do not interfere. See: How to Accept M-Pesa Payments at a Physical Shop in Kenya.
Frequently asked questions
Connect your WooCommerce store today
Two-way inventory sync. Real-time webhooks. M-Pesa at the till. One POS for everything.
Start Free Trial