01 · Roles & access

Warehouse role: stock movement, packing, and receiving returns

The floor role — reads orders, packs them, receives goods, runs adjustments and batch actions, and accepts returned stock. No money, no order creation, no master-data edits.

5 min read · updated 28/05/2026
Who can do this
RoleCreate order draftConfirm / dispatch orderPack orderRecord paymentVoid invoiceEdit pricing
OwnerAllowedAllowedAllowedAllowedAllowedAllowed
WarehouseNot allowedNot allowedAllowedNot allowedNot allowedNot allowed

Overview

The Warehouse role is for the people on the floor — the hands who pack the cartons, take in stock from suppliers, count what's actually on the rack, and accept goods that come back. It keeps the floor moving without touching money or master data. A warehouse hand can see what to pack and record what physically moved, but cannot create an order, raise a bill, or change a product's price. That separation is the point: the floor records reality, the office handles the numbers.

Where to find it

A warehouse user lands on the Warehouse desk at /warehouse. From the sidebar they also reach Inventory (/inventory) and Returns (/returns). On the phone, the floor shell lives at /m/warehouse/pack — built for packing and receiving with one thumb while standing at the rack.

What a warehouse user does not see: no Invoices, no Payments, no Customers, no Pricing, no Intake tray, no WhatsApp, no Reports, and no Settings. If a screen deals with money, masters, or admin, it isn't on their menu.

Key concepts

  • Packing slip — the floor list of what goes in the carton for a confirmed order. Generating it and packing the order is the warehouse hand's main order job (orders.pack).
  • Stock receipt — recording goods that arrived from a supplier into stock (inventory.receipt).
  • Adjustment — a manual correction when the count on the rack doesn't match the system (inventory.adjustment).
  • Quality-check hold — pausing a batch so nothing ships off it until it's cleared, then releasing it once checked.
  • Receive goods — marking that a returned shipment physically arrived back at the warehouse (returns.receive-goods). This is the only part of a return the floor touches.

Common workflows

1
Pack a confirmed order
Orders arrive already confirmed — open one on the Warehouse desk, generate the packing slip, and mark it packed. You can't confirm or dispatch it; that's the office's job.
2
Receive supplier stock
Inventory → record a receipt against the goods that came in. The stock count goes up by what you actually took in.
3
Fix a count
Inventory → record an adjustment when the shelf and the system disagree. Note why, so the office can see it in the audit trail.
4
Hold or release a batch
Put a batch on quality-check hold so nothing ships off it, then release it once it's cleared. Write off a batch only when stock is genuinely dead.
5
Take in a return
Returns → open the return, go to Receive, and mark the goods received (/returns/[id]/receive). The office initiates and approves the return; you just confirm it landed.

Role notes

Two roles matter here. Warehouse is the acting role; Owner can do everything a warehouse user can, plus the rest.

Warehouse can: read orders and pack them; read inventory; record receipts and adjustments; write off a batch, pause and release a batch from quality-check hold, and transfer a batch; read returns and mark returned goods received; and read the supplier list.

Warehouse cannot:

  • Create, confirm, or dispatch orders — packing is the floor's job, not running the order. After you pack, a Manager or Owner marks it dispatched.
  • Edit the product master — no creating, updating, or bulk-importing products. The narrower batch set also means no creating batches, no changing batch MRP, and no toggling batch tracking.
  • Touch money — Warehouse has no invoicing or payment access at all. There are no invoice or payment screens.
  • Run the return workflow — Warehouse receives the goods but cannot initiate, approve, reject, or cancel a return, and has no purchase-return access.
  • Edit customers, prices, suppliers, or settings — suppliers are read-only; customers, pricing, intake, notifications, WhatsApp, reports, and admin are all off-limits.

Owner holds every standard permission in the tenant, so an Owner can do all of the above plus create orders, dispatch, raise invoices, and edit masters. (Pack features like Pharma or Dairy turn on only when that Pack is installed.)

Tips & time-savers

Tip
Pack from the floor, not the office. Open the mobile warehouse shell at /m/warehouse/pack on your phone — big ≥56px buttons, built for packing and receiving while you stand at the rack. No walking back to a desktop to mark a carton packed.

When you fix a count, always type why. The adjustment note is what the office reads later instead of calling you to ask what happened.

Gotchas

Warning
Packing is not dispatching. When you mark an order packed, it does not leave — a Manager or Owner still has to dispatch it. Warehouse has no dispatch power, so a carton can sit packed-but-not-sent if nobody in the office moves it on. Tell the office once it's ready to go.
Warning
A batch write-off is for dead stock only. Once written off, that stock is gone from your count — there's no undo on the floor. If you only need to stop it shipping for now, put it on quality-check hold instead, then release it when it's cleared.

Related