Orders
The heart of fulfilment. An order's status isn't typed in by hand — it's computed from what's actually happening to its lines, deliveries and installs, so the headline is always honest.
🔄 Order lifecycle (status is derived)
FurnFlow walks the order's reality in priority order: if everything is installed it reads installed; if stock is short it reads awaiting_procurement. You change the underlying things (reserve stock, schedule a delivery) and the headline status follows automatically.
| Status | What it means |
|---|---|
| confirmed | Order placed (e.g. from a converted quote); not yet allocated. |
| awaiting_procurement | Stock can't cover it — backlog needs purchasing. |
| partially_allocated / reserved | Some / all lines reserved against available stock. |
| scheduled_for_delivery → out_for_delivery → delivered | The delivery progresses. |
| scheduled_for_installation → installed | The installation progresses. |
✏️ The order editor
Click any order to open the full editor. You can:
- Change line items and quantities; adjust discount and fees.
- Set the fulfilment type: pickup delivery delivery + install ship.
- Record the deposit and payment method.
- Override the total when you've agreed a special price.
- Add access notes (for the delivery crew) and internal notes.
🛡 The >10% approval gate
Money edits are governed so nobody can quietly discount away the margin:
If your edit moves the total more than 10% from FurnFlow's calculated total (or the original), it creates a pending price-override approval and is not applied until an owner approves. Owners and admins self-authorize; per-user approval limits can tighten this further.
💳 Money & locking
- Deposit & balance track against the order; record additional payments and generate invoices from the order.
- An order locks (no more edits) once it's delivered, installed or cancelled.
- Every order keeps an audit trail of edits, payments and approvals.
🧾 Order field reference
| Field | Meaning |
|---|---|
| Reference | The order number you and the customer quote. |
| Customer / Branch | Who it's for and which branch owns it. |
| Status | Derived from lines/deliveries/installs — not editable directly. |
| Fulfilment type | pickup · delivery · delivery + install · ship. |
| Line items | Products, variants, quantities and unit prices. |
| Subtotal / discount / fees / total | Calculated; a total override can replace the total (subject to approval). |
| Deposit / Balance | Paid up front vs still owed. |
| Payment method | How the deposit/payments were taken. |
| Access notes / Internal notes | Notes for the delivery crew / your team. |
🔑 Who can do what
| Action | Roles |
|---|---|
| View orders | Most operational roles (order.read). |
| Edit an order | Sales, manager, owner, admin — blocked once delivered/installed/cancelled. |
| Approve a >10% override | Owner / admin only. |
| Record payments / invoices | Finance, manager, owner, admin. |
❓ FAQ
Why is my order stuck at "awaiting_procurement"?
There isn't enough available stock to reserve its lines. It will move on automatically once stock arrives — raise a purchase order (receiving auto-reserves backlog) or transfer stock in.
I can't edit an order — why?
It's locked because it reached delivered, installed or cancelled. Locked orders are read-only by design.
My total-override is "pending approval".
It moved the total >10%. An owner must approve it (they're notified and see it in Approvals) before it applies.