All guides

Stock control & transfers

Every way stock moves in Wezo, how to shift goods between branches, and how low-stock alerts and spoilage keep your counts trustworthy.

8 min readInventory managerManager

How stock moves

EventEffect on stock
Sale at the POSOn-hand falls — retail by the item, restaurant by the recipe's ingredients
Variant saleOn-hand falls by the variant's base quantity, not by one
RefundEverything the sale consumed goes back
Goods receiptOn-hand rises by the quantity you received
Stock transfer completedFalls at the source branch, rises at the destination
Spoilage recordedLogged against the item as waste
Every way stock movesGoods receiptFrom a supplierTransfer inFrom another branchRefundA sale reversedOn hand at this branchAlways in base unitsSaleItem, or its recipeingredientsTransfer outTo another branchSpoilageBreakage, waste, expiry

Six events, and only six. If a count is wrong, one of these did not happen — or happened without being recorded.

Read this diagram as text
  • Goods receipt On hand at this branch
  • Transfer in On hand at this branch
  • Refund On hand at this branch
  • On hand at this branch Sale
  • On hand at this branch Transfer out
  • On hand at this branch Spoilage

Never fix a count by typing over it

Editing on-hand hides the reason it was wrong. Receive a delivery, transfer it, refund it, or record it as spoilt — then the number is right and you also know why it moved.

Move stock between branches

Dashboard → Transfers

  1. Open Dashboard → Transfers at the branch sending the stock and click New stock transfer.

  2. Choose the Destination branch.

    The source is the branch you are currently in.

  3. Add each item and the quantity to send.

    Quantities are in base units and must be greater than zero.

  4. Add a Note — a reason or a reference.

    Six weeks later this is the only thing that explains the movement.

  5. Click Create transfer.

  6. When the goods physically arrive, complete the transfer.

    Completion is what actually moves the numbers: stock leaves the source branch and lands at the destination.

A stock transfer between branchesnoyesCreate the transferDestination branch, items,quantities, noteGoods travelDid everything arrive?Complete the transferLeave it open andinvestigateAn open transfer is aquestion worth answeringSource falls,destination rises

Creating the transfer records the intent; completing it moves the numbers. Complete on arrival, so anything lost in transit stays visible as an open transfer.

Read this diagram as text
  • Create the transfer Goods travel
  • Goods travel Did everything arrive?
  • Did everything arrive? Leave it open and investigate (no)
  • Did everything arrive? Complete the transfer (yes)
  • Complete the transfer Source falls, destination rises

Complete on arrival, not on dispatch

Completing when the boxes are actually checked in means a transfer that goes missing shows up as an open transfer rather than as stock that quietly vanished at the destination.

Low-stock alerts

Dashboard → Notifications

  1. Set a reorder level on the items that matter.

    Dashboard → Inventory → Items → Stock control. No threshold means no alert.

  2. Open Dashboard → Notifications to see what is running low.

    The dashboard overview also carries a low-stock panel so it is in front of you without a detour.

  3. Generate low-stock notifications when you want an on-the-spot sweep.

    If nothing is below its threshold you are told there is nothing to report.

  4. Turn the alert into a purchase order.

    That way the reorder is tracked instead of remembered.

The reorder loopnoyeskeep sellingSelling day to dayOn hand at or below thereorder level?Low-stock notificationraisedAlso on the dashboardoverviewNothing to reportRaise a purchase orderMinimum order quantityrespectedReceive the deliveryStock back above thethreshold

Alerts only fire on items that carry a reorder level. Set thresholds on the lines you cannot afford to run out of — and only those.

Read this diagram as text
  • Selling day to day On hand at or below the reorder level?
  • On hand at or below the reorder level? Nothing to report (no)
  • On hand at or below the reorder level? Low-stock notification raised (yes)
  • Low-stock notification raised Raise a purchase order
  • Raise a purchase order Receive the delivery
  • Receive the delivery Stock back above the threshold
  • Stock back above the threshold Selling day to day (keep selling)

Batches and expiry

Switch on Track expiry (batches) for perishables. Every goods receipt for that item then captures a batch number and an expiry date, so you know not just how much you hold but how long you have to sell it.

  • Sell oldest batch first — the batch record is what tells you which that is.
  • When a batch expires, record it as spoilt rather than letting it disappear from a count.
  • Batch references also make a supplier recall answerable in minutes instead of guesses.

A stock-count routine that works

The count does not match — what to checkstill differsyesnoyesnoyesnoCounted stock differsfrom the systemRecountMost variances are countingerrorsAny transfer createdbut never completed?Complete itWas a delivery receivedshort?Raise a supplier creditnoteBreakage or expirynobody logged?Record it as spoiltCheck the audit log forwho changed what

Work down the list before you correct anything. A number typed over a gap destroys the only evidence of what went wrong.

Read this diagram as text
  • Counted stock differs from the system Recount
  • Recount Any transfer created but never completed? (still differs)
  • Any transfer created but never completed? Complete it (yes)
  • Any transfer created but never completed? Was a delivery received short? (no)
  • Was a delivery received short? Raise a supplier credit note (yes)
  • Was a delivery received short? Breakage or expiry nobody logged? (no)
  • Breakage or expiry nobody logged? Record it as spoilt (yes)
  • Breakage or expiry nobody logged? Check the audit log for who changed what (no)
  1. Count a small set of high-value items often, rather than everything once a year.

    Storage location on each item makes a section-by-section count quick.

  2. Investigate before you correct.

    A gap usually has a cause: an unrecorded transfer, a delivery received short, waste nobody logged, or a sale rung up against the wrong item.

  3. Record what you find — spoilage as spoilage, a short delivery as a supplier credit note.

  4. Check the audit log if numbers moved and nobody knows why.

    It shows who did what, and when.