Skip to content

Inventory Workflow

Which document actually takes stock out? In this folder, fewer than the names suggest. Of the twenty applet pages here, five cover a document that writes to the stock ledger today, three of those five post a journal, and the rest count, ask, hold, plan, print or look. This page is for whoever has to pick the right screen — the stock controller, a branch manager, the accounts person — and it answers one thing per applet: what changes when you press FINAL there, and what stays as it was.

The mechanics behind every row are on Inventory Module; the sales, purchase and POS paperwork that moves stock is on Related Applets. This page routes; follow the link for the reason.

What each applet writes, and whose screen it is

A document moves stock only if the server gives its type a non-zero quantity sign, and the backend fixes the sign; the applet has no say in it. When you press FINAL, the document is marked and a posting job is queued; the stock job then writes one signed line per item to the stock ledger, and a separate journal job posts to the general ledger where the type has one. FINAL is over before either runs, so a document can say FINAL while its journal failed — how a FINAL reaches the balance.

AppletWhose screenStock ledgerGeneral ledger and other modulesWhere it stops
Stock TransferSending and receiving locations of one companyOut of the sender into the company’s in-transit location; in at the receiver on a second documentNo journal. The receiving location’s cost seeds from its own historyThe receiver gets nothing until the inbound is FINAL
Stock AdjustmentStock controller; finance for Reset Moving AverageUp or down at one locationJournal: stock adjustment against stock balance. Reset MA posts its ownFINAL does not check the GL codes; the journal job does, afterwards
Consignee Stock TransferWhoever places your stock on a partner’s shelfBoth ends in one documentNo journal; the stock stays yours at costBilling the consignee happens on a sales invoice, not here
Consignment GRN (Internal)Receiving, for stock a supplier still ownsInConsignment stock against consignment liability, where your company posts itOwnership does not pass here; it passes when the stock is sold and billed
Consignment GIN (Internal)Whoever issues consignment stock back outOutThrough the ordinary purchase and creditor accounts, not the consignment onesNo void; correct it with a Consignment GRN
Stock ConversionBranch or warehouse re-packing and kittingBuilt to, but on 2026-10-10 nothing is connected to its posting run, so FINAL moves no stockNo journalEven once connected, no cost passes from components to the kit
Stock TakeCounters, the supervisor who closes the session, auditNothingNothingIt never changes a balance; a Stock Adjustment does
Stock ReservationSales or warehouse staff holding stock for a customerNothing; it writes the reserved column that availability subtractsNothingNothing checks a hold against what is on hand
Stock Requisition (Internal)A branch asking another location for stockNothingNothing; a transfer is raised against itIts approval settings have no effect today
Stock ReplenishmentPurchasing and inventory plannersNothing itselfRaises purchase orders or stock transfers, which move stock in their own appletsA scheduled run raises its orders and transfers without showing errors
Stock Level MonitoringThe people on its e-mail listNothingAn e-mailNothing displays a run’s result; the e-mail is the result
Warehouse Management SystemWarehouse staff and supervisorsNothingCreates draft delivery orders and stock transfers from packing listsA picking list reserves nothing
Goods Delivery Note (Internal)Whoever hands goods to the customerNothingKnocks off the order’s open linesStock leaves on the stock-out document raised alongside it
Inbound Delivery Order (Internal)Receiving, as a paper trailNothingNothingNot in the Applet Store; stock comes in on a GRN Stock In or purchase invoice
Driver Delivery OrderThe driver set on the delivery orderNothingEdits vehicle, date and slot on delivery orders raised elsewhereIt creates nothing and sets nothing to FINAL
Non Stock and Trade InStore team reselling trade-ins; financeIts own per-serial register, outside the stock ledgerClosed at month end through its own default GL codesIts units appear in Stock Availability and in no stock report
Barcode GeneratorWhoever prints labelsNothing; it reads nothing eitherNothingTemplates are saved to your login, not shared
Stock Balance, Stock Availability, Stock ReportEveryone who asks “how many?”Read onlyRead onlyA wrong figure is fixed by a document, never on these screens

Related Applets - Stock Balance is the index of every document type that writes the balance, including those in other folders.

Which one to pick

