Skip to content

Purchase orders Pro

Pro: let approved trade customers order against a purchase order number, with the order held for invoicing.

Updated August 26, 2026

Trade buyers often cannot pay at checkout. Their finance team pays against an invoice, and the buyer needs to attach a reference so the invoice can be matched later.

Purchase orders add a payment method that takes no money and does not pretend to. The order is placed, held, and invoiced.

Who can use it

Guests never can — there would be no account to invoice. Beyond that you choose:

  • customers in the roles you name, which is usually your trade tiers;
  • only customers you have individually approved, ticked on their user profile;
  • any signed-in customer.

Eligibility is decided on the server, and it is checked again when the order is processed. A payment method that only hides its radio button from the wrong customers is decoration: the Store API would happily accept the method id.

The reference

By default a reference is required and the field is labelled "Purchase order number" — rename it to whatever your customers call theirs.

The field appears on the classic checkout and the Blocks checkout, and both end up at the same server-side validation. A field enforced on one checkout and not the other is exactly the kind of gap that ships unnoticed and then turns up on an invoice with nothing to match it against.

The reference is stored on the order, shown on the order screen, included in the order emails, and visible to the customer on their own order.

What happens to the order

The order goes on hold by default: stock is reduced, the customer gets their confirmation, and your warehouse knows not to ship until you say so. You can switch it to "processing" if your arrangement is to ship first — the setting says plainly what that means.

You can also set a minimum order total, below which the method is not offered.

Reconciliation

Payment happens outside WooCommerce. When the invoice is settled you mark the order paid as you normally would. StoreMaster does not invent a ledger it cannot keep accurate.

Still stuck? Email [email protected].