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. Download a PDF for vendors, import a manufacturer's PO sheet, or export the list to Excel or CSV.
Key capabilities
- Full PO lifecycle: draft → submitted → in production → ready → shipped → partially received → received (or canceled)
- Vendor, name, PO number, optional ship-from / ship-to locations, expected delivery date, and net terms
- Line items picked from your catalog or entered as custom items, with quantity and unit price
- Free-form fees (for example duties, handling, packaging) and a percent or flat discount
- Order total, paid amount, and running balance; payments 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; receive posts stock to the ship-to location and writes landed-cost snapshots
- Create Shipment for part of an order, with optional lot number and expiration date per line
- Import PO: upload a manufacturer's spreadsheet, map columns and SKUs, and create a draft PO
- Expected pay date calculated from the delivery date and net terms (you can override it)
- Download PDF, Export Excel, and Export CSV; search, status filter, and Previous / Next paging
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"]How to use it
- Open the Purchase Orders tab and click New PO (or Import PO to start from a spreadsheet).
- Select a vendor, set the name and PO number, and optionally set ship-from / ship-to locations, an expected delivery date, and net terms.
- Add line items from the catalog (or switch to a custom item) with quantity and unit price; add fees and a discount if needed.
- Save as Draft or Submitted. Submitting creates the forecasted bill in Accounts Payable.
- Expand the order and use the next-step button: Submit to Vendor, Mark In Production, Mark Ready, Mark Shipped, then Receive (or Receive remainder after a partial receipt).
- Use the truck icon to Create Shipment for part of an order, and the dollar icon to Record Payment.
- Click the download icon for the PDF, and use Export Excel / Export CSV for reporting.
Pro tips
- Use the status filter and the status stepper to separate outstanding orders from received ones at a glance.
- Submit a PO early to get a forecasted bill into AP; it improves cash-forecast accuracy before goods arrive.
- Name fees Duties, Handling, or Packaging so receipt spreads them per unit into landed COGS. Fees with other names still count toward the order total.
- The Payments button shows the 50 most recent vendor payments across all orders.
- If a shipment covers only part of the PO, the order shows partially received until the remainder lands.
- Expand a PO row to see line items, fees, payments, shipments, and dates together; balances tie back to AP.
In-depth guide
Status lifecycle
| Status | Meaning |
|---|---|
| Draft | Not yet sent to the vendor |
| Outstanding | Legacy open state, treated like Submitted |
| 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 |
The form only sets Draft or Submitted; every later status goes through the step buttons so side effects post correctly. Cancel Order is offered up to Ready. Only Draft, Outstanding, and Submitted orders can be deleted, and not if a receipt, real bill, journal entry, or landed-cost allocation is linked. Cancel those instead. PDFs are available for any order that is not Draft or Canceled.
Lifecycle side effects
| Transition | Side effects |
|---|---|
| Submit | Submitted; creates a forecasted bill (amount follows the PO total until the bill advances) |
| Mark in production / ready | Status only, for the Supply Chain map and stepper |
| Mark shipped | Shipped; creates an in-transit transfer |
| Partial receipt | Partially Received (set by the shipment flow) |
| Receive | Received; bill Forecasted → Received, transfer marked received, cost snapshots written, stock posted at the ship-to location |
| Cancel | Canceled; any linked transfer still open is cancelled |
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. Freight comes from the order's shipping cost, which the order form does not edit; to add a freight, duty, or handling bill to received orders, use Allocate landed cost on the Accounts Payable tab. If the vendor bill later arrives for a different amount, the snapshots are scaled to the billed total. Receipt also runs a PO / receipt / bill match, shown on the Accounts Payable tab.
Payments & AP
Record payments against the order; they sync to its bill. Receipt moves the bill into Accounts Payable and your approval workflow.
Access & export
Requires Commerce & Inventory. Exports cover all orders.
Edge cases
- Concurrent edits are flagged; refresh if you see a conflict.
- Receiving won't double-count inventory when a received shipment is already linked to the PO.
- Deleting a draft or submitted order also removes its forecasted bill.
- Import PO skips unmatched SKUs by default (Skip unmatched SKUs is ticked); check the Matched and Unmatched counts in the preview before you create the draft.