02 · Intake · intake lens

Orders: the lifecycle from draft to delivered

How an order moves through its nine states, reserves stock on confirm, and where every order — typed, parsed, or quoted — lands.

5 min read · updated 28/05/2026
Who can do this
RoleViewCreate draftPaste & parseConfirm / advancePack
OwnerAllowedAllowedAllowedAllowedAllowed
ManagerAllowedAllowedAllowedAllowedAllowed
OperatorAllowedAllowedNot allowedNot allowedNot allowed
WarehouseAllowedNot allowedNot allowedNot allowedAllowed
DeliveryAllowedNot allowedNot allowedNot allowedNot allowed
SalesAllowedAllowedAllowedNot allowedNot allowed

Overview

Every order — whether your staff typed it, you pasted it from a WhatsApp message, or it came across from an accepted quotation — lands in one place and moves through one clear lifecycle. No more chasing which orders are confirmed, which are still being packed, and which already went out the door. The order screen is the single ledger of who ordered what, at what price, and where it is right now.

Where to find it

On web, open Orders from the sidebar — the canonical list lives at /orders. Tap a row to open its detail page (/orders/[id]), hit New order to key one in (/orders/new), or use Import for a bulk CSV (/orders/import).

Orders are visible to Owner, Manager, Operator and Sales. Warehouse and Delivery see orders too — the warehouse hand from the pack queue, the rider from the shipping screen — but with narrower powers (see Role notes).

Key concepts

  • Order status — an order lives in one of nine states: draft, held, confirmed, allocated, packed, ready, shipped, delivered, cancelled. The system only lets you move along an allowed path: a draft can go to confirmed or cancelled, a confirmed order to allocated or cancelled, a shipped order to delivered. Delivered and cancelled are final — you can't move out of them.
  • Reservation — the moment you confirm an order, Neev sets aside the stock for it. Available stock drops by the ordered quantity and a stock movement is logged against the order.
  • Credit hold — if a customer has a credit limit switched on and this new order would push their unpaid balance past it, the order is saved as held instead of created clean. Someone has to clear the hold before it moves forward.
  • Order number — every order gets a tenant number in the form ORD-2026-06-00042, counting up each month and resetting at the start of a new month.

Common workflows

1
Key in a new order

Go to Orders → New order. Pick the customer, add SKUs and quantities, prices apply from the catalog. Save — it lands as a draft with a fresh ORD- number.

2
Paste a WhatsApp message

On the New order screen, paste the customer's raw message into the paste helper. Neev splits the lines and matches each one to a SKU in your catalog, so you confirm rows instead of retyping them.

3
Confirm the order

Open the draft and hit Confirm. Stock is reserved against the order on the spot. If there isn't enough stock for a line, the confirm is blocked and tells you which SKU is short and by how much.

4
Pack it in the warehouse

Confirmed orders (and allocated ones) show up in the warehouse pack queue. The packer records packed, missing or damaged quantity per line; the first packed line flips the order to allocated. Once every line is accounted for, Complete packing moves it to packed and the customer gets a WhatsApp update.

5
Ship and deliver

Move the order along — ready → shipped → delivered. Each step fires the matching customer WhatsApp template so the buyer always knows where their goods are.

Role notes

Who can do what on an order is split tightly. Taking an order and advancing it are two different powers.

RoleViewCreate draftPaste & parseConfirm / advancePack
OwnerAllowedAllowedAllowedAllowedAllowed
ManagerAllowedAllowedAllowedAllowedAllowed
OperatorAllowedAllowedNot allowedNot allowedNot allowed
SalesAllowedAllowedAllowedNot allowedNot allowed
WarehouseAllowedNot allowedNot allowedNot allowedAllowed
DeliveryAllowedNot allowedNot allowedNot allowedNot allowed
  • Owner and Manager have the full run of the lifecycle — create, confirm, advance through every state, and pack.
  • Operator can take a customer call and key in a draft, but cannot confirm or advance it — that hands off to a manager or owner.
  • Sales can create drafts and use the paste-and-parse helper, and also runs quotations and customers. Like the operator, SALES cannot confirm, advance, or dispatch an order.
  • Warehouse reads orders and packs them, but cannot create, confirm, or dispatch — packing is the only write path here.
  • Delivery is view-only on orders. The rider can see what to deliver and the invoice that rides with it, and nothing more — the delivery role does not carry a dispatch power.

Tips & time-savers

Tip

Paste the customer's WhatsApp message straight into the New order paste helper — Neev splits the lines and matches each to a SKU, so you review rows instead of retyping the whole order. (This paste matcher is a quick keyword match for manual entry; the full multimodal intake pipeline that handles voice notes and photos lives in the Intake tray.)

If the same customer's order gets keyed in twice within a couple of minutes — two staff acting on the same WhatsApp message, say — Neev catches the overlap and returns the existing order instead of creating a duplicate. You won't end up double-booking stock.

Gotchas

Warning

Confirming reserves stock — and you can't quietly undo it. The moment you confirm, available stock drops for every line. If you cancel a confirmed (or later) order, the stock is released back, but the order itself is then cancelled for good — cancelled and delivered are terminal states with no way back. Confirm only when the order is real.

Warning

A held order is stuck on purpose. If a customer is over their credit limit, the order saves as held, not confirmed — no stock is reserved and it won't move down the line until someone clears it. If an order isn't progressing, check whether credit put it on hold.

Related