Purchase Orders
Purchase orders drive vendor buys from Draft through Received — forecasted AP bills, in-transit transfers on ship, stock and landed cost on receive. Generate PDF for vendors; export the list to Excel or CSV.
Key capabilities
- Full PO lifecycle: draft → submitted → in production → ready → shipped → partially received → received (or canceled)
- Vendor selection with PO number, currency, and optional ship-from / ship-to locations
- Line items by variant with quantity and unit price, reorderable
- Additional fees (freight, duties, handling, packaging) stored on the order
- Order total and running balance, with partial payments that link to bank transactions
- Submit creates a forecasted bill; receive flips it to a received bill in AP
- Mark-shipped creates a linked in-transit transfer that carries the in-transit inventory math
- Receive posts quantities to on-hand at the ship-to location and writes cost snapshots
- Cancel reverses any linked in-transit transfer
- Expected delivery date, payment term, and expected pay date for cash-flow planning
- PDF generation to send to vendors, plus Excel and CSV export of all orders
- Status and vendor filters with pagination
How it works
Each transition owns its side effects: submit forecasts a bill, ship creates the in-transit transfer, and receive posts stock, flips the bill, and snapshots landed cost.
flowchart LR
draft["Draft"] --> submitted["Submitted (forecasted bill)"]
submitted --> shipped["Shipped (in-transit transfer)"]
shipped --> received["Received"]
received --> stock["On-hand posted at ship-to + cost snapshot"]
received --> bill["Bill flips forecasted to received"]
submitted -.->|"Cancel"| canceled["Canceled (reverse transfer)"]How to use it
- Open the Purchase Orders tab and click New Order.
- Select a vendor, set the PO number/name, and optionally set ship-from / ship-to locations and an expected delivery date.
- Add line items by searching variants — set quantity and unit price for each; drag to reorder.
- Add fees (freight, duties, handling, packaging) so they flow into landed cost on receipt.
- Save as Draft, then Submit to create the forecasted bill in Accounts Payable.
- Advance through In Production → Ready → Shipped as the vendor progresses; shipping creates the in-transit transfer.
- Receive the PO to post stock to the ship-to location, write cost snapshots, and flip the bill to received; record payments as they're made.
- Generate PDF to send to the vendor, and use Export Excel / Export CSV for reporting.
Pro tips
- Use the status filter chips and the status stepper to separate outstanding orders from received/completed ones at a glance.
- Submit a PO to get a forecasted bill into AP early — it improves cash-forecast accuracy before goods arrive.
- Put freight, duties, and handling in fees rather than padding unit prices; those layers are amortized per unit into landed COGS on receipt.
- If a shipment already received covers only part of the PO, the order shows partially received until the remainder lands.
- Receiving won't double-count: when a shipment is already linked to the PO, the receive step skips re-posting inventory.
- Expand a PO row to see line items, fees, payments, and shipments together; balances tie back to AP.
In-depth guide
Status lifecycle
| Status | Meaning |
|---|---|
| Draft | Editable, not yet sent; can be updated or deleted |
| Outstanding | Legacy open state (kept for reporting) |
| Submitted | Confirmed with vendor; forecasted bill created |
| In Production | Vendor is actively producing |
| Ready | Goods produced, not yet shipped |
| Shipped | Left the source; linked transfer holds the in-transit math |
| Partially Received | At least one shipment received, more pending |
| Received | Fully received; stock posted, bill flipped |
| Completed | Closed out |
| Canceled | Cancelled; linked in-transit transfer reversed |
A PO can be updated or deleted only while Draft or Outstanding. PDFs can be generated once a PO is outstanding, partially received, received, or completed.
Lifecycle side effects
| Transition | Side effects |
|---|---|
| Submit | PO → Submitted; creates a forecasted bill in AP |
| Mark in production / ready | Status-only transitions for the supply-chain map and stepper |
| Mark shipped | PO → Shipped; creates an in-transit transfer |
| Mark partially received | PO → Partially Received (set by the shipment flow) |
| Receive | PO → Received; flips bill Forecasted → Received, marks the linked transfer received, writes cost snapshots, posts received quantities to on-hand at the ship-to location |
| Cancel | PO → Canceled; reverses the linked in-transit transfer |
Landed cost on receipt
Received lines update material cost plus amortized freight and import fees across six layers (material, packaging, processing, freight, duties, handling), feeding Landed COGS.
Payments & AP
Link bank transactions for partial or full payment. Submit creates a forecasted bill; receipt moves it into Accounts Payable and your approval workflow.
Access & export
Requires Commerce & Inventory. Generate PDF per order; Export the list to Excel or CSV.
Edge cases
- Concurrent edits are flagged — refresh if you see a conflict.
- Receiving won't double-count inventory for the same shipment.
- Only Draft / Outstanding orders can be deleted; cancel orders already in progress.