The stock quantity shows zero and there is stock on the shelf
You are keying a sales invoice. You type the item code, and either the line comes up with a stock figure of zero, or the item does not appear in the search at all — and you are standing next to the shelf it is sitting on.
Nothing has been lost. In every version of this, the stock is exactly where you left it and the screen is answering a narrower question than the one you asked. This page is the four narrower questions, in the order worth checking, with a test for each that you can run without leaving the screen you are on.
Meet GadgetSphere
GadgetSphere Sdn Bhd runs 22 consumer-electronics branches across three companies, about 5,200 active SKUs, and a fulfilment centre that belongs to a different company from the shops. That last detail is why this page exists: most of what follows only bites once stock lives in more than one place.
The 30-second check
Find the location on the screen you are looking at, and ask whether it is the location the stock is in.
Every stock figure in BigLedger is held per item and location — there is no such thing as “the quantity of this item”. A sales invoice counts stock at the location on its header. The till counts stock at the location behind the terminal. A report counts whatever its filter says.
- Read the location field on the document header. On GadgetSphere’s invoice it says
GS-KV-01. The two flagship handsets are at the fulfilment centre, which belongs toGSO. The invoice is right: there are none atGS-KV-01. - Open Stock Availability and look the item up with no location filter. If a quantity appears against a different location, you have your answer and the rest of this page is optional.
- If Stock Availability also shows nothing, ask a colleague with a different role — ideally an administrator — to run the identical search. If they can see it and you cannot, skip to Your search was quietly narrowed.
That sequence settles most of these before anybody opens a report.
Why zero and “not found” are the same problem wearing two faces
When you search for an item on a sales document, BigLedger can add a condition to that search: only offer items that have a positive balance at this document’s location. When that condition is on, an item with no stock here is not shown with a zero beside it — it is not shown at all. The search comes back empty and reads as “that item does not exist”, when what it means is “that item has none here”.
The condition is not a filter you can see. It is switched on by one setting in the Sales Invoice applet’s own settings screen, and the label to look for is Disallow negative stock for basic item (validate stock balance). Turn that on and you get two things you probably wanted — a stock-balance column in item search, and a server-side refusal to finalise an invoice for stock the location does not have — and one thing nobody mentions: items with zero stock here disappear from item search.
So the first question to ask about a missing item is not “where did the item go” but “is this screen only offering me things it has stock for”.
Four reasons the number is not the number you expected
1. The stock is real, and it is somewhere else
Check this one first, because the whole of it is the location field.
A balance row exists per item per location. Where there is no row for that pair, the screen does not show a blank — it shows zero, because zero is the honest answer to “how many are at GS-KV-01”.
What to do. Either raise the document at the location holding the stock, or move the stock with a Stock Transfer and then raise it. Do not adjust the quantity up at one location to make the line save; you will have invented stock at one branch and left it stranded at the other.
What this costs you if you get it wrong. A stock adjustment is a posting. Adjusting in to clear a blocked invoice puts a value into the ledger at that branch and leaves the real unit sitting in another company’s books — which is a stock-flow difference somebody has to unpick at month end, and by then nobody remembers why.
2. Available is not Balance, and it is supposed to be lower
On Stock Availability you see both. They are different figures and only one of them is the stock.
| Column | What it counts | Does an open order change it? |
|---|---|---|
| Balance | Units on hand at that location — the ledger figure | No |
| Available | Balance, adjusted for quantities already promised or expected on open documents | Yes |
An open sales order or an outbound delivery order reduces Available without moving Balance. That is correct and it is the point of the column: it stops you promising the same unit twice.
When it is a real problem. If the gap is bigger than your genuinely open orders can explain, you have order lines that will never ship and are still reserving stock. Close them off or void the orders; the gap closes with them.
3. Your search was quietly narrowed
Permission to read stock is not a yes-or-no. On Stock Availability it is granted against particular locations and companies, and the narrowing happens silently.
Here is exactly what the platform does with your request. It takes the list of locations you asked for and keeps only the ones your grant covers. It does the same with companies. Then it runs the search on what is left, and returns the result without a word about what it removed. If nothing at all survives, the whole request is refused and the grid stays empty.
So there are two distinct symptoms from one cause:
- The grid is empty and the request was refused — your grant covers none of what you asked for.
- The grid has numbers and they are too small — your grant covers some of it. You are looking at a total computed over fewer locations than you think, and nothing on the screen says so.
The second is the dangerous one, because it looks like an answer.
The test, and it is conclusive. Have somebody with a broader role run the identical search. If their figure is bigger, the difference is your permission, not your stock. That is also the fix: the grant is normally held by a role rather than a person, so covering the missing locations on the role fixes everybody in it at once. Ask whoever administers your tenant — this is not something you can change from the screen you are standing on.
4. The item cannot go on a document in the first place
This one shows up as “the item does not exist” rather than as a wrong number, and the stock is irrelevant to it.
Every item that appears on a document is really two linked records: an inventory item that holds stock, and a document item that can be put on a line. Open the item in Inventory Item Maintenance and read FI Item Code on the Main tab. If it is blank, the item has no document twin, and no amount of stock will make it selectable anywhere.
Two neighbours of the same problem, worth checking in the same minute: the item may be inactive, and it may not be linked to the company or branch you are working in. An item linked to GS only will not be offered on a GSD document, whatever its balance says.
The fix is to create items from Doc Item Maintenance, which makes and links both records. Creating one from the inventory side alone is how the blank FI Item Code happens.
When the quantity really is zero
Two cases where nothing is wrong with the screen and the answer is genuinely zero:
- Somebody sold it and nobody told you. Run Stock Movement for that item and location in Stock Report; the outbound document that took it is there with a date and a name.
- The balance is negative. The inventory ledger permits negative quantities and nothing in the platform blocks them, so a location can go below zero when an outbound document overshoots. A negative balance is not a display fault — it is a real outbound that had nothing to take from, and it needs the document found and corrected rather than the balance typed over. It also distorts anything derived from it: the moving-average price is balance value divided by balance quantity, and nothing guards that formula against a negative quantity — so a negative balance produces a negative unit cost, arithmetically, with the transaction chain perfectly intact.
What you can and cannot undo
- A stock transfer can be reversed by transferring back. The ledger keeps both movements; nothing is erased.
- A stock adjustment is a posting to the ledger and to your accounts. You reverse it with another adjustment, and both remain visible for ever. There is no quiet correction.
- Nothing on this page needs an adjustment. If you have reached for one, go back to the 30-second check — in every case above the stock already exists somewhere and the screen was answering a different question.
What success looks like
Thirty seconds, on the item you are arguing with:
- Stock Availability, item filtered, no location filter. Every location holding that item is listed with a Balance.
- The sum of those balances matches what you believe you own. If it does not, you have either a permission narrowing your view or a movement you have not seen — and you now know which test tells them apart.
- The document you were keying names one of those locations. If it does not, that is the whole answer.
Common mistakes
| What people do | What to do instead |
|---|---|
| Adjusting stock in to make a line save | Find the location holding it and transfer, or raise the document there |
| Reading Available as the stock figure | Read Balance; Available is Balance minus what is already promised |
| Concluding an item does not exist because item search will not offer it | Look it up in Inventory Item Maintenance, which applies no stock condition |
| Trusting a total on a screen whose permission is location-scoped | Have a broader role run the same search before believing the number |
| Creating items from the inventory side only | Create from Doc Item Maintenance so both records exist and are linked |
| Treating a negative balance as a display fault | Find the outbound document that overshot and correct it by document |