Skip to content

Move and count stock

Personas: Storekeeper (creates the documents), Approver (posts them from the Inbox) · Modules: Inventory The day-to-day warehouse work beyond receipts and issues: shift goods between stores, take returns in and send returns back, correct the books, and run the counting ritual. Every document here follows the same rule — a DRAFT holds no stock; the ledger is written only when the Post task (Approver group, or an administrator) is completed, and Reject ends at CANCELLED with stock untouched. All numbers are stamped at create.

1. Stock Transfer — store to store (TR)

  1. Inventory → Stock Transfers → New Stock Transfer: pick the From store and To store (both required — and they should differ) and the date. Lines are just product + quantity — an internal move carries no money.
  2. On Post, every line writes an OUT movement from the source store and an IN movement to the target store, both linked back to the transfer, both valued at the product's current moving-average cost — so a transfer moves goods at cost and never changes the average.
  3. Picking the same store on both sides is not refused at save — it just posts a harmless net-zero pair. Don't.

2. Customer Return — goods back from a customer (CRET)

  1. Inventory → Customer Returns → New Customer Return: the receiving Store and the Customer (both required), the date, optionally the original Goods Issue being reversed and a reason. Lines: product, quantity, price (pre-filled from the product, editable — the commercial value being credited), VAT and totals.
  2. On Post, each line returns the quantity into stock (IN movements linked to the return) — valued at the product's current moving-average cost, not the sales price on the line. The price stays on the document for the commercial side (a return usually pairs with a credit note in billing).

3. Supplier Return — goods back to the vendor (SRET)

  1. Inventory → Supplier Returns → New Supplier Return: the Store and Supplier (both required), the date, optionally the original Goods Receipt being reversed and a reason. Lines: product, quantity, price — the acquisition price you are being credited.
  2. On Post, each line takes the quantity out of stock (OUT movements linked to the return) at cost = the line price — the negative receipt: goods leave at their acquisition price, and the moving-average pool shrinks by exactly that value.

4. Stock Adjustment — signed corrections (ADJ)

  1. Inventory → Stock Adjustments → New Stock Adjustment: the Store (required), the date, the Type (defaults to COUNT; also DAMAGE, LOSS, FOUND, WASTE — a reason label, not a different document) and a free-text reason.
  2. Each line is a product and a signed adjusted quantity: positive raises on-hand, negative lowers it.
  3. There is no draft/post step here: an adjustment has no status and no Inbox task — each line writes its ledger movement (direction from the sign, linked back to the adjustment) the moment the line is created. Enter lines only when you mean them.

5. Stocktake — count, then post the differences (STK)

  1. Inventory → Stocktakes → New Stocktake for a store and a date; it starts DRAFT. Add one line per counted product with the counted quantity.
  2. Tick zero uncounted first if this is a full revision: products with stock on hand in the store but missing from your count will get a zeroing line.
  3. The Post task (number, date, store) lands in the Approver's Inbox. On Post, every line is filled with the system quantity (the live ledger sum at that moment) and the variance (counted − system); all non-zero variances become one COUNT stock adjustment, whose lines flow into the ledger like any correction — on-hand snaps to what you counted. The stocktake becomes POSTED; a clean count posts nothing. Reject cancels it.

What happened behind the scenes

  • Status path for transfers, returns and stocktakes: DRAFT → POSTED (reject: CANCELLED); adjustments post per line, immediately. All posting is idempotent — never doubled.
  • Number series: Stock Transfer (TR), Customer Return (CRET), Supplier Return (SRET), Stock Adjustment (ADJ), Stocktake (STK).
  • Costing: transfers and customer returns move at the current moving average; supplier returns at their line (acquisition) price; adjustment and stocktake-variance movements get the average from the costing bookkeeping. See Check stock on hand.
  • If your deployment blocks negative stock, posting a transfer or supplier return that would over-issue refuses with the product and shortage; corrections (adjustments, stocktakes) are never blocked — they record reality.

See also

The BusinessIntents Business Suite - end-user guide.