xpay✦ Commerce
Directory
WooCommerce plugins
Purchase Orders, Suppliers & Multi-Warehouse Inventory for WooCommerce — Free
Purchase Orders, Suppliers & Multi-Warehouse Inventory for WooCommerce — Free
Free WooCommerce purchase orders, suppliers and multi-warehouse stock — plus optional sync to the WC-Manager dashboard for AI insights.
Will this break my store?
What the WordPress.org registry says about keeping Purchase Orders, Suppliers & Multi-Warehouse Inventory for WooCommerce — Free running.
Tested to 6.9.5 — 1 branch behind 7.0
Tested against the WordPress branch in use today.3 days ago
7.0
Your host must be running at least this version.5.6
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Purchase Orders, Suppliers & Multi-Warehouse Inventory for WooCommerce — Free is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
14 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
6 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
Run a complete supplier-to-shelf workflow inside WordPress — free, with no monthly fee and no SaaS account required. Built specifically for WooCommerce stores that have outgrown basic stock management but don’t want to pay enterprise prices for inventory software.
Create purchase orders by SKU, send them to suppliers, receive stock in one click, and watch WooCommerce stock counts update automatically — including per-warehouse counts if you run multiple locations or use OpenPOS. All from a clean new WC-Manager menu in your WordPress admin.
Free forever. Why?
We build a paid SaaS dashboard at wc-manager.com that adds AI insights, reports, restock forecasting and live POS feeds on top of the same data. The procurement modules in this plugin stay free for everyone — most stores need basic purchase orders before they need analytics, and we’d rather earn your trust now than charge you for the basics.
What you get, for free
Purchase Orders
* Build a PO by SKU — variations fully supported.
* Mark as draft, send, partial, received or cancelled with a clear status workflow.
* Receive in one click — WooCommerce stock_quantity, manage_stock and stock_status are bumped automatically.
* Per-warehouse stock updates if the receiving warehouse is mapped to an OpenPOS outlet (the _op_qty_warehouse_{id} meta OpenPOS uses).
* Auto-generated PO numbers (PO-00001, PO-00002, …).
* Notes, line-item costs and a running subtotal.
Suppliers directory
* Name, email, phone, payment terms and lead time.
* Keep all your supplier contacts in one place — no more digging through emails or spreadsheets.
Warehouses / stock locations
* Define your physical stock locations.
* Optionally map each one to an existing OpenPOS outlet so receives write to the same per-location meta key OpenPOS already uses — no double counting, no drift.
Secure REST API
* Endpoints under /wp-json/woo-manager/v1/ for suppliers, warehouses and purchase orders (GET, POST, PUT, DELETE).
* Authenticates with your existing WooCommerce REST consumer key — no new connection key, no WordPress Application Password.
* Read-only data endpoints for OpenPOS outlets/registers, TeraWallet/WooWallet balances and WooCommerce Memberships (data WooCommerce’s standard REST API can’t see).
OpenPOS terminal panels (optional)
* Members panel — cashiers look up a customer at the register and see their active WooCommerce Memberships.
* Stock Take panel — run a category-by-category count at the register; counts auto-save.
Telegram alerts (free)
* Real-time notifications for every new WooCommerce order to any Telegram chat — group, channel or DM — via the WC-Manager bot.
* Hooks woocommerce_new_order (and optionally woocommerce_order_status_changed) and forwards instantly — sub-second alerts on every checkout.
* Manage chats from WP admin (WC-Manager → Telegram): chat ID, events (new / completed / refunded / PO received / low stock / new customer), order-status filter, POS-only vs Online-only filter (when OpenPOS is detected), minimum order total, custom HTML template.
* Same config syncs with the WC-Manager dashboard — manage from either place.
* Customer notes & tags syncing (VIP, wholesale, prefers WhatsApp, at risk, etc.) keyed by email so guest checkouts are annotatable too — managed under WC-Manager → Customer Notes.
Install once, activate. There is nothing to configure for the free procurement features.
Problems this plugin solves
- “I can’t manage purchase orders inside WooCommerce.” → Built-in PO module, free.
- “I lose track of which supplier sent which order.” → Suppliers directory linked to every PO.
- “Stock at my second outlet is invisible from WP admin.” → Multi-warehouse, with OpenPOS outlet sync.
- “Receiving stock means hand-editing every product.” → One-click receive bumps WC stock automatically.
- “I want to know the second an order comes in.” → Free Telegram alerts to your phone, group, or warehouse screen — sub-second.
- “Different staff use different spreadsheets.” → One source of truth, in WordPress, with the rest of your store.
Optional upgrade — WC-Manager dashboard
Want analytics and AI on top of all this? Connect a free WC-Manager account at wc-manager.com and the same suppliers, POs and warehouses sync both ways with our hosted dashboard, which adds:
- AI Insights — plain-English summary of your sales, customers and POS data with action list and business valuation.
- AI product descriptions — generate SEO-ready copy in your chosen tone and push to WooCommerce in one click.
- Reports — profit by month or year, units sold, order-timing heatmap, repeat-buyer rate and customer lifetime value.
- Multi-location stock transfers — move inventory between warehouses with full audit trail.
- Restock Predictor — velocity-based reorder forecasts so you never run out of best sellers.
- Spreadsheet product editing — bulk-edit prices, stock, supplier prices and meta fields.
- Live POS feed — real-time sales view across all outlets and registers.
- Membership management, category stock takes, full activity log, team access.
Free plan available. No credit card to start.
Works great with
- OpenPOS — outlets, registers, the in-terminal Members & Stock Take panels, and per-warehouse stock that stays in sync with the same meta key OpenPOS uses (
_op_qty_warehouse_{id}). - WooCommerce Memberships — read plans and per-customer memberships.
- TeraWallet / WooWallet — read store-credit balances.
- Telegram — instant order notifications via the WC-Manager bot (@wc_manager_bot) — add it to any group, channel or DM, send
/id, paste into the plugin’s Telegram page. - Works on any store running standard WooCommerce too — the optional integrations only activate when their host plugin is present.
REST endpoints
All endpoints authenticate with your existing WooCommerce REST consumer key (or any logged-in user with the manage_woocommerce capability). No separate connection key needed.
Procurement (free):
GET, POST /wp-json/woo-manager/v1/suppliers— list / create suppliers.GET, PUT, DELETE /wp-json/woo-manager/v1/suppliers/{id}— read / update / delete one supplier.GET /wp-json/woo-manager/v1/warehouses— list warehouses.GET, POST /wp-json/woo-manager/v1/purchase-orders— list / create POs.GET, DELETE /wp-json/woo-manager/v1/purchase-orders/{id}— read / delete one PO.POST /wp-json/woo-manager/v1/purchase-orders/{id}/send— mark a PO as sent.POST /wp-json/woo-manager/v1/purchase-orders/{id}/cancel— cancel a PO.POST /wp-json/woo-manager/v1/purchase-orders/{id}/receive— receive stock (updates WooCommerce stock + per-warehouse meta).POST /wp-json/woo-manager/v1/purchase-orders/{id}/sync-receive— bumpqty_receivedwithout touching WooCommerce stock (used when the dashboard already updated stock itself).
OpenPOS, wallet & membership reads:
GET /wp-json/woo-manager/v1/openpos-outlets— OpenPOS outlets (_op_warehouseposts).GET /wp-json/woo-manager/v1/openpos-registers— OpenPOS registers (_op_registerposts).GET /wp-json/woo-manager/v1/terawallet/balances— users with a non-zero TeraWallet balance.GET /wp-json/woo-manager/v1/terawallet/balance/{user_id}— a single user’s TeraWallet balance.GET /wp-json/woo-manager/v1/memberships/plans— WooCommerce Memberships plans.GET /wp-json/woo-manager/v1/memberships/user/{user_id}— a user’s memberships.
OpenPOS panels (optional)
- Members — cashiers can look up a customer at the register and see their active WooCommerce Memberships.
- Stock Take — run a category-by-category stock count at the register; counts auto-save and sync to the WC-Manager web app.
External service
The Stock Take panel communicates with the WC-Manager web app at https://wc-manager.com to load and save stock takes for your organisation. It authenticates with a per-organisation “plugin token” you paste into the plugin’s settings page (WooCommerce → WC-Manager Stock Take). No data is sent until you configure that token and use the Stock Take panel. WC-Manager’s terms and privacy policy: https://wc-manager.com/terms and https://wc-manager.com/privacy.
The REST endpoints, the Members panel, and TeraWallet/membership reads make no external requests — they only respond to authenticated requests into your own site.
Privacy
This plugin does not collect, store, or transmit personal data on its own beyond the Stock Take sync described above, which only sends the stock-count data you create to your own WC-Manager account. See https://wc-manager.com/privacy.
Note on trademarks
WooCommerce is a registered trademark of Automattic Inc. This plugin is an independent companion plugin and is not affiliated with or endorsed by Automattic. OpenPOS and TeraWallet are products of their respective owners. WC-Manager is a separate product by Ops Assist.
Yes. Purchase orders, suppliers, warehouses and one-click receive are 100% free, with no usage limits, forever. We make money from the optional WC-Manager dashboard (AI insights, reports, multi-location transfers) — but the procurement workflow in WP admin is yours to use at no cost.
No. The free procurement modules work entirely inside WordPress with no account, no API call out and no payment. Connect a WC-Manager account only if you want the optional dashboard features on top.
Yes. POs accept any WooCommerce product or variation by SKU (or by product/variation ID). Receiving updates stock_quantity, sets manage_stock, and recomputes stock_status automatically. WooCommerce product transients are cleared so the front-end stays accurate.
Yes. Define warehouses under WC-Manager → Warehouses. If a warehouse is mapped to an OpenPOS outlet, receives also write to the per-outlet meta key OpenPOS uses (_op_qty_warehouse_{id}) — so OpenPOS sees the new stock instantly with no sync step.
This plugin is purpose-built for stores that want a simple, clean purchase-order workflow without paying a monthly enterprise subscription, and that want optional cloud analytics on the same data. It’s lightweight, ships only the modules listed above, and integrates directly with OpenPOS for per-location stock.
Yes. OpenPOS is the deepest integration (outlet sync, in-terminal Members and Stock Take panels). Memberships and TeraWallet/WooWallet get read-only REST endpoints so the WC-Manager dashboard can show member status and store-credit balances. The plugin works fine on stores without any of these — those features simply stay dormant.
Yes. Procurement data lives in your own database in tables prefixed wp_oadb_. REST endpoints authenticate with your existing WooCommerce REST consumer key — no public endpoints, no third-party services. The Stock Take sync only fires after you explicitly paste a connection token in settings.
No. Admin pages only load when an admin opens them. REST endpoints respond only to authenticated requests. The wallet-balances query is cached for one minute. There is no front-end overhead at all.
Deactivate and delete via WordPress Plugins. The procurement tables (wp_oadb_suppliers, wp_oadb_warehouses, wp_oadb_pos, wp_oadb_po_items) stay in place so you don’t lose your supplier list and PO history; drop them manually if you want a fully clean removal.
Categories
Plugin details
Tags on WordPress.org
