Chapter 10 — Manufacturing (MRP)
Module code: MRP
Features: mrp_dashboard, mrp_bom, mrp_mo, mrp_planning, mrp_costing,
mrp_reports
Home: /mrp/
10.1 What the module is for
Manufacturing turns materials into finished goods and records what that cost. A manufacturing order consumes components out of stock, absorbs the labour and machine time of the operations performed, and produces finished goods valued at material plus conversion cost.
The costing is the part worth understanding, because it is what makes the module more than a stock movement:
Components ──issue──► Work in progress ──receive──► Finished goods
(materials) ▲ (carrying both)
│
Labour and machine time absorbed
from the routing operations
On close, whatever is left in work in progress is
cleared to a production variance account.
10.2 Concepts
| Concept | Meaning |
|---|---|
| Work centre | A machine or station where work happens. Carries what one hour there costs. |
| Operation (routing step) | A step in making the product: mixing, baking, packing. Names a work centre, a duration and a crew size. |
| Bill of materials (BOM) | The recipe: which components in what quantity make how much of the finished item, plus the operations. |
| Manufacturing order (MO) | An instruction to make a stated quantity. |
| Unbuild | Taking a completed batch apart again, returning components to stock. |
Manufacturing order states
Draft ──confirm──► Confirmed ──start──► In progress ──► Done
│
cancel ─────┴──► Cancelled
10.3 Setup
1. Work centres
/mrp/work-centres/ list
/mrp/work-centres/new/ create
A work centre states what one hour there costs, built from what it is actually made of rather than a single guessed number:
| Field | Meaning |
|---|---|
| Power (kW) | The machine's power draw |
| Electricity rate | Cost per unit of electricity |
| Labour rate per hour | The cost of one worker-hour |
| Default workers | The usual crew size at this station |
| Other cost per hour | Anything else — consumables, maintenance provision |
The hourly rate is then: machine cost (power × tariff) + labour (rate × crew) + other. The form shows a live calculation as you type, so you can see the effect of each figure.
Where a rate has been negotiated rather than calculated, tick use manual rate and enter it directly.
Why the split matters: the same sealing machine costs a different amount per hour on a step that needs three people than on one that needs five. Because the work centre states the cost of one worker-hour and the operation states the crew, one work centre serves both correctly.
2. Bills of materials
/mrp/boms/ list
/mrp/boms/new/ create
/mrp/boms/<id>/edit/ edit
- Select New BOM.
- Header: - Product — what is being made. - Quantity — how much this recipe produces. A recipe for 100 kg is easier to maintain than one for 1 kg. - Type — a normal BOM, or a kit/phantom BOM, which is exploded into its components rather than being made as a stocked item. - Is default — tick this on the recipe that should be offered automatically when a manufacturing order is created for this product.
- Component lines — for each material: - The item and the quantity per BOM quantity. - Scrap percentage, if a known proportion is lost in the process. The order will then issue enough to allow for it.
- Operations — for each step: - The work centre. - The duration in minutes per batch. - The crew size, if it differs from the work centre's usual crew.
- Save.
The BOM form shows the resulting standard cost per unit, the split between material and routing, the time per batch and how many orders have used this recipe. Check the standard cost looks right before using it — every variance report is measured against it.
3. Warehouse manufacturing steps
On the warehouse (Chapter 8) set the number of manufacturing steps:
| Steps | Flow |
|---|---|
| 1 | Straight from stock into production and back |
| 2 | Components are first moved to a pre-production area |
| 3 | Finished goods are additionally moved to a post-production area before storage |
Choose the one that matches how the floor actually works.
10.4 Creating a manufacturing order
Screen: /mrp/manufacturing-orders/new/
- Select New manufacturing order.
- Choose the product. The default BOM is offered automatically; change it if you are making this batch to a different recipe.
- Enter the quantity to produce.
- Set the scheduled date and the warehouse.
- Save. The order is in Draft.
10.5 Running an order
Confirm
Screen: /mrp/manufacturing-orders/<id>/confirm/
Confirming explodes the BOM: the component requirement is calculated for the quantity ordered, the material issue and finished-goods receipt transfers are drafted, and any kit components are expanded into their parts.
The order page now shows each component with its required quantity, how much has been issued, and how much it is short by.
Start
Screen: /mrp/manufacturing-orders/<id>/start/
Marks the order as in progress and issues components to work in progress. Partial issue is allowed — issue what you have and issue the rest later.
Issue extra material
Screen: /mrp/manufacturing-orders/<id>/extra-issue/
When a batch needs more than the recipe said — a spill, a rework — issue the extra here rather than editing the BOM. The BOM stays the standard; the extra shows up as variance, which is the truthful account of what happened.
Receive finished goods
Screen: /mrp/manufacturing-orders/<id>/receive/
- Select Receive.
- Enter the quantity actually produced. Partial receipts are allowed.
- Validate the receipt.
Finished goods are valued at what this batch actually cost — the material issued plus the labour absorbed — not at the catalogue cost.
Record operations
Screen: /mrp/manufacturing-orders/<id>/operations/
Record the time actually spent at each work centre. Labour is absorbed into work in progress from these figures, so an order with no operation time recorded will carry material cost only.
The order page shows the machine, labour and other split, and the rate per hour used, with the breakdown behind it. The rates are snapshotted when the order is confirmed — a later change to electricity prices does not restate a batch you have already made.
Close
Screen: /mrp/manufacturing-orders/<id>/close/
Closing finishes the order.
- If less was produced than ordered — a short close — you must enter a comment explaining why. This is a control, not a formality: the comment is what an auditor reads.
- Whatever is still sitting in work in progress is cleared to the production variance account, and the order page shows the amount and links to the entry. A write-off is never silent.
Cancel
Screen: /mrp/manufacturing-orders/<id>/cancel/
Available while the order has not consumed or produced anything meaningful.
10.6 Unbuild: taking a batch apart
Screen: /mrp/manufacturing-orders/<id>/unbuild/
Sometimes a completed batch must be reversed — it failed inspection, or was made in error. Unbuild runs the whole thing backwards: finished goods come off stock, components go back on, and the labour absorbed is reversed.
- Open the closed order and select Unbuild.
- Enter the quantity to take apart. Partial unbuilds are allowed, and an order can be unbuilt more than once.
- The confirmation page shows exactly what will come back before you commit.
- Confirm.
Components return at the cost they were issued at, read from the order's own valuation layers. Today's price would invent a gain that never happened.
The moving-average warning
If the finished item is valued at moving average, the confirmation page tells you so explicitly, naming the average it will come off stock at and the cost the batch was built at. Under moving average every unit leaves at the running average by definition, so the batch's own cost is not recoverable and the difference goes to production variance. This is correct behaviour, not a fault — but a large variance line nobody explained would look like one, so the page explains it first.
Unbuild is refused if the order is not closed, if you ask for more than was produced, if more than remains unbuilt, or if the finished goods are no longer on hand. A shipped batch cannot be taken apart.
10.7 Planning
Screen: /mrp/planning/
The planning wizard looks at demand and proposes manufacturing orders to meet it, using the default BOM for each product. Review the proposals, adjust quantities and dates, and create the orders you want.
10.8 Reports
Home: /mrp/reports/
Grouped by the question they answer.
Running the floor
| Report | Answers |
|---|---|
| MO status | What is open, at what stage, and how late |
| Component availability | Which orders will stall for want of materials |
| Work centre load | Hours booked and cost absorbed per centre, planned against actual, split by machine, labour and other |
What production cost
| Report | Answers |
|---|---|
| Production cost analysis | Per closed batch: material, labour, variance and unit cost against the BOM standard |
| Yield and consumption | Planned against produced, the cost of any shortfall, and material used against requirement scaled to actual output. The second figure is where quiet margin leaks show up. |
| WIP ageing | What is tied up in open orders, bucketed by age |
Reference
| Report | Answers |
|---|---|
| BOM structure | The full exploded recipe, including sub-assemblies |
10.9 Accounts used
| Account | Used for |
|---|---|
| Work in progress | Holds material and labour while an order is running |
| Labour overheads absorbed | Credited as labour is absorbed into work in progress. Deliberately separate from the direct labour account payroll posts to — the gap between the two is under- or over-absorption, which a single merged account would hide. |
| Production variance | Where a short close and any residue is written off |
The labour and variance accounts are created the first time they are needed, so an existing chart of accounts does not have to be re-seeded.
10.10 Routine
Daily
[ ] Check component availability for orders due this week
[ ] Record operation time for yesterday's work
[ ] Receive finished goods the same day they are made
Weekly
[ ] Close completed orders, with a comment on every short close
[ ] Review WIP ageing — an old open order usually means a forgotten close
Monthly
[ ] Review production cost analysis against the BOM standards
[ ] Investigate yield and over-consumption
[ ] Confirm work in progress clears to zero for closed orders
10.11 Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Confirm produces no components | The product has no BOM, or none is marked default | Create the BOM and tick is default |
| Receive button is disabled | A full-size receipt draft is already open | Open the existing draft and validate it rather than creating a second |
| Finished goods valued too low | Operation time was never recorded, so no labour was absorbed | Record the operations, then receive |
| Work in progress does not clear on close | Material issued does not match what was produced | Check for unissued components or an unrecorded extra issue; the residue is written to variance with a link to the entry |
| A large variance on close | Short close, over-consumption, or a moving-average effect on unbuild | Read the write-off card on the order — it names the amount and links to the entry |
| Work centre rate looks wrong | Crew size on the operation, or the tariff on the centre | The rate breakdown on the order shows which component is out |
| A confirmed order shows old rates | Rates are snapshotted at confirmation, by design | Cancel and re-create the order if it must use new rates |
| Unbuild is refused | Order not closed, quantity too high, or goods no longer on hand | The message names which condition failed |