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

  1. Open the Purchase Orders tab and click New Order.
  2. Select a vendor, set the PO number/name, and optionally set ship-from / ship-to locations and an expected delivery date.
  3. Add line items by searching variants — set quantity and unit price for each; drag to reorder.
  4. Add fees (freight, duties, handling, packaging) so they flow into landed cost on receipt.
  5. Save as Draft, then Submit to create the forecasted bill in Accounts Payable.
  6. Advance through In Production → Ready → Shipped as the vendor progresses; shipping creates the in-transit transfer.
  7. 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.
  8. 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 ForecastedReceived, 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.