You want toUseRather than
Record what is on the shelfStock Take, then a Stock Adjustment for each difference you acceptAn adjustment with no count behind it, which leaves no record of counted beside system
Move stock between two locations of one companyStock Transfer — an outbound and an inbound, so a split delivery is received in parts (one transfer, two lorries)Consignee Stock Transfer, which is for your stock on someone else’s shelf
Sell from the hub’s stock on a branch’s invoiceNo transfer at all: the Delivery Location on the invoice’s lines decides where the stock check and the stock-out happenTransferring stock in for one sale and back if it does not sell
Move stock between two companies of the groupA sale and a purchase between them (which of two neighbours)Stock Transfer, which posts no journal and carries no tax
Turn components into a kit at one locationStock Adjustments, out of the components and into the kit, while conversion is unconnected — and whenever the kit must carry the components’ costStock Conversion, which today moves nothing
Hold stock for one customerStock Reservation, released when the sale is madeA hold left to expire: where the expiry job runs, it leaves the listing and keeps lowering availability
Ask another branch for stockStock Requisition, then the transfer raised against itExpecting the requisition to move anything; the transfer does
Be told when stock is low, or act on itStock Level Monitoring tells; Stock Replenishment raises the ordersExpecting either to move stock
Take in stock a supplier still ownsConsignment GRNA GRN Stock In, which books it as received and owed to the supplier

The Delivery Location row is the one most groups miss. A small mall unit that keeps its laptops at the Klang Valley hub sells one on its own invoice with the delivery location set to the hub, and the stock check reads the hub’s eleven rather than the shop’s none. The same field, saved with a location nobody chose, is why a branch is refused for stock that is on its own shelf — check it before you transfer anything in. The scenario and its cautions are on Related Applets.

Where the three stock figures come from

FigureWhere you see itHow it is made
BalanceStock Balance; the Stock Balance column on a line pickerStored. Updated by the stock job after a stock-moving document’s FINAL; a back-dated document re-chains it
AvailableStock AvailabilityNot stored. Recomputed each time you ask: the balance, plus a signed amount for open orders and receipts, less reservations. It can be higher than the balance
ReservedStock Availability, from the balance rowStored. Written by a reservation, and by sales orders, job orders and packing orders that hold stock
Balance as at a past dateStock Report, Historical Stock BalanceRead live from the stock ledger when you run it, not from a nightly copy

So the balance and available disagree whenever an order is open, and that is correct; a stock report agrees with the balance sheet’s stock account only under six conditions (stock report versus the stock account). Which of the twelve reports answers which question is on Inventory Reports.

When the wrong applet was used

What you seeWhyWhat to do
“My count and the stock report still disagree after a stock take.”A count measures the gap and writes nothingRaise a Stock Adjustment for each variance you accept (counting and variances)
The conversion says FINAL and Stock Balance has not movedIts posting run has no job connected to itRecord the movement with Stock Adjustments and leave the conversion as the record of what you meant (Stock Conversion)
A Goods Delivery Note, Inbound Delivery Order or Stock Requisition is FINAL and the stock is where it wasIts quantity sign is 0Raise the document that moves stock: a stock-out or invoice, a GRN Stock In or purchase invoice, or a transfer
Head office sent it and the branch cannot find itThe outbound is FINAL and nothing has received it; it sits in the in-transit locationWhat sits in transit
A reservation expired but availability is still lowWhere the expiry job runs, it deletes an expired reservation without releasing itRelease a reservation before it expires (Stock Reservation)
A consignment GIN landed on the ordinary creditor and purchase accountsThat is the mapping the GIN posts through; the GRN and the Consignment Return use the consignment accountsDecide whether the GIN or a Consignment Return suits the case before you post

The module’s longer table, starting from what you see, is When stock looks wrong.

How you know a document moved stock

Open Stock Report, Stock Movement Report, for the item and the location, and filter by the document’s Server Doc Type. A document that moved stock is listed with its number, its quantity in or out and the running balance after it. If it is not there, it moved nothing, whatever its status says — and the first table above names the sibling that would have. For an adjustment, also confirm its journal under Ledger and Journal, Error Checking > Missing Journal: step 3 of the month-end check.

Where these applets sit

  • Must exist first: the inventory item and its link from the sellable item (only lines that resolve to an inventory item reach the ledger), the branch’s default location, and the company’s stock adjustment and stock balance default GL codes. Without the outbound-to-inbound document-flow row, nobody can receive a transfer through KO For. The list is on what must exist first.
  • Downstream: Month End Processing takes closing stock from this ledger to write cost of sales; the marketplace quantity is derived from the balance minus open marketplace orders (what a stock movement sets off).
  • Siblings in other folders: the documents that take stock in and out on a sale or a purchase are in Sales Workflow and Purchase Workflow.
  • Blast radius: a company with no stock balance default GL code still moves stock on every adjustment, posts no journal for any adjustment that carries a value, and Month End Processing writes no cost of sales for it (what one wrong setting reaches).
  • Used together: stock take with adjustment; outbound transfer with inbound through KO For; requisition with transfer; replenishment with purchase order.

Which pages this folder holds

Reference for the Non Stock and Trade In (NSTI) applet — the per-unit register of traded-in and non-stock items (bl_fi_nsti_stock_hdr), its categories, the CSV import, the Field Settings that hide columns and lock finalised records, and how POS / sales documents create and consume NSTI stock through the NSTI transaction-line processors.
Reference for the Stock Adjustment (Internal) applet — adjust-in / adjust-out documents for quantity corrections, serial and batch adjustments, bulk file import, and moving-average cost resets.
Reference for the Stock Report applet — twelve read-only inventory reports (movement, aging, summary by location, historical balance, sales and purchase by item, value by level, batch expiry, and five stock balance variants) with cost and price columns gated by settings and permissions.
How stock moves between locations of one company: the two hops through stock-in-transit, where the cost comes from, what the queue is really counting, and what the applet will not do.
Reference for the Stock Requisition (Internal) applet — the Requisition Out document a branch raises to ask for stock from another location: screens, every configurable setting, fields, what FINAL does and does not do, how CREATE ST hands the request to the Stock Transfer applet, and the errors you will meet.
Reference for the Consignee Stock Transfer applet — consignee location maintenance and the consignment goods issued / goods received notes that move stock between your locations and consignee (CCSG) locations.
Reference for the Goods Delivery Note (Internal) applet — the customer-facing delivery record that knocks off sales orders, jobsheets and outbound delivery orders without moving stock or posting to the ledger: screens, settings, fields, what FINAL does and does not do, and the errors you will meet.
Reserve a quantity of one inventory item at one location for a customer, with an expiry date, so that stock availability shows it as promised; optionally pin the reservation to warehouse bins.
Reference for the Stock Availability applet, used by sales, warehouse, purchasing and finance staff to see physical, committed and available quantity by company, location and bin, with document drill-down, stock aging, serial and batch tracing and stock card planning.
Index of the applets that write to and read from BigLedger's stock balance: which documents actually move stock (and which only look as if they do), how a finalised document reaches the balance, which applets read it, and the background jobs behind it.
Reference for the Stock Take applet — counting sessions per location, registered counting devices, scan and manual record capture with serial and batch validation, and the variance report that compares counted quantities with the stock ledger.
Reference for the Driver Delivery Order applet — a driver's view of the internal outbound delivery orders assigned to them, where the vehicle number, delivery date and time slot are updated in the field.
Reference for the Inbound Delivery Order (Internal) document: records what arrived against a purchase order, invoice or requisition, with serial, batch and bin capture. Quantity and amount signums are both 0 — it moves no stock and posts nothing. Not separately installable.
Reference for the Stock Conversion applet — a stand-alone inventory document (not a generic document) that moves stock between items at one location in a single FINAL: what it writes to the stock ledger, which tab adds and which removes, its settings, permissions, fields and failure modes.
Reference for the Stock Replenishment applet — templates, scheduled events and runs that compare per-location stock against minimum / maximum levels and generate purchase orders, internal stock transfers or inter-company transfers: its screens, the fulfillment strategy and every setting that changes what a run produces, fields, backend processing chain, permissions and failure modes.
Reference for the Warehouse Management System applet — warehouses, layouts and nodes, containers, inbound receiving and putaway, the picking and packing queues, and conversion into outbound delivery orders and stock transfers.
Watch per-location stock against optimal and maximum levels by item category, and e-mail the people who need to know when a level is breached — templates, scheduled events and the runs that do the checking.
Design shelf and product labels, fill a grid of item codes, barcodes, prices and quantities by hand or from a CSV, and print the sheet from the browser.
Reference for the Consignment GIN Applet (Internal) — the goods issue note that takes supplier-owned consignment stock out of one of your locations: screens, settings, fields, what FINAL does to stock and to the ledger, and the errors you will meet.
Reference for the Stock Balance applet — the read-only item x company x location grid over the current stock balance, with pivot, grouping, charts and export; what it queries, what it filters on, who can open it, and why it can disagree with Stock Availability and Stock Report.
Reference for the Consignment GRN Applet (Internal) — the goods received note that brings supplier-owned consignment stock into one of your locations: screens, settings, fields, what FINAL and VOID do to stock and to the ledger, and the errors you will meet.

21 pages — this list is read from the folder when the site is built, so it cannot fall behind what is in it.

Where to go next