Wholesale mode lets a single POS ring up a sale at your wholesale prices without a separate flow. Everything else about the sale — cart, payment, receipt, refund — behaves exactly the same. Only the prices change.
Turn on wholesale mode
Open the POS (Sidebar: Sales → POS). Next to the product search, you'll see a Retail | Wholesale segmented toggle. Click Wholesale.
Every line already in the cart re-prices immediately. Products that have a wholesale price show it; products that don't fall back to the retail selling price with a "no wholesale price set" hint on the row. A Wholesale badge appears at the top of the cart so you never lose track of which mode you're in.
Take payment as normal. The receipt prints with a bold — WHOLESALE — stamp under the reference so both you and the customer have a clear record.
Clicking Wholesale off (back to Retail) re-prices everything back to retail. Completing a sale also resets the toggle to Retail for the next customer.
Where wholesale prices come from
Wholesale prices live on the batch, exactly like retail selling prices — so a product's wholesale price can flex per shipment. Two knobs work together:
- Default wholesale markup % (per product) — pre-fills the wholesale markup when you stock in that product.
- Wholesale price (per batch) — the actual price used at the POS in wholesale mode.
Set them:
- When adding a product — the Default wholesale markup % field on the defaults step.
- When stocking in a batch or receiving a purchase order — the Wholesale % and Wholesale price pair per row. Same live auto-calc as the retail pair.
If a batch has no wholesale price, the POS falls back to the retail selling price for that line and shows the hint.
Refunds and reports
- Refunds inherit the sale's mode automatically. Refunding a wholesale sale processes at the wholesale line prices; there's no separate wholesale refund flow.
- Sales History has a channel filter — All channels / Retail / Wholesale — and each sale row shows its channel.
- Sales Report has the same channel filter, so you can see retail-only or wholesale-only revenue for any period.
Next steps
- Record a sale — the base POS flow.
- Stock in a batch — where you set wholesale prices per shipment.
- Refund a sale — same flow, inherits the channel.