Switch Receivings to Purchase Order mode and build the order by hand, or use Create Purchase Order to generate one from reorder levels, recent sales or the supplier's full catalog. Email it, suspend it, and unsuspend it to receive the stock.
A purchase order (PO) lets you plan and send an order to a supplier before any stock moves. In PHP Point Of Sale, POs live inside the Receivings module, so the order you send and the delivery you check in are the same document — no retyping when the boxes show up.
There are two ways to create a PO: manually, by adding items yourself, and automatically, by letting the software generate the order from your inventory levels and sales history. Use manual POs when you do not track inventory counts, have not filled in reorder and replenish levels on your items, or expect unusual demand (for example ordering extra ahead of a busy season). Use generated POs when items have suppliers, reorder levels and replenish levels filled in.
If you have not used Receivings yet, skim receiving stock first — a PO is essentially a receiving that has not happened yet.
Create a manual purchase order
- Open Receivings in the left menu.
- Click the mode button near the search bar (it reads Receive by default) and select Purchase Order.
- Add the items you want to order by scanning barcodes or typing in the Find/Scan Item field, then adjust cost, quantity and per-line discount on each line.
- Attach the supplier in the Type supplier's name... field — or click + to create a new one on the spot. See suppliers.
- Record the expected payment type and amount in the payment section if you want it on the PO.
-
Check the fields below the payment section before finishing:
- Change receiving date — by default the PO is dated when it is submitted; tick the box to choose a different date.
- Comments — free-text notes stored on the document.
- Check the E-Mail PO option if you want the PO emailed to the supplier's address on file when you finish.
- Click Suspend and Complete PO.
A purchase order is always saved as a suspended receiving — it records what you intend to buy without touching inventory. It waits in the suspended list, visible and editable, until the delivery arrives.
Generate a purchase order automatically
For generated POs the software needs three things filled in on your items (see creating items and stock levels, adjustments and damaged items):
- Reorder level — the quantity at which an item counts as needing reordering (it also drives low-inventory notifications).
- Replenish level — the quantity you want on the shelf after reordering. Example: replenish level 20 with 5 in stock means the generated PO orders 15.
- Supplier — the item must be assigned to the supplier you are ordering from.
To generate:
- Open Receivings and click the ellipsis (...) to see more options, then select Create Purchase Order.
-
Fill in the generation form:
- Supplier — required; the supplier you intend to purchase from.
- Category — optional; limit the PO to items in one category (child categories are included when your Store Config is set to include them in searching and reporting).
-
Criteria for Purchase Order — which items go on the order:
- Items at or below reorder level — everything at or under its reorder level; quantities are auto-filled to bring stock up to the replenish level (or to the reorder level when no replenish level is set). Per-location reorder/replenish levels are used when they exist, falling back to the item-level values.
- Items at or below reorder level and out of stock — the same, restricted to items with zero stock.
- Items that have sold in past week — everything sold in the last 7 days at this supplier.
- Items that have sold in the past month — everything sold in the last 31 days at this supplier.
- All items for supplier — the supplier's entire catalog, including each variation of variation items.
- Clear Current Items In Cart — tick to replace anything already sitting on the receiving screen with the generated order.
- The receiving screen reloads in Purchase Order mode with the generated lines. Adjust quantities and costs, then finish it exactly like a manual PO.
Send it to the supplier
Tick E-Mail PO before finishing, or open the finished PO's receipt and click E-Mail PO. The email goes to the address on the supplier's profile, is sent from your location's email address (with any CC/BCC addresses configured on the location), and carries the PO document — as an attached PDF when PDF receipts are enabled in Store Config. The document shows your company details, the supplier's details and account number, so the supplier knows exactly whose order it is.
Receive the stock when it arrives
- Open Receivings, click the ellipsis (...) and select Suspended Receivings And Purchase Orders.
- Find the PO and click Unsuspend. All the ordered lines load back onto the receiving screen.
- If Change To Receive Mode When unsuspending Purchase Order is enabled in Store Config, the document flips from Purchase Order mode straight into Receive mode automatically — otherwise switch the mode yourself.
- Check quantities against what actually arrived, correct costs if the supplier's invoice differs, then click Finish.
Completing updates stock counts and cost prices at that moment, exactly like a normal receiving — including cost price averaging if you use it. If the delivery never comes, the suspended PO can be deleted from the same list: the Delete buttons appear with the Delete Suspended Receiving permission (the app also checks Delete receiving when the deletion is submitted), and deleting cannot be undone.
Edit a completed purchase order
- Open Receivings and click the ellipsis (...).
- Select Show Last Receiving if the PO was the last transaction you worked on, or Lookup Receipt and enter the Receiving ID printed on the PO.
- On the receipt, click Edit in the top left. A warning explains that your edits will replace the current document — click OK.
- Make the changes on the receiving screen and finish as normal.
Editing completed receivings requires the Edit receiving permission.
POs from the sales screen and work orders
Two sales-side shortcuts feed the purchasing loop, and they work differently:
- Create PO on the sale receipt — every completed (or looked-up) sale receipt has a Create PO button. Clicking it opens Receivings in Purchase Order mode preloaded with every item from that sale, each quantity prefilled to bring stock back up to the item's replenish level (or its reorder level when no replenish level is set, using per-location levels where they exist) and never below zero. Attach the supplier, adjust, and suspend it like any PO — a quick way to restock right after a sale cleans out a shelf.
- The per-line Create Purchase Order flag — for special orders taken at the counter. Expand a cart line's details on the sale screen and tick its Create Purchase Order checkbox. When the sale completes, all flagged lines are gathered into a single purchase order that is saved suspended automatically: the sold quantities carry over, the supplier comes from the first flagged line's per-line supplier when one is set, and the PO's comment records the originating sale ("Sale ID: …"). It waits in Suspended Receivings And Purchase Orders for you to review, send and receive. Hide the checkbox with Hide Create PO On sales screen in Store Config if you do not want cashiers using it.
- Work orders carry a PO # field, so a repair that needs a part can reference the order bringing that part in.
Permissions
POs use the Receivings module's permissions (permissions and templates): module access to reach the screen, Edit receiving to edit completed documents, Delete receiving to delete them, Delete Suspended Receiving to see the Delete buttons on the suspended list, and View Suspended Receipts to open the receipt of a suspended PO. The See Cost Price permission on the Items module controls whether the employee sees cost prices while building the order.
Track your orders
Open purchase orders sit in the Suspended Receivings And Purchase Orders list, and the Detailed Suspended Receivings Report under the Receivings reports shows everything not yet finalized. Completed POs flow into the receivings reports — receivings by supplier, item cost history and the rest — covered in inventory and purchasing reports.
Common questions
What is the difference between a purchase order and a receiving? A PO is a plan: it is stored suspended and does not change inventory. A receiving is the arrival: completing it updates stock and costs. Unsuspending a PO turns it into the receiving so you never enter the lines twice.
Why did Create Purchase Order generate an empty order? The reorder-level criteria only pick up items assigned to that supplier with reorder levels filled in and stock at or below them. Check the item records for the supplier assignment and the reorder/replenish levels, and check whether a Category filter excluded everything.
How does the software decide the quantity to order? For the reorder-level criteria it orders enough to reach the replenish level: replenish level minus current stock (with the reorder level used when no replenish level is set). For the sales-history and all-items criteria each line starts at quantity 1 and you adjust it.
Can I email the PO to my supplier automatically? Yes — tick E-Mail PO on the PO screen before clicking Suspend and Complete PO. The address comes from the supplier profile; if it is missing, the email option is not available, so add it under suppliers.
Why did my unsuspended PO stay in Purchase Order mode? Turn on Change To Receive Mode When unsuspending Purchase Order in Store Config. With it off, unsuspending reopens the document in PO mode and you switch the mode manually.
Does creating a purchase order change my stock counts? No. Nothing changes until the PO is unsuspended and completed as a receiving. That is also why suspended POs are excluded from stock — the goods are not yours yet.
Can I reuse a past order instead of building the PO again? Yes — open the old receiving's receipt and click Clone. Every line is copied into a fresh document that you can adjust and complete or suspend. See receiving stock.
Comments
0 comments
Please sign in to leave a comment.