Reports
“Where did this figure come from? Nothing on the screen says.” In manufacturing the answer is uncomfortable. Most of the module’s figures are worked out at the moment you open them, from tables that were never meant to agree. And the one event that moves stock, finalising a process instance, is invisible to the dated stock reports and to the month-end close until something else happens to the same item. This page is for the planner who reads the Outstanding Report, the packing supervisor who is handed a suggested quantity, and the accountant who has to make the month’s stock figure agree with what the floor made. It says where each figure comes from, which ones to distrust, and the check that tells you the month is right.
Where each production figure comes from
| Figure | Where you see it | Stored, or worked out — when, and from what |
|---|---|---|
| Balance Qty | Outstanding Report | Worked out when you open it, from the stored stock balance row for each item and location. It is the position now; there is no date to choose |
| Outstanding Qty, Net Outstanding | Outstanding Report | Worked out when you open it, from the lines of draft sales orders for the item at that row’s location. Not what your posted orders owe (below) |
| The packing floor’s suggested quantity | Packing Order Applet (Internal) › Auto Coil Supervisor, on an output line | Worked out when the line is added: open quantity on posted sales orders, against the ledger at that line’s location and the item’s Min MRP Stock Qty |
| The production schedule | Production Master Schedule (a file) | Worked out when you fetch it, from the job orders and process instances as they stand |
| Job order status, dates, priority | Master List | Stored, exactly as typed on the form |
| Work-log quantities and approvals | Manufacturing Operations › Supervisor PI | Stored per log; every change keeps a historical copy |
| What a FINAL moved | Stock Balance | The stored balance row, updated after the finalisation run. Production shows here first |
| The same movement, by date | Stock Movement Report, Historical Stock Balance | Worked out from the stock ledger when you run them, from ordinary (and stock-sync) lines only — a finalisation line is neither (below) |
| Closing stock in the ledger | The cost-of-sales journal | Stored by Month End Processing when it runs, from the same ordinary lines plus Reset MA lines |
| Work-in-progress | Ledger and Balance Sheet | Stored in the closing-stock journal at Month End Processing, from the value you keyed on the Closing Stock Balance WIP tab. Nothing in the module computes it |
The Outstanding Report — what you hold, not what you owe
Production Planning and Monitoring › Outstanding Report. The screen and the file that GENERATE downloads run the same query, at the moment you ask. Only Balance Qty is worth reading. It is the item’s ledger quantity at that location, from the same stored row Stock Balance shows. Reservations and the bin locks a job holds are not taken off, so it is physical stock, not available stock (physical but not available).
The file holds at most 100 rows. GENERATE asks for one page of 100, and the query has no sort order, so those rows are not the first 100 of anything. An item with no stock row at all appears once, with an empty location. Filter by location and item category until the screen shows fewer than 100 rows before you generate. That is also the only way to know the file is whole.
At GadgetSphere Distribution (GSD), the workshop at GS-KV-01 assembles a travel charging kit
from a wall charger, a braided cable and a pouch. Before Monday’s run you filter the report to
GS-KV-01 and the accessory-kit category, and read Balance Qty: 1,200 kits. The same row shows
Outstanding Qty 150, which is two sales orders still in draft at GS-KV-01; the 900 kits your posted
sales orders still owe are not in it. Ignore it. Your posted orders owe 900 kits, so 1,200 on the shelf
covers them. Whether to run another job is your decision, against your
own buffer.
The packing floor’s suggested quantity
The other “outstanding” figure is on a different applet. In the Packing Order Applet (Internal), when the supervisor adds an output line on Auto Coil Supervisor, the screen fetches a figure for that item: the ledger quantity at the line’s location less the quantity still open on posted (FINAL) sales orders across every location. It adds the item’s Min MRP Stock Qty and fills a read-only quantity with the result, labelled “Outstanding Quantity + Minimum Stock Quantity”. Planned Quantity starts from the same number when the line has none.
For the kit: 1,200 at GS-KV-01 less 900 owed is 300 spare. With Min MRP Stock Qty set to 500 on the
item, the suggestion is 200 to top the buffer up. With 2,000 on the shelf it is −600, which means pack
nothing. The useful idea is the setting itself. Min MRP Stock Qty in
Doc Item Maintenance sets both this suggestion and
the reorder floor Stock Replenishment uses.
Keep a buffer there, and the packing floor and the buyer work from the same number. Leave it at zero
and the suggestion only clears what is owed.
The Production Master Schedule — a file you fetch through the API
The backend has a second report, one CSV row per job order. In the build the Applet Store installs, the only button that downloads it is on the planning applet’s Requested Job Order listing, and no menu leads to that listing. Today you fetch it through the API (manufacturing API notes). By default it lists every job order not COMPLETED, which includes cancelled, rejected, on-hold and FINAL ones. Ask for the other half and it lists only the COMPLETED ones, which gives you a register of finished jobs.
Each row carries the job’s date, item, quantity and UOM, Length/Qty (the job’s container quantity) and Ad Hoc Length/Qty, the expected delivery date (the job’s completion date), the estimated packing date, priority, job order number and remarks. Then comes one column per process type, holding that step’s start date as stored on the instance. Read it with four cautions:
- Neither the rows nor the columns come in a fixed order. Sort by date and arrange the step columns yourself before you print it.
- Two steps of the same process type on one job leave one date. The column is keyed by the process type’s code, so the second overwrites the first.
- A step a job does not use reads
null, and so does a job with no remarks. Dates come out as raw timestamps, not as formatted dates. - The customer column is copied from each linked sales order: the name as it was on the order, the order’s whole quantity of the item and its dates. A customer renamed since then shows the old name, and an order linked to two jobs shows its full quantity on both.
An instance with no process type, or a process type with a blank name, stops the whole export with an error that names its internal id. Fix the process type in Process Maintenance and fetch it again.
Why Stock Balance shows production the month-end figures leave out
Support hears it year after year, usually just before the auditors arrive: a customer who asked why the stock report and the balance sheet will not agree; Inventory reports answers the general case. A business that makes things has one more cause, and it starts on the floor.
A FINAL writes stock lines that look ordinary but do not carry the ordinary line type the dated reports select. Each finalisation line takes its type from the job order, and the planning applet leaves that blank. The Stock Movement Report and Historical Stock Balance read only ordinary lines (and stock-sync lines). Month End Processing values closing stock from each item’s last ordinary or Reset MA line before the month end. Stock Balance is updated from every line, so it is the one figure that shows the FINAL straight away.
Production is not lost. Every ledger line carries the item’s running balance, and that balance counts every line before it, finalisation included. So the movement reaches the dated figures the next time an ordinary line for the same item is written: a sale, a receipt, an adjustment. Until then they read the balance from before the FINAL.
GadgetSphere’s March. On 27 March the supervisor finalises the pack step of a 400-kit job at
GS-KV-01: 400 chargers, cables and pouches out, 400 kits in. Once the run has finished, Stock Balance
shows 1,600 kits. The kit’s last ordinary line was a sales invoice on 25 March, with 1,200 on hand, and the next
sale is dated 2 April. So:
- Historical Stock Balance as at 31 March shows 1,200 kits.
- The Stock Movement Report for March has no line on the 27th. April’s report shows the balance jump by 400 on the 2 April invoice, with no line to explain it.
- March’s close values the kits from the 25 March line, 400 short. The chargers, cables and pouches count 400 too many each if their last ordinary line was earlier than the 27th and none followed before the month end, so March’s cost of sales and closing stock are both wrong by those amounts.
This is the accountant’s check, before every close, for every item a job touched that month. Open Stock Balance at the job’s location, and run Historical Stock Balance for the same location with Date As today. Where the two quantities differ and no document keyed since explains it, the difference is production after the item’s last ordinary line, and the close will miss it in the same way. An ordinary line dated after the FINAL and before month end brings it in. If none will exist, decide with your auditor how to put the month right. One route is to key the month’s closing inventory with Select Manual on the Closing Stock Balance in Chart of Account. That replaces the calculated figure for the whole company, so key the calculated figure plus the difference. You know you are done when, for every item the month’s jobs touched, Stock Balance and Historical Stock Balance as at the run date show the same quantity, or differ only by documents you can name.
Which report answers which question
| Question | Where to look | What to know about the answer |
|---|---|---|
| Do we hold enough to make or ship this? | Outstanding Report, Balance Qty only | Physical, now, one location. Demand comes from your open sales orders |
| How much should the packing floor pack? | Auto Coil Supervisor output line | Owed on posted orders, against this location’s stock, plus Min MRP Stock Qty |
| When does each job’s next step start? | Production Master Schedule (API) | Sort it yourself; one date per process type |
| What is queued for the floor, in what order? | Manufacturing Operations › Supervisor PI | Priority is whatever the supervisor last set |
| What did each operator log, and is it approved? | Supervisor PI › work logs | Approval does not gate FINAL: a PENDING log moves stock anyway |
| What has sales asked for that has no job yet? | Production Planning › Production Request | A status on the sales-order line, not a document |
| What did production move this month? | Stock Balance now; the dated reports once the item’s next ordinary line exists | See the section above |
| What is the cost of what we made? | Nothing in the module | See below |
Each applet’s Printables are document layouts, not reports.
When a figure looks wrong
| What you see | Why | What to do |
|---|---|---|
| Net Outstanding looks comfortable while posted orders still owe stock | Outstanding Qty counts only draft sales orders at that location; a finalised order drops out | Read Balance Qty only; take demand from open sales orders |
| An item you expected is missing from the generated file | The file stops at 100 rows, in no order | Filter by location and category until the screen shows fewer than 100 rows, then generate |
| The Outstanding Report is empty for one user | Every Outstanding Report route needs the job-order read permission (or owner or admin) | Grant that permission to the user, or to a role or permission set they hold |
| The packing suggestion is negative | You hold more at this location than posted orders owe plus the buffer | Pack nothing for stock; check Min MRP Stock Qty if you expected a buffer |
| The schedule’s step dates sit in a strange column order, or a step is missing | Columns come in no fixed order; two steps of one process type keep one date | Rearrange the columns; give repeated steps distinct process types if you need both dates |
| The schedule export fails with an id in the message | An instance has no process type, or its process type has a blank name | Fix the process type in Process Maintenance |
| Stock Balance shows production that Historical Stock Balance does not | Finalisation lines are not ordinary lines; the dated reports wait for the item’s next ordinary line | The month-end check above |
| The Stock Movement Report’s balance jumps with no line to explain it | A FINAL happened between the two lines | Look up the item’s process instances finalised between those dates |
| The balance sheet shows no work-in-progress after the close | No WIP value keyed, Select Manual not ticked, the value is zero, or the WIP default GL codes are not mapped | The Closing Stock Balance WIP tab, then Month End Processing again |
How you know the production figures are right
Once a month, before the close. The supervisor does the first step and the accountant does the rest:
- Every instance worked this month reads FINAL and is POSTED (its FINAL button is greyed). A late FINAL is dated in the month it runs.
- Every finished item made for the first time has a cost. Stock Balance shows a moving average that is not RM 0 (Reset MA).
- Stock Balance and Historical Stock Balance agree for every item the month’s jobs touched, at each job’s location (the check above).
- The WIP value on the Closing Stock Balance is the one you worked out, if your accounts carry work-in-progress.
Then run the close, and tie the stock account out against Historical Stock Balance as Inventory reports describes.
What has no report
- WIP valuation, cost of goods manufactured, cost variance. Nothing posts, and the stock lines finalisation writes are cost-neutral. Each item keeps its own unit cost, so no cost moves from the inputs to the output and there is no manufactured value to report. The accountant works the figures out at month end, from the job orders still open, the steps finalised and the purchase cost of their inputs. The month’s WIP value, once worked out, is keyed on the WIP tab of the Closing Stock Balance in Chart of Account and posted by Month End Processing (where a work-in-progress figure goes). It is right when the journal the close writes shows the value you keyed.
- Yield and scrap. The work log records quantity produced against required, and the packing applet records scrap, but no report joins them to the template’s planned inputs. The production supervisor compares a job’s actual input quantities with its planned ones when the job completes; both are on the instance’s input lines.
- Machine utilisation, downtime, capacity. A machine is a field on the work log, with nothing to compare it against. The supervisor keeps capacity in the schedule they plan from.
- Production request ageing, on-time completion. The dates are on the job order. The planner reads them from the Master List, or from the schedule file.
For any of these at volume, the job orders, process instances and work logs can be read through the API, and a business-intelligence tool is the honest answer today.
What these reports depend on, and what depends on them
- Must exist first. A stock balance row for the item at the location, or the item appears with an empty location. A process type with a name on every instance, or the schedule export stops. The job-order read permission for whoever opens the Outstanding Report. Min MRP Stock Qty on the item, if the packing suggestion should hold a buffer.
- What they make possible. Balance Qty against open orders is the planner’s whole requirements run. The purchases it calls for are raised in Purchasing, by hand or through Stock Replenishment from the same Min MRP Stock Qty.
- Siblings, and when to use which. Stock Balance for what is on the shelf now, and the inventory reports for any date. Use Stock Availability instead of the Outstanding Report when you need the balance with open documents counted in.
- What breaks elsewhere if they are misread. Planning from Net Outstanding plans against draft orders instead of the posted ones you owe, and the error reaches Purchasing. A FINAL with no ordinary line after it before month end misstates closing stock and cost of sales in Financial Accounting for that month.
- Used together. The Outstanding Report on Monday, Production Request to see what Sales has asked for, Stock Balance after each FINAL, and the Closing Stock Balance at month end.
Read next
The manufacturing module page says what one FINAL does and does not do, and costs a job in ringgit. When the stock account and the stock report still disagree after the check above, Inventory reports carries the full tie-out.