Purchase orders and receiving
A purchase order records what you expect from a vendor and at what cost. Receiving against it puts stock into locations as dated cost layers, so inventory value and cost of goods are right from day one.
The list
Header counts: Open, Partial, Closed, Total. The default view shows Open and Partially Received; add the Closed chip to see history. Search by PO number or vendor.
| Column | Meaning |
|---|---|
| PO Number | yymmdd-nn: the date created plus a sequence, for example 261013-02. Click to open the PO. |
| Vendor | As recorded on the PO (a snapshot; editing the vendor later does not change old POs). |
| Total Qty | Units ordered across all lines. |
| Status | Open nothing received; Partially Received some lines; Closed every line received in full, or closed by hand. |
| Created, Expected, Last Received | Dates. Expected defaults to the earliest line date if the header has none. |
| Payment Terms | Free text, for example Net 30. |
| Action | Who | Does |
|---|---|---|
| Export | Everyone | Copies the lines (PO Number, SKU, Quantity, PO Cost, Expected Date) in a spreadsheet-ready format. |
| Receive | Everyone | Opens the receiving screen for this PO (not shown on Closed POs). |
| Close | Everyone | Marks the PO Closed regardless of what was received. Use when the vendor short-shipped and the rest is not coming. |
| Back out | Owner | Reverses a receipt that was entered wrongly: the stock and its cost layer are removed and the received quantity restored. Only when the stock is still unallocated. |
| Delete | Admin | Deletes an Open or Closed PO. A Partially Received PO cannot be deleted; close it instead. |
Vendors
A PO needs a vendor. Create one from the Create PO screen's vendor search or the vendor button: name, phone, one or more email addresses (comma separated), address, and an active flag. The vendor's contact details are copied onto each PO at creation.
Creating a purchase order
- Create PO
Pick the vendor (type to search, arrow keys to choose), an optional expected date and payment terms.
- Paste the lines
One line per SKU:
SKU, quantity, costand optionally, expected date. Commas or tabs, so a spreadsheet paste works. Dollar signs and thousands separators are stripped. Lines with quantity 0 are skipped.GB-PRO-DZ,120,28.50 GB-SOFT-DZ,60,22.00,2026-11-15 GLOVE-L,24,$9.75 - Validate
Checks every SKU exists (case does not matter) and the numbers parse. Problems are listed; fix and validate again.
- Create
The PO is numbered and opens as Open. Each line's cost becomes the product's current cost.
On the PO detail page lines can be edited (quantity, cost, expected date) and added or removed while nothing has been received against them.
Receiving
- Choose the PO
The dropdown lists POs with something still to receive, with vendor and status.
- Enter quantities
Each line shows Ordered, Received, Remaining and PO Cost. Type the quantity arriving in Receive. Up to twice the ordered quantity is accepted per line; more is refused as a likely typo. Actual lets you override the unit cost for this receipt if the invoice differs.
- Choose locations
Type a location per line, or use the header buttons: P fills every line with the SKU's primary pick location, S fills every line with
90REC, the receiving bin every install carries. Lines without a valid location are skipped with a message. - Add Total (freight)
Enter freight or handling for the whole delivery. It is spread across the received lines in proportion to their value and folded into each unit's cost.
- Receive Items
For every line Lodsted creates a new inventory row at the chosen location with the received date, the PO number and the unit cost (PO cost plus its share of freight), writes a Received transaction, and updates the PO's received quantities and status. The whole receipt shares one timestamp.
Where to receive to
- Primary pick bin for the amount that fits (its Max is a good guide); the rest to bulk.
- An inactive receiving bin when the delivery needs checking or has nowhere to go yet; put it away later with moves from the Inventory page. Because the bin is inactive, nothing in it is promised to an order until it is moved to a usable shelf.
- The receiving screen accepts active and inactive locations alike, so check the code.
Costs
The cost on a PO line is the vendor's unit price. At receipt, freight is added proportionally so the inventory layer carries the landed cost. When the stock ships, the Sale transaction records that layer's cost, oldest layer first. The PO line's own cost field is not changed by freight; only the inventory layer is.
Expected dates and On Order
The Inventory page's On Order column sums open PO lines per SKU; clicking it lists the POs with their expected dates. Customer service can use it to answer "when will this be back".
Common situations
- The vendor sent more than ordered
- Receive up to double the line. Beyond that, add a line to the PO or receive the excess as an adjustment with a reason.
- The vendor is not sending the rest
- Receive what came, then Close.
- I received to the wrong bin
- Move it from the Inventory page; the cost layer travels with it.
- I received the wrong quantity
- An Owner can Back out the receipt if the stock has not been allocated to a wave yet, then receive again. Otherwise adjust the difference with a reason.
- Stock arrived with no PO
- Create a PO after the fact so the cost is captured, or enter it as a positive adjustment (at the product's current cost) if cost does not matter. For a whole spreadsheet of stock, with costs and dates, use the Inventory page's Import.