Reports
Nearly all of the module’s reporting is one applet — Stock Report — with twelve fixed reports over the stock ledger and the balance tables. There is no inventory report builder. The enquiry screens (Stock Balance, Stock Availability) and the stock take session report make up the rest.
Every report shares the same shell: an Advanced Search panel (locations — a non-administrator must pick at least one they may read — item code keyword of three characters or more, item code range, type, status, category levels, date range and location labels), a column toggle, a grid with grouping and totals, and Excel or PDF export.
The twelve reports
Movement and history
| Report | What it reads | Use it to |
|---|---|---|
| Stock Movement Report | Every stock ledger line, grouped by item, with a running balance | Trace what happened to one item: date, location, document short code and number, entity, serial, unit cost, quantity in and out, running balance. Options hide voided documents and include serial-adjustment rows |
| Stock Aging Report | Remaining quantity and value by age bucket | Find slow-moving stock. Receipts are replayed oldest-first from a fixed 1 January 2022 to the Date As, whatever range you search. Month columns (the default) are this month, the five before it and 6 Month+, counted back from today. Day columns come from the aging-period definition you select under Settings > Aging Period Settings; with none selected there are none. Every receipt, including a transfer in or a return, starts a new age |
| Stock Summary Report By Location | Opening, purchase, sold, adjustment, others, in-transit and closing, per item and location | The month-end summary. Purchase = purchase invoice, GRN Stock In, purchase return; Sold = sales invoice, cash bill, sales return; Adj = stock adjustment; Others = everything else including transfers, consignment and stock shipped on a Sales GIN Stock Out (so a sale made that way is not in Sold); Stock In Transit = the open outbound queue plus draft inbound lines |
| Historical Stock Balance | Balance and moving-average value as at a past date | Answer “what did we hold on 31 December?” |
Balances now
| Report | What it adds |
|---|---|
| Stock Balance Report | Current balance with moving-average and last cost, per company |
| Stock Balance Pricing Report | The same balance alongside the item’s price-book prices, tax codes and costs |
| Stock Balance Report With Serial | Balance per location with the serial list, add and subtract, and a stock count |
| Stock Balance by Item, Supplier and Batch Expiry | Balance per item, supplier entity and batch, with moving-average value |
| Stock Balance Report by Supplier with Serial | Balance traced back to the purchase document, the supplier and the serials |
Value and performance
| Report | Use it to |
|---|---|
| Stock Value By Level Report | Pivot quantity and value by item category level and location — the report finance wants at month end |
| Stock Sales And Purchase By Item Code | Compare sales against purchases per item, with gross profit and stock-turn ratio |
| Batch and Expiry Date Report | List batch quantities in expiry buckets — the one that matters for anything perishable or date-coded |
An Item Price Change Report route still exists in the applet but its menu entry has been removed.
The enquiry screens are not reports, and that is the point
| Screen | When to use it instead |
|---|---|
| Stock Balance | “What is on hand right now, by item and location?” One grid, with moving-average and last purchase cost. Exports for a quick reconciliation |
| Stock Availability | “What can I still promise?” — balance plus the signed open documents, down to bin, serial and batch. The Details screen lists the documents behind the number by type, which is how a figure you do not believe gets explained |
Four pairs that will not agree, and why
Stock Balance versus Stock Availability. Expected, always. The balance changes only on FINAL of a stock-moving document; availability adds the signed open orders on top. If they agree, you simply have no open documents.
Any stock report versus the trade-in listing. Trade-in units are kept in their own tables. They appear in Stock Availability, which unions the two, and in no stock report. Use the Non Stock and Trade In listing for them.
Stock report versus the stock account on the balance sheet
The pair finance asks about most, usually as “my stock report does not tally with the balance sheet”. The stock account on your Trial Balance or Balance Sheet is not a total of your stock. It is a journal balance, and a different piece of machinery makes it at a different time. Nothing in BigLedger compares the two figures: no report, no warning. The Stock Flow Report does not do it either (see below).
How the stock account is actually made. BigLedger keeps stock periodically in the ledger. During the month a purchase invoice posts to your Purchases account, not to stock. A sale posts receivable, sales and tax, and no cost line. A GRN Stock In posts to inventory-not-invoiced. So in the middle of the month the stock account barely moves. It moves through:
- Month End Processing’s cost-of-sales journal, once a month per company. Cost of sales = opening stock + purchases + purchase returns + stock adjustments + Reset MA − closing stock. The journal clears Purchases and Purchase Returns into cost of sales and moves the stock account by closing − opening. Adjustments and Reset MA already posted to the stock account, so they are counted once. Every run deletes and rewrites that month’s journal.
- Stock adjustments and Reset MA, at FINAL; opening-balance journals; and anything a person or a document line codes to the stock account.
Opening and closing stock are read from the stock ledger at the moment the close runs. For each item, the close takes the last ledger line before the date, the company’s quantity on hand, times the cost in the company’s Inventory Closing Base On column (moving average when empty).
The two figures agree only when all six of these hold:
| Condition | What breaks it | How you see it |
|---|---|---|
| 1. Nothing else is coded to the stock account | A manual journal, payment voucher, invoice line or debit note coded to the stock account moves the ledger and never the stock | The stock account’s lines in the journal-line listing. Every line that is not the cost-of-sales journal, a stock adjustment, Reset MA or an opening balance is a suspect |
| 2. Every month you back-dated into was closed again, in date order | A document dated 27 February and finalised after February was closed. February’s journal keeps the closing stock it saw; March’s opening is read fresh. The account is out by that document until February and every later month are processed again | A closed month’s journal never updates itself. When in doubt, process the months again, oldest first: each run replaces that month’s own cost-of-sales journal |
| 3. The report is run on the close’s basis | The close takes every location and every item of the company, negative balances included. A report run for some branches, active items only, or one category is a smaller number | Historical Stock Balance: one company, every location (a non-administrator sees only the locations they may read, so run it as someone who reads all of them), no item type, status or category filter, Date As the last day of the month |
| 4. The same cost column | The close values at Inventory Closing Base On. The report values at whatever Calculate Base On says | Set Calculate Base On to the company’s Inventory Closing Base On |
| 5. The same kinds of ledger line | The close reads only ordinary stock lines and Reset MA lines, deleted ones included. Historical Stock Balance also reads stock-sync lines and leaves deleted ones out. Where stock arrives by sync from another system, the two cannot agree | Ask BigLedger support whether your company’s stock arrives by sync, or has deleted ledger lines |
| 6. No manual closing value | A Select Manual closing value for the month replaces the calculated one (a zero manual value is ignored). Work-in-progress, raw material, finished goods and non-stock closing values post to their own pairs of accounts | Chart of Account › the company › fiscal year stock settings. Leave those separate accounts out of the comparison |
The tie-out, after every close. This is the accountant’s job, every month, before the month is locked:
- Run Month End Processing for the month. If anything was back-dated, start at the earliest month it touched and process every month after it, in order. Then REGENERATE the Trial Balance.
- Note the stock account’s balance at the month end.
- Run Historical Stock Balance on the close’s basis (conditions 3 and 4) and total the value column.
- If the two differ, list the month’s lines on the stock account (condition 1), and check conditions 2, 5 and 6. If the month’s lines are clean, the difference came in earlier. Repeat the comparison at each earlier month end until the two agree. The first month they do not agree is the month to read, often the opening-balance month.
- Correct the cause at its source. Re-code the document or reverse the journal, re-process the months in order, then lock.
You know you are done when the two figures are equal at the month end, or differ only by rounding you can explain.
GadgetSphere’s March. GS’s Balance Sheet shows stock of RM 4,620,000. Historical Stock Balance
shows RM 4,170,000, so RM 450,000 is unexplained. The tie-out finds three causes:
- RM 280,000 in payment vouchers for freight and a supplier deposit, coded to the stock account. These are condition 1. Re-code them to freight and to supplier deposits.
- RM 120,000 at cost for a corporate laptop order dated 27 February and finalised on 4 March, after February was closed. That is condition 2. Re-process February, then March.
- RM 50,000 of discontinued models, left out because the report was filtered to Item Status ACTIVE. That is condition 3. Run it again with no status filter.
What the Stock Flow Report is for, and what it is not. It compares, per module, the amounts on finalised documents with the journal lines on that module’s account: purchase invoices against Purchases, sales invoices at their selling prices against Sales, and so on. It answers did every purchase and sale post its journal, for the right amount? That is a useful check before a close. It never reads stock value or the stock account. Its Opening Stock row is always zero, and it has no Closing Stock row.
Which report answers which question
| Question | Report |
|---|---|
| What happened to this item? | Stock Movement Report |
| What did we hold at the year end? | Historical Stock Balance |
| What is the closing value for the month, by category? | Stock Value By Level, and Stock Summary By Location |
| What is not selling? | Stock Aging Report, and Stock Sales And Purchase By Item Code for the turn ratio |
| What expires soon? | Batch and Expiry Date Report |
| Where is this serial number? | Stock Balance Report With Serial, or the Availability drill-down |
| Which supplier did this batch come from? | Stock Balance by Item, Supplier and Batch Expiry |
| Can I promise this customer 20 units? | Stock Availability, then its Details screen |
| Why is the count different from the system? | The stock take session report — then a Stock Adjustment |
| What is still in transit between branches? | The Stock Transfer applet’s Queue and Details listings, and the in-transit column of Stock Summary By Location |
What has no report
- No standing reorder report. Minimum and maximum levels drive an e-mail from Stock Level Monitoring and a replenishment run. The nearest screen is the Min/Max Qty/Loc tab inside a Stock Replenishment run, which puts Min, Max and Balance side by side for every item × location the run covers — so you can read the breaches off it, but only for the items that run selected, and only after the run exists. It does not filter to the breaches and there is nothing that sweeps the whole catalogue on demand. The same applet’s Order Qty Reports grid has a Reorder level column, and that column is bound to nothing and is always blank — do not plan around it.
- No GL-to-stock reconciliation report. Nothing compares the stock account with the stock value. The tie-out under Stock report versus the stock account on the balance sheet is how you do it by hand. A sale never touches the stock account. The main mover is Month End Processing’s cost-of-sales journal, and the usual cause of a difference is something else coded to the account, or a month that was not closed again after a back-dated document.
- No shrinkage report. Shrinkage is whatever you coded your adjustment lines to; report on it in Financial Accounting, from the GL code.