Purchase Orders Overview
Synplex's PO module covers the full lifecycle from creating a draft order through confirming, tracking shipments, receiving goods, and recording payments.
In This Section
- Creating Purchase Orders — Three ways to create a PO, MOQ validation, currency setup, and what happens on save
- Managing Purchase Orders — Edit, confirm, cancel, and monitor POs after creation
- Shipments & Receiving — Create shipments, record receipts, and sync to Shopify inventory
- Payments & Currency — Payment terms, payment records, multi-currency, and cost summary
- Landed Costs — Understanding and tracking your true cost per unit
The PO Lifecycle
draft → confirmed (or confirmation_pending) → in_transit → completed ↘ cancelled (from any status)
| Status | Meaning |
|---|---|
| draft | Being built; no commitment made, all fields editable |
| confirmation_pending | Awaiting supplier acknowledgement |
| confirmed | Supplier confirmed; requires a confirmed delivery date to be set. Triggers supply plan regeneration for all affected inventory levels. |
| in_transit | Shipments have been created and goods are on their way |
| completed | All goods received and PO closed. Also triggers supply plan regeneration for all affected inventory levels. |
| cancelled | PO voided; incoming stock removed from inventory forecasts |
Payment status is tracked separately from PO status, with its own lifecycle:
not invoiced → invoiced → partially paid → disputed → paid
Three Ways to Start a PO
1. Manually from Purchase Orders Navigate to Purchase Orders and click Create PO. Fill in all fields yourself — supplier, products, quantities, costs, currency, delivery date, and payment terms. Best for one-off or custom orders.
2. From the Demand & Supply Plan Go to Demand & Supply Plan → Supply Plan. Click Convert to PO on any recommendation. Supplier, quantity, and expected delivery date are pre-filled from the plan.
3. From the Inventory Table (Recommended Daily Workflow) Open a saved view filtered to products that need reordering — for example, Status = Running Low, Grade = A. Multi-select rows, click Add to PO, and choose Create new PO or Add to existing PO. Selected items are passed with their inventory level data pre-populated. This is the fastest method and keeps you focused on high-priority items only.
Shop-level sync default: when a PO is created without the Sync receipts to Shopify toggle being explicitly set, the backend automatically reads and applies it to shopify as a stock movement.
Key Concepts
| Concept | Description | Detail |
|---|---|---|
| PO Currency | Auto-set from the supplier's default currency; can be overridden until payment status = invoiced | Payments & Currency |
| Payment Terms | NET_30 by default; stored on the PO and used to auto-generate payment records | Payments & Currency |
| Incoterm | Defines who bears freight risk and cost (default: DAP) | Creating POs |
| Landed Cost | True per-unit cost including shipping, duties, and additional fees | Landed Costs |
| Shopify Sync | Per-PO toggle controlling whether receipt quantities are pushed to Shopify inventory on receiving. When not explicitly set at creation, the backend reads and applies the shop-level default automatically. Locked once the PO moves past draft. | Shipments & Receiving |
Support
For help with purchase orders, contact support@synplex.dev.