Receiving
Track purchase orders across all clients and physically receive inventory onto the shelves.
Receiving covers inbound stock: the purchase orders clients send you, and the physical receiving of those units onto the shelves. As an operator you see POs across all your clients, and you run the receiving itself.
Operator vs. client view
A brand creates POs and watches their progress. You see every client's POs and you do the part they can't: the Start Receiving flow that scans units in. The client sees the results (progress, discrepancies), not the receiving controls.
Purchase Orders
Receiving → Purchase Orders. Two tabs: Today's Arrivals (POs expected today, as cards) and All Purchase Orders (the full table).

Each PO carries an order status (Pending, In Progress, Completed, Cancelled) and an inventory status (Not Received, Partial, Received), with a Received / Ordered column for progress at a glance. The table also shows the client, vendor, expected date, tracking, and any warehouse note.
The operator addition is the action button: a Pending PO gets Start, an In Progress one gets Continue — both open the receiving flow. Select several Pending POs to Cancel them in bulk.
Creating a PO
Receiving → Create PO opens a form for the PO's details and its line items:

Following a PO
Open a PO for its detail — Details, Lines, Attachments, and Timeline, with Continue Receiving, Duplicate, and Print at the top:

The Lines tab shows per-item receiving progress with a line status: Pending, Partial, Complete, Over (more than expected), or Short (finished under). Damaged units, unexpected items, and discrepancy notes surface here, and a completed PO gets a Receiving Report (Complete / Short / Over / Damaged / Unexpected counts) you can export to CSV.
Receiving stock
Receiving → Receive (or Start / Continue on a PO) opens the scan-guided receiving flow — the operator-only part clients never see. A stepper tracks four phases.

Select PO. Pick the purchase order you're receiving (or arrive here pre-selected from a PO's Start/Continue button). No PO? Choose Blind Receive (No PO) — the path for an unplanned arrival — which starts a zero-expected shipment you scan freeform into (the Expected / Variance columns are hidden).
Scan Items. Scan each unit's SKU barcode, or click a line and use the +/– steppers to set counts by hand — you don't need a scanner. The screen tallies received against expected per line and flags over-receipts. Every line needs a storage Location (bin) set before any unit is accepted (units for one SKU can be split across several bins). Damaged units go in the separate Rejected column and are booked into a quarantine bin. Lot-tracked SKUs get a Lot column and may require a lot number (and expiry) before units are accepted; SKUs with pack UOMs get one stepper per pack form, so receiving a sealed case adds the whole case at once. A SKU that doesn't exist yet can be created on the spot.
Review. Check the tallies — received, short, over, damaged — and fill the two required fields: Received Pallets and Received Cartons (Complete stays disabled until both are set; they pre-fill from the PO's expected counts).
Complete. Finish the receipt. Stock lands in inventory (ready for putaway via Warehouse Ops) and the PO's status and lines update.
Fixing a mistake
A PO can be actively received by only one operator at a time (you'll see who has it, with a Take over option). To reverse a mis-receipt, expand the line on the in-progress PO's Lines tab and Unreceive that receipt — it pulls the stock back out of the bin and logs a reversing adjustment.