# Bill of materials software

> 
> URL: https://totalcontrolpro.com/bill-of-materials-software/
> Last modified: 2026-08-14T08:32:12+00:00

/*cap2*/.ind-grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,64px);align-items:center;}.ind-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}@media(max-width:900px){.ind-grid2,.ind-grid3{grid-template-columns:1fr;}.ind-flip .ind-media{order:-1;}}.ind-card{background:#fff;border:1px solid #D9D6E0;border-radius:16px;padding:28px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}.ind-card:hover{box-shadow:0 14px 30px rgba(26,20,48,.10);transform:translateY(-3px);border-color:#402070;}.ind-frame{position:relative;border:1px solid #D9D6E0;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(46,22,84,.12),0 4px 8px rgba(46,22,84,.06);padding-top:42px;background:#F6F5F9;}.ind-frame:before{content:"";position:absolute;top:0;left:0;right:0;height:42px;background:#F6F5F9;border-bottom:1px solid #ECEAF1;z-index:1;}.ind-frame:after{content:"";position:absolute;top:15px;left:16px;width:47px;height:11px;z-index:2;background:radial-gradient(circle at 5.5px 5.5px,#FF5F57 5.5px,transparent 6.5px) left/17px 11px no-repeat,radial-gradient(circle at 5.5px 5.5px,#FEBC2E 5.5px,transparent 6.5px) center/17px 11px no-repeat,radial-gradient(circle at 5.5px 5.5px,#28C840 5.5px,transparent 6.5px) right/17px 11px no-repeat;}.ind-frame img{display:block;width:100%;height:auto;}.ind-ticks{list-style:none;margin:24px 0 0;padding:0;}.ind-ticks li{position:relative;padding-left:34px;margin-bottom:12px;font-family:'Averta Regular',sans-serif;font-size:16px;line-height:1.55;color:#3C3552;}.ind-ticks li:before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:999px;background:#ECE7F4;}.ind-ticks li:after{content:"";position:absolute;left:7px;top:9px;width:8px;height:4px;border-left:2px solid #402070;border-bottom:2px solid #402070;transform:rotate(-45deg);}.cap-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:30px 0 26px;}@media(max-width:900px){.cap-logos{grid-template-columns:repeat(3,1fr);}}.cap-logo{background:#fff;border:1px solid #D9D6E0;border-radius:14px;padding:18px 10px;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}.cap-logo:hover{box-shadow:0 10px 22px rgba(26,20,48,.09);transform:translateY(-2px);border-color:#402070;}.cap-logo img{width:52px;height:52px;object-fit:contain;display:block;}.cap-feat{display:inline-block;font-family:'Averta Bold',sans-serif;font-weight:400;font-size:15px;color:#402070;text-decoration:none;margin-top:20px;}.cap-feat:hover{color:#F0A020!important;}
.vsd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.vsd-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vsd-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.vsd-grid2,.vsd-grid3,.vsd-grid4{grid-template-columns:1fr;}}
.vsd-card{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
.vsd-card:hover{box-shadow:0 14px 30px rgba(26,20,48,0.10);transform:translateY(-2px);border-color:#402070!important;}
.vsd-btn{transition:background .2s ease;}
.vsd-btn:hover{background:#C97F0E!important;color:#2E1654!important;}
.vsd-ghost{transition:background .2s ease,border-color .2s ease;}
.vsd-ghost:hover{background:rgba(255,255,255,0.12)!important;}
.vsd-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.rv-faq{border-top:1px solid #D9D6E0;}
.rv-d{border-bottom:1px solid #D9D6E0;}
.rv-s{font-family:'Averta Bold',sans-serif;font-weight:400;font-size:18px;color:#1A1430;padding:20px 48px 20px 0;position:relative;cursor:pointer;list-style:none;display:block;}
.rv-s::-webkit-details-marker{display:none;}
.rv-s::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:32px;line-height:30px;text-align:center;border:1px solid #D9D6E0;border-radius:999px;color:#3C3552;font-family:'Averta Regular',sans-serif;font-size:18px;transition:background .2s,color .2s,border-color .2s;}
.rv-d[open] .rv-s::after{content:'\00d7';background:#402070;color:#ffffff;border-color:#402070;}
.rv-a p{font-family:'Averta Regular',sans-serif!important;font-size:16px!important;line-height:1.65!important;color:#3C3552!important;padding:0 48px 22px 0!important;margin:0!important;}
.rv-tbl{width:100%;border-collapse:collapse;min-width:720px;}
.rv-tbl th{font-family:'Averta Bold',sans-serif;font-weight:400;font-size:18px;text-align:left;padding:16px 20px;border-bottom:2px solid #D9D6E0;}
.rv-tbl td{font-family:'Averta Regular',sans-serif;font-size:16px;line-height:1.5;color:#3C3552;padding:16px 20px;border-bottom:1px solid #ECEAF1;vertical-align:top;}
.rv-tbl td.rv-lbl{font-family:'Averta Bold',sans-serif;color:#1A1430;width:20%;}
.rv-tbl td.rv-us{background:#ECE7F4;color:#1A1430;}
Bills of materials

# Bill of materials software

Hold every product structure in one place, at the right revision, so purchasing, costing and the shop floor are all working from the same list.

[Book a demo](/book-a-demo/)[Work out your ROI](/savings-calculator/)/*rv-hero-norm2*/.hero .fusion-layout-column{margin-bottom:0!important;}.hero a[class*="-btn"],.hero a[class*="-ghost"],.hero a[class*="-b1"],.hero a[class*="-b2"]{margin-bottom:0!important;}@media(max-width:640px){.hero a[class*="-btn"],.hero a[class*="-ghost"],.hero a[class*="-b1"],.hero a[class*="-b2"]{margin-bottom:10px!important;}}Definition

## What is bill of materials software?

A bill of materials is the structured list of every component, sub-assembly and raw material needed to build one unit of a product, with the quantity of each. Bill of materials software holds those structures, manages their revisions and feeds them to everything that depends on them.

That is a longer list than most people expect. Purchasing uses the BOM to work out what to order. Planning uses it to calculate requirements. Costing uses it to work out material cost. The shop floor uses it to know what to draw from stores. If the BOM is wrong, all four are wrong together.

A bill of materials maintained in a spreadsheet is not a bill of materials, it is a copy of one. The moment there are two copies, one of them is out of date, and nobody can tell you which.

See it live

## One structure, every level, one version

Multi-level BOMs with sub-assemblies nested properly, each line pointing at a real stock item with a real cost. Change it once and everything downstream changes with it.

Revision control means last March's job can still tell you exactly what it was built from.

- Multi-level with nested sub-assemblies
- Versioned changes with an audit trail
- Costed roll-up through every level

[Explore inventory management →](/features/inventory-management/)How it works

## How bills of materials work

A good BOM does three things: describes the structure, controls the version, and connects to everything downstream.

### Structure the product

Components and quantities per unit, arranged in levels so sub-assemblies are visible as things you make rather than things you buy.

### Control the revision

Every change is versioned with a date and a reason, so you can tell what a job built last March was actually made from.

### Link to stock and suppliers

Each line points at a real stock item with a real supplier, lead time and cost, rather than a description somebody typed.

### Feed the works order

When a job is raised the BOM generates the material requirement and the picking list automatically.

Capabilities

## What BOM software handles

### Multi-level structures

Sub-assemblies nested properly rather than flattened into one long list.

### Revision control

Versioned changes with an audit trail of who changed what and when.

### Where-used enquiry

Every product affected by a component, which matters when a part is obsoleted.

### Costed BOMs

Rolled-up material cost through every level, updated as purchase prices move.

### Alternates and substitutes

Approved replacements, so a shortage does not automatically stop a job.

### Phantom assemblies

Structures that exist for costing but are never physically stocked.

Paired with

## The routing that finishes the definition

The BOM says what goes in, the routing says how it gets made. Together they raise complete works orders with material, operations and times attached in one click.

Keep both honest and purchasing, scheduling and costing all inherit the accuracy.

- BOM and routing raised into jobs together
- Material allocation generated automatically
- Planned times ready for capacity and quoting

[Explore the manufacturing execution system →](/features/manufacturing-execution-system/)Benefits

## Why BOM accuracy pays

Bills of materials are unglamorous and they quietly determine whether half your other systems produce sense.

### Purchasing stops guessing

Requirements calculated from an accurate structure remove both the shortages and the over-ordering that come from buying by feel.

### Costs stop drifting

Material cost is usually the largest part of a job. A BOM that is 10 per cent wrong makes every quote 10 per cent wrong in the same direction.

### Shortages surface earlier

A structured BOM lets planning see a missing level-three component weeks before the level-one job is due to start.

### Engineering changes land safely

Versioned BOMs mean a design change reaches production once, cleanly, rather than through a series of conversations.

BOM vs routing

## Bill of materials or routing?

The two halves of a product definition. You need both, and they answer completely different questions.

Bill of materialsRoutingDescribesWhat the product is made ofHow the product gets madeContainsComponents and quantitiesOperations, work centres and timesDrivesPurchasing, material cost, pickingScheduling, capacity, labour costOwned byEngineering and purchasingProduction engineeringChanges whenThe design changesThe process changesIf it is wrongYou buy the wrong thingsYou promise the wrong datesRight for you?

## When you need proper BOM software

The spreadsheet works until the products multiply or the revisions start.

- Your bills of materials live in spreadsheets and more than one person edits them.
- You have found jobs built from a superseded structure.
- Products have sub-assemblies, so requirements are not obvious by inspection.
- A component change means manually working out which products it affects.
- Material cost in your quotes comes from a list that nobody has reprised recently.
- You need to prove what a specific historic job was built from.

DynamxMFG

## One structure, used by everything

The value of a BOM is entirely in it being the single version. As soon as engineering has one copy, purchasing has another and the shop floor is working from a printout, you have three products and only one of them is right.

In DynamxMFG the bill of materials sits with the product and is used directly: works orders take their material from it, stock is issued against it, and the material cost of a job is rolled up from it. There is nothing to keep in sync because there is only one copy.

### Drives the works order

Material requirement and picking generated from the structure. See [works order software](/works-order-software/).

### Feeds planning

Multi-level explosion into net requirements. See [production planning](/production-planning-software/).

### Rolls into job cost

Real issued material against the structure. See [job costing](/job-costing-software-for-manufacturers/).

.omf-mq{position:relative;height:clamp(380px,42vw,500px);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);}.omf-mq__grid{display:flex;justify-content:flex-end;gap:clamp(12px,1.3vw,18px);}.omf-mq__col{width:clamp(104px,10.5vw,152px);}.omf-mq__stream{display:flex;flex-direction:column;gap:clamp(12px,1.3vw,18px);will-change:transform;}.omf-mq__col--down .omf-mq__stream{margin-top:-60px;}.omf-mq__col--up .omf-mq__stream{animation:omf-up var(--sp,34s) linear infinite;}.omf-mq__col--down .omf-mq__stream{animation:omf-down var(--sp,34s) linear infinite;}.omf-mq__col:nth-child(1) .omf-mq__stream{--sp:38s;}.omf-mq__col:nth-child(2) .omf-mq__stream{--sp:32s;}.omf-mq__col:nth-child(3) .omf-mq__stream{--sp:42s;}@keyframes omf-up{from{transform:translateY(0);}to{transform:translateY(-50%);}}@keyframes omf-down{from{transform:translateY(-50%);}to{transform:translateY(0);}}.omf-mq:hover .omf-mq__stream{animation-play-state:paused;}.omf-mq__tile{width:100%;aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #D9D6E0;box-shadow:0 6px 18px rgba(26,20,48,.08),0 2px 4px rgba(26,20,48,.04);}.omf-mq__tile img{width:100%;height:100%;object-fit:cover;display:block;}@media(max-width:900px){.omf-mq__grid{justify-content:center;}}@media(prefers-reduced-motion:reduce){.omf-mq__stream{animation:none!important;}.omf-mq__col--down .omf-mq__stream{margin-top:0;}}Integrations

## Connects to what you already run

BOMs feed more than the factory. DynamxMFG connects structures to your accounts for costing and to Solidworks and Excel for engineering, so one version serves everyone.

[See all 33 integrations →](/integrations/)Customers

## What manufacturers say about DynamxMFG

“DynamxMFG is an excellent choice for manufacturers looking to digitise operations without being overwhelmed by complexity.”

Kristopher SService Engineer at Protea“As GMC has grown, it had become harder for me to have such a keen view on components to see if those parts were profitable or not. DynamxMFG enabled us to monitor the machine time and see whether we are making a profit or a loss on each component.”

Paul BManaging Director at GMC“The ability to dynamically modify BOMs after release, adding or removing items from work orders, scrapping and reworking parts, has been the single biggest improvement for our business.”

Andrew TManaging Director at Protea“We chose the system over competitors because of its ease of use, strong customer support and friendly delivery team. So far, everything has matched what was promised.”

Amy MHead of Operations at Elite Skills Arena“With DynamxMFG, all our production processes are tracked and the relevant data is captured. This increases our control over the business and helps us identify more opportunities to enhance efficiency and quality.”

Neil SOperations Director at QK-TEX“Our experience has been positive, and it was definitely worth switching. The support we have received has been extremely helpful. My favourite feature is the integration and automation capabilities.”

Philippos FHead of Digital Transformation at CPLQuestions

## Bill of materials questions, answered

What is a multi-level bill of materials?One that shows sub-assemblies as their own structures rather than flattening everything into a single list of parts. It matters because sub-assemblies are things you make, with their own operations and lead times.

How do I handle engineering changes?With revision control and an effective date, so jobs already in production finish to the old structure and new jobs pick up the new one. Doing this by overwriting the BOM causes scrap.

What is a phantom assembly?A structure that exists for costing and clarity but is never physically stocked, because it is built and consumed within the same operation. Useful for keeping BOMs readable.

Can BOMs come from our CAD system?Often yes, and it removes a large source of transcription error. DynamxMFG connects to [Solidworks](/integrations/solidworks/) among others.

How accurate do BOMs need to be?More accurate than anything else in the system, because so much depends on them. BOM errors do not stay contained, they propagate into purchasing, costing and planning simultaneously.

What about bespoke products where every one is different?You use a base structure with configurable options rather than a fresh BOM each time. Bespoke does not mean unstructured, it means parameterised.

{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is a multi-level bill of materials?","acceptedAnswer":{"@type":"Answer","text":"One that shows sub-assemblies as their own structures rather than flattening everything into a single list of parts. It matters because sub-assemblies are things you make, with their own operations and lead times."}},{"@type":"Question","name":"How do I handle engineering changes?","acceptedAnswer":{"@type":"Answer","text":"With revision control and an effective date, so jobs already in production finish to the old structure and new jobs pick up the new one. Doing this by overwriting the BOM causes scrap."}},{"@type":"Question","name":"What is a phantom assembly?","acceptedAnswer":{"@type":"Answer","text":"A structure that exists for costing and clarity but is never physically stocked, because it is built and consumed within the same operation. Useful for keeping BOMs readable."}},{"@type":"Question","name":"Can BOMs come from our CAD system?","acceptedAnswer":{"@type":"Answer","text":"Often yes, and it removes a large source of transcription error. DynamxMFG connects to Solidworks among others."}},{"@type":"Question","name":"How accurate do BOMs need to be?","acceptedAnswer":{"@type":"Answer","text":"More accurate than anything else in the system, because so much depends on them. BOM errors do not stay contained, they propagate into purchasing, costing and planning simultaneously."}},{"@type":"Question","name":"What about bespoke products where every one is different?","acceptedAnswer":{"@type":"Answer","text":"You use a base structure with configurable options rather than a fresh BOM each time. Bespoke does not mean unstructured, it means parameterised."}}]}/*lb1*/.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.lb-grid.lb-g4{grid-template-columns:repeat(4,1fr);}@media(max-width:900px){.lb-grid,.lb-grid.lb-g4{grid-template-columns:1fr;}}a.lb-card{display:flex;flex-direction:column;background:#ffffff;border:1px solid #D9D6E0;border-radius:16px;padding:24px;text-decoration:none!important;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}a.lb-card:hover{box-shadow:0 14px 30px rgba(26,20,48,.10);transform:translateY(-3px);border-color:#402070;text-decoration:none!important;}a.lb-card .lb-kind{display:block;font-family:'Averta Bold',sans-serif;font-weight:400;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#402070;margin:0 0 10px;}a.lb-card .lb-t{display:block;font-family:'Averta Bold',sans-serif;font-weight:400;font-size:18px;line-height:1.3;color:#1A1430;margin:0 0 8px;}a.lb-card .lb-d{display:block;font-family:'Averta Regular',sans-serif;font-size:16px;line-height:1.5;color:#6E6880;margin:0;}a.lb-card:hover .lb-t{color:#402070;}a.lb-card span{text-decoration:none!important;}Related reading

## Read next

Background reading on bill of materials software from the DynamxMFG glossary and blog.

[GlossaryBill of Materials (BOM)A bill of materials (BOM) is the structured list of every material, component and...](https://totalcontrolpro.com/glossary/bill-of-materials-bom/)[ArticleThe BOM accuracy challengeBOM errors cause late jobs, wasted materials, and margin loss. This guide shows how UK...](https://totalcontrolpro.com/blog/bom-accuracy-challenge-preventing-costly-manufacturing-mistakes/)[GuideBeyond the BOM: the Protea storyProtea manufactures high-precision gas analysers to spec. See how DynamxMFG's BOM...](https://totalcontrolpro.com/guides/beyond-the-bom-how-protea-gained-dynamic-control-over-bespoke-manufacturing/)
## Bring your product structures into one place

Book a 30 minute call and we will take one of your more awkward multi-level products and show it running as a live structure.

[Book a demo](/book-a-demo/)[Work out your ROI](/savings-calculator/)
