Bill of Materials (BOM)
You’ll find this under Manufacturing → Bill of Material.
A bill of materials (BOM) lists what is needed to make an item. It includes the output quantity, materials, operation sequence, and any scrap or by-products. ERPX copies this information to the work order when a production run is created.
A BOM produces a stated quantity, not necessarily one unit. A BOM whose quantity is 100 describes a batch of 100 units, so every material line is the amount required for that full batch. Keep this in mind when calculating per-unit material requirements and costs.
Two kinds of BOM
| Kind | Written against | Use when |
|---|---|---|
| Ordinary BOM | One concrete item | The item has no variants, or one variant requires a different recipe |
| Template (Super) BOM | A template item that has variants | One recipe should cover every colour, size, or grade of an item |
This page covers an ordinary BOM. Operations, warehouses, costing, scrap, and versioning work the same way for both types. A template BOM also has material rules that ERPX applies to the selected variant when a work order is created.
If you produce many variants of one item, read Template (Super) BOM before creating a separate, nearly identical recipe for every variant.
What a BOM is made of
| Section | Holds |
|---|---|
| Materials | Components and sub-assemblies consumed |
| Operations | The steps performed, in sequence, with standard times |
| Scrap Items | Waste with a recoverable value |
| By-products | Saleable secondary output |
The total cost uses all four sections:
Raw Material Cost + Operating Cost − Scrap Value − By-product Value = Total CostCreating a BOM
Open the screen
Go to Manufacturing → Bill of Material and click New.
Choose the item and batch quantity
The item is the finished good. Quantity is what one run of this BOM produces. Leave it at 1 unless your production and costing use batch quantities.
Set the warehouses
Source, WIP, Finished Goods, and Scrap set here become the defaults on every work order created from this BOM. Set them here if the same warehouses are normally used. They can still be checked on each work order.
Add materials
Each line is an item, a quantity, and a unit. A line whose item has its own BOM becomes a sub-assembly. See Sub-assemblies.
Add operations
Sequence them in the order the work happens. Each carries a workstation type and a standard time, and together they produce the operating cost.
Add scrap and by-products
These sections are optional. Add them when they apply so their value is deducted from the production cost.
Save, then Submit
Draft BOMs cannot be used by a work order. Submit makes the BOM usable and locks it.
Header fields
| Field | What it means |
|---|---|
| Name | Identifier for this BOM |
| Item | The finished good produced |
| Quantity | How much one run of this BOM makes |
| UOM | Unit the quantity is stated in |
| Rate Of Materials Based On | The valuation method used to cost materials. The default is Valuation Rate |
| Currency | Currency the costs are held in |
| Is Active | Whether the BOM may be used at all |
| Is Default | The BOM offered first for this item |
| Is Active Version | Only one version per item can hold this |
| Template (Super) BOM | Marks this BOM as a rule-based template covering every variant of the item. See Template (Super) BOM |
| With Operations | Whether the BOM includes operations and their operating cost |
| Transfer Material Against | Whether material is transferred against the work order or against operations |
| Allow Alternative Item | Permits substitution when material is transferred |
| Tolerance Percentage | Default tolerance inherited by work orders created from this BOM |
| Status | Draft, Submitted, or Cancelled |
Cost fields
| Field | How it is derived |
|---|---|
| Raw Material Cost | Sum of material lines at the chosen rate basis |
| Operating Cost | Sum of operation costs |
| Scrap Value | Recoverable value of scrap lines |
| By-product Value | Value of secondary output |
| Total Cost | Materials + operating − scrap − by-products |
Material lines
| Field | What it means |
|---|---|
| Item | The component |
| Qty / UOM / Conversion Factor | Quantity per BOM run, in the buying or issuing unit |
| Stock Qty | The same quantity in the item’s stock unit |
| Rate / Amount | Valuation of the line |
| Is BOM / Child BOM | Marks the line as a sub-assembly and points at its recipe |
| Source Warehouse | Per-line override of the BOM source warehouse |
| Fixed Consumption | Quantity does not scale with the run size |
| Resolution Mode / Qty Mode / Conditions | Template BOMs only. See the three rule types |
Fixed Consumption is for things a run needs once regardless of size: a setup sheet, a machine purge, a test piece. Leave it off for anything that scales, or a run of 500 will requisition the same material as a run of 5.
Sub-assemblies
A material line whose item has its own BOM is a level boundary. It is not flattened into its own components on the parent.
Exploding a BOM into a work order requirement
| On the work order | Behaviour |
|---|---|
| Use Multi-Level BOM off | The sub-assembly is requisitioned like any other material and must already be in stock |
| Use Multi-Level BOM on | ERPX creates a child work order to make it, and the parent waits for the child’s output |
ERPX refuses a BOM containing a circular reference, meaning an item whose BOM eventually contains itself. The explosion stops and reports the cycle rather than looping. If you hit this, one of the nested BOMs is pointing back up the tree.
Operations
| Field | What it means |
|---|---|
| Sequence ID | The order work happens in. Job cards inherit and enforce it |
| Operation | The step, from the Operation master |
| Workstation Type | What the estimate is costed against |
| Time In Secs | The stored standard time. Minutes are derived from it |
| Time Unit | Whether the form shows minutes or seconds |
| Batch Size | Units produced per cycle of this operation |
| Hour Rate | Copied from the workstation type |
| Operating Cost | Time × hour rate, scaled per the cost mode |
| Fixed Cycle | Cost is charged per cycle rather than per unit |
Operations use a Workstation Type for planned cost, so ERPX can estimate the run before a specific machine is assigned. The job card records the actual workstation used, allowing reports to compare planned and actual costs.
Versioning
Use a new BOM version when the production recipe changes. This keeps the BOM used by older work orders available for reference.
| Field | What it means |
|---|---|
| Version | Version number in the chain |
| Is Active Version | Only one version per item holds this at a time |
| Original BOM | Points at the first BOM in the chain |
A work order keeps the BOM details that were copied when it was created. Publishing a new version does not update work that is already in progress. For example, a recipe change made in March will not alter the production cost of a January work order.
Supporting masters
If these records are new to you, the standalone Shop-floor Setup guide walks through the order to create them and explains how their rates and times reach production.
Workstation Type
Open Manufacturing → Workstation Type.
This record provides the standard cost model. Four component rates combine into one hourly rate:
| Field | What it means |
|---|---|
| Hour Rate Electricity | Power cost per hour |
| Hour Rate Labour | Standard labour cost per hour |
| Hour Rate Consumable | Consumables burned per hour |
| Hour Rate Rent | Floor space and depreciation per hour |
| Hour Rate | The sum. Calculated, not typed |
| Daily Operating Hours | Capacity per day, used by capacity planning |
Workstation
Open Manufacturing → Workstation.
The actual machine or bench. Job cards record against a workstation, which is what turns an estimate into a measured cost.
| Field | What it means |
|---|---|
| Workstation Name | e.g. Cutting Table 2, Press A |
| Workstation Type | Where the default rates come from |
| Production Capacity | Hours available per day |
| Daily Operating Hours | Available hours for this particular machine |
Operation
Open Manufacturing → Operation.
The library of steps (Cutting, Stitching, Pressing, QC) with their default workstation type and standard time. Defining them once here keeps two BOMs from disagreeing about what “Finishing” means.
Routing
Open Manufacturing → Routing.
A saved, ordered sequence of operations that can be pulled into any BOM instead of rebuilding the same operation list by hand. Operations are drag-ordered, and a routing must be approved before it can be used.
Tools
| Tool | Go to | What it does |
|---|---|---|
| BOM Hierarchy | Manufacturing → Bill of Material | Shows the full BOM tree by level, with combined material quantities |
| BOM Detail | Manufacturing → BOM Detail | The single-BOM form view |
| Resolution preview | BOM builder, template BOMs | Shows the actual material list generated for a selected variant |
| Check all variants | BOM builder, template BOMs | Tests every enabled variant and reports an OK, warning, or error result |
| Missing Rates | Manufacturing → Bill of Material → Missing Rates | Every component with no valuation, which is usually why a BOM cost looks too low |
| BOM Stock Report | Manufacturing → Reports | Component availability for a proposed run, with UOM conversion |
| BOM Operation Report | Manufacturing → Reports | Compares time and cost by operation across BOMs to help identify bottlenecks |
Check Missing Rates before you trust any BOM cost. A component with no valuation contributes zero, so the BOM understates the product cost instead of reporting an error.
Subcontracting BOMs
A BOM created through Subcontracting BOM is flagged Is Subcontracting BOM
and is read-only in the BOM form. Edit it from the subcontracting screen
instead. See Subcontracting.
Common validations and troubleshooting
| Message / behaviour | Why | Fix |
|---|---|---|
| BOM not offered on a work order | It is Draft, inactive, or not the active version | Submit it, or mark it active |
| Circular dependency reported on explosion | A nested BOM points back up its own tree | Break the loop in the child BOM |
| BOM total cost looks far too low | Components have no valuation rate | Run Missing Rates |
| Operating cost is zero | With Operations is off, or the workstation type has no hour rate | Set the rates on the workstation type |
| Material quantity did not scale with the run | The line is marked Fixed Consumption | Clear the flag if it should scale |
| BOM form is read-only | It is a subcontracting BOM | Edit it under Subcontracting → Subcontracting BOM |
Tips
- Keep the BOM quantity at 1 unless you plan and cost in batches. A quantity of 1 makes per-unit material and cost calculations easier to understand.
- Set the four warehouses on the BOM rather than on each work order. They are defaults that inherit downward.
- Build routings for operation sequences you use repeatedly. You can then update and reuse the sequence instead of entering it on every BOM.
- Record scrap and by-products even when the value is small. They are subtracted from product cost, so leaving them out overstates every margin downstream.
- Create a new version for a genuine recipe change. Use a normal edit only for a correction that does not change production requirements.
Related pages
- Core Concepts: explosion, levels, and costing
- Shop-floor Setup: workstation types, machines, operations, and routings
- Production Plan: rolling BOM demand into a plan
- Work Orders: using a BOM to produce
- Job Cards: working the operations
- Subcontracting: outsourced operations