BACK TO DIRECTORY

PurchaseDesk – Suppliers, Purchase Orders & Cost of Goods for WooCommerce

by erenlabs

0.0
(0 ratings)

WooCommerce tracks what you sell. It has never tracked what you buy — so the
purchasing side of a store ends up in a spreadsheet, and the cost of goods ends
up out of date.

PurchaseDesk closes that half of the loop. Create a purchase order for a
supplier, send it, then receive the goods when the box arrives — in full or a
few units at a time. Receiving is the only step you take: stock goes up, the
product’s cost is updated, and the receipt is logged so you can see exactly who
received what, when, and at what price.

What it does

  • Suppliers — real supplier records with contact person, email, phone, address, lead time and notes.
  • Purchase orders — search your catalogue by name, SKU or barcode and add lines in a click; set quantity and unit cost per line; track the order through draft ordered partially received received. Search, filter and sort the order list.
  • Goods receipt, in full or a few units at a time — stock is written through WooCommerce’s own product API, so every integration, low-stock notice and lookup table stays correct. Receiving the same delivery twice cannot double-count.
  • Scan to receive — a barcode scanner is just a fast keyboard. Scan a code and the matching line counts up.
  • Stock adjustments — record damage, loss, customer returns, goods sent back to a supplier or a plain correction, each with a reason and a note.
  • Product cost the rest of your store can see — cost is written where WooCommerce and the established cost-of-goods plugins read it, including WooCommerce’s built-in Cost of Goods Sold field when you have it enabled.
  • Planning grid — set reorder points, default order quantities and suppliers for a whole page of products at once, and edit each product’s cost and supplier SKU inline on the same screen. Setting them one product at a time is why inventory plugins stay empty.
  • Reorder list — everything at or below its reorder point, with anything already on its way subtracted so you never buy the same thing twice. Snooze a product for two weeks when you do not want to see it.
  • Undo a receipt — received 100 when 10 arrived? Reverse it. Stock and the order go back, and the reversal is written into the history rather than hiding the mistake.
  • Email the order to your supplier — the products, quantities and prices, sent from your own site.
  • Full history — an audit line for every receipt, reversal and adjustment, with the quantity and the stock level before and after; receipts also record the unit cost, adjustments the reason. Deleting an order never destroys it.
  • Duplicate an order — next week’s order is usually last week’s order. Copy any purchase order into a fresh draft: same supplier, same lines, same costs, nothing received.
  • Bulk actions on the order list — mark a whole page of orders as ordered, move them back to draft, cancel or delete them in one go, with status tabs that carry a count.
  • Export your own records — purchase orders, goods received and every stock movement, as CSV, whenever you want. Your records are yours; nothing is held back to sell you an upgrade.
  • CSV import with a dry run — bring cost, supplier, supplier SKU, reorder point and default order quantity in from a spreadsheet. You see exactly what will change — row by row, with the numbers already read the way they will be written — before anything is saved.
  • Settings — order numbering, whether receiving updates cost, who is allowed to change stock, and how many orders a page shows.

Works with the rest of your stack

Cost is not stored in a private field. PurchaseDesk reads and writes the keys
the WooCommerce ecosystem already uses, and prefers WooCommerce core’s own Cost
of Goods Sold value when that feature is switched on. If you already have costs
from another inventory or cost-of-goods plugin, PurchaseDesk reads them on day
one — nothing to migrate.

PurchaseDesk Pro

A separate paid version is available from the plugin’s home page and adds:

  • Weighted-average costing (instead of last-cost) as stock arrives
  • Turn the reorder list into draft purchase orders in one click, grouped by supplier
  • A purchasing dashboard: stock value at cost, spend versus the previous period, and a receipts trend chart
  • Purchase reports over a period you pick (7, 30, 90, 180 or 365 days): spend by supplier with each supplier’s share, receipts over time, and the value still on order
  • A full inbound table: everything outstanding per product across every open order on one screen (the free reorder list already subtracts what is on its way, and the free dashboard totals it)
  • A printable purchase order to send your supplier (print or save as PDF from your browser)
  • Export the spend REPORT as CSV for the period you are looking at (your own records export free, above)
  • A purchasing dashboard trend chart and stock value at cost
  • Scan barcodes with a phone camera while receiving, where the browser provides the Barcode Detection API: Chrome or Edge on Android, and Chrome on macOS (Windows, Linux and iOS browsers do not offer it today; a USB or Bluetooth scanner works everywhere and is free)
  • Email support answered on weekdays by the developer

External services

This plugin can connect to Freemius (freemius.com) to power the optional Pro upgrade: licence activation, automatic updates for the paid version, and the checkout/upgrade screens. Nothing is sent unless you opt in. If you click “Allow & Continue” during the optional opt-in, non-sensitive environment data (site URL, WordPress and PHP versions, active theme/plugins and your admin email) is sent to Freemius to enable licensing and updates; if you skip it, no data is transmitted. Freemius is only contacted for these upgrade/licensing actions.

  • Freemius Terms of Use: https://freemius.com/terms/
  • Freemius Privacy Policy: https://freemius.com/privacy/

Screenshots

The dashboard: what is open, what is late, what needs reordering, and every stock movement as it happens.

The dashboard: what is open, what is late, what needs reordering, and every stock movement as it happens.

A purchase order — search your catalogue by name, SKU or barcode, then receive the delivery in full or a few units at a time.

A purchase order — search your catalogue by name, SKU or barcode, then receive the delivery in full or a few units at a time.

Receiving records who received what, at what price, and what the stock level was before and after.

Receiving records who received what, at what price, and what the stock level was before and after.

The planning grid — reorder points, order quantities and suppliers set for a whole page at once, with cost and supplier SKU edited inline.

The planning grid — reorder points, order quantities and suppliers set for a whole page at once, with cost and supplier SKU edited inline.

The reorder list, with anything already on its way subtracted so you never buy the same thing twice.

The reorder list, with anything already on its way subtracted so you never buy the same thing twice.

Stock adjustments: damage, loss, customer returns and corrections, each with a reason.

Stock adjustments: damage, loss, customer returns and corrections, each with a reason.

Supplier records with contact details and lead time, and the order emailed straight to them.

Supplier records with contact details and lead time, and the order emailed straight to them.

Cost history on the product itself — see whether a supplier's price is creeping.

Cost history on the product itself — see whether a supplier's price is creeping.

Settings: order numbering, whether receiving updates cost, and who is allowed to change stock.

Settings: order numbering, whether receiving updates cost, and who is allowed to change stock.

Plugin Details

Active Installs
0
Total Downloads
167
Version
1.0.9
Requires WP
6.4
Requires PHP
7.4
Tested Up To
7.1
Added
2026-08-28
Last Updated
2026-09-06 4:26pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0