# FEATURES: Inventory Management

> 
> URL: https://totalcontrolpro.com/features/inventory-management/
> Last modified: 2026-10-05T15:02:53+00:00

.omf-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.omf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,64px);align-items:center;}@media(max-width:900px){.omf-grid3,.omf-grid2{grid-template-columns:1fr;}.omf-flip .omf-media{order:-1;}}.omf-card{background:#fff;border:1px solid #D9D6E0;border-radius:16px;padding:28px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}.omf-card:hover{box-shadow:0 14px 30px rgba(26,20,48,.10);transform:translateY(-3px);border-color:#402070;}.omf-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;}.omf-frame:before{content:"";position:absolute;top:0;left:0;right:0;height:42px;background:#F6F5F9;border-bottom:1px solid #ECEAF1;z-index:1;}.omf-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;}.omf-frame img{display:block;width:100%;height:auto;}.omf-ticks{list-style:none;margin:24px 0 0;padding:0;}.omf-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;}.omf-ticks li:before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:999px;background:#ECE7F4;}.omf-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);}.omf-btn{display:inline-block;background:#F0A020;color:#2E1654;padding:14px 30px;border-radius:10px;text-decoration:none;transition:background .2s ease;margin:0 8px 10px;}.omf-btn:hover{background:#C97F0E!important;color:#2E1654!important;}.omf-ghost{display:inline-block;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,.45);color:#fff;padding:13px 30px;border-radius:10px;text-decoration:none;margin:0 8px 10px;}.omf-ghost:hover{background:rgba(255,255,255,.12)!important;}.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;}}.omf-faq details{border-bottom:1px solid #D9D6E0;}.omf-faq details:last-child{border-bottom:none;}.omf-faq summary{list-style:none;cursor:pointer;font-family:'Averta Bold',sans-serif;font-weight:400;font-size:18px;line-height:1.4;color:#1A1430;padding:20px 56px 20px 0;position:relative;}.omf-faq summary::-webkit-details-marker{display:none;}.omf-faq summary: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;}.omf-faq details[open] summary:after{content:"\00d7";background:#402070;color:#fff;border-color:#402070;}.omf-faq .omf-a{font-family:'Averta Regular',sans-serif;font-size:16px;line-height:1.6;color:#6E6880;max-width:680px;padding:0 56px 22px 0;margin:0;}Feature · Inventory

# The right materials,
in the right place, every time.

DynamxMFG manages your entire inventory: BOMs, stock locations, [purchase orders](https://totalcontrolpro.com/purchase-order-software-for-manufacturers/) and goods-in, all connected to production. When an order is released, materials are allocated and shortfalls are flagged automatically.

[Book a Demo](/book-a-demo/)[All features](/features/)/*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;}}
The problem

## Inventory problems do not announce themselves until it is too late

Wrong materials pulled, stock allocated to the wrong job, purchase orders raised after a job has already started. These are not unusual events. They are the daily reality when inventory is managed separately from production.

### Wrong materials pulled for jobs

Without a Manufacturing BOM tied to each operation, operators pick from memory or from a paper list. Costly errors only surface when the part fails inspection or the job needs rebuilding.

### Purchase orders raised too late, or twice

Nobody knows what is genuinely short until a job is about to start. Two people raise orders for the same item, or nothing is raised at all and production waits.

### No accurate stock value for the accounts

Stock is held in multiple locations with no consistent valuation basis. The number in the accounts bears no resemblance to what is actually on the shelves.

Two-layer BOMs

## BOMs that connect design to the shop floor

Every stock item has a Design BOM listing all the possible materials that might be used, and a Manufacturing BOM specifying exactly which materials are consumed at each routing operation. Operators see only what they need for the step they are on.

Build the Design BOM manually or import it from a spreadsheet. Build the Manufacturing BOM by assigning materials to each routing step with exact quantities. Changes deploy to all open work orders with a single click, without re-raising anything.

- Design BOM and Manufacturing BOM in one record
- Materials assigned per routing operation
- Deploy a change to open work orders in one click

Purchasing

## Never miss a purchase order because you did not know you needed it

When a sales order is released and stock is insufficient, DynamxMFG raises purchase demand automatically. The Pending Allocations tab shows every outstanding shortfall in one place, with options to create a new purchase order, add to an existing one, or view what is already on order.

Purchase orders move through Pending, Requested Quote, Released and Complete statuses, and approval is recorded. Partial deliveries create a Part Received status so nothing gets lost, and stock is booked in through the Goods In interface on the shop floor.

- Purchase demand raised automatically on shortfall
- Every outstanding shortfall in one view
- Partial deliveries tracked so nothing is lost

Stock and costing

## Every item, every location, every cost, always accurate

Stock is held across named locations: shelves, bays, work-in-progress areas and quarantine. Unavailable locations hold scrap and obsolete stock that cannot be allocated to jobs. Adjust quantities and costs against any location with a full audit reference.

DynamxMFG uses FIFO costing, so the oldest cost in stock is consumed first. Three BOM cost bases are available: average, standard or latest cost. Run a single recalculation to roll costs across all BOMs when input costs change.

- Named locations, including quarantine and scrap
- FIFO costing with a full audit trail
- Roll new costs across every BOM in one run

The detail

## Everything else in inventory management

The details that keep your stock accurate and your costs honest.

### Batch and serial tracking

Record batch numbers, serial numbers and bin locations on every goods-in event. Edit batch and bin references at any point from the Locations view.

### Dispatch management

Create dispatch tasks, pick and pack through the Advanced Interface, and generate shipments with dispatch notes. Packing types nest from box to pallet.

### Multi-currency purchasing

Raise purchase orders in any currency and set exchange rates per order. Costs convert correctly into your base currency for stock valuation and BOM costing.

### Salvage and scrap

After a rework or remake, materials can be salvaged back to available stock or scrapped to an unavailable location, with a full audit trail throughout.

### Data import

Import stock items, suppliers, BOMs, standard prices and stock transactions from spreadsheet templates. Migrate from your existing system without starting from zero.

### Files per stock item

Attach drawings, datasheets and specifications to any stock item, and set whether files appear on purchase orders, sales orders or the shop floor interface.

Connected

## Inventory that flows into your accounts automatically

DynamxMFG connects to Sage and Xero so stock movements, purchase invoices and goods received flow between systems without double entry. Suppliers and stock items sync in both directions.

The Print Connector links label printers directly to the Goods In interface, so you can book stock in and print a batch of QR labels in a single step. No manual label design and no reprinting.

[See all integrations →](/integrations/)
Questions

## Inventory management FAQs

What is the difference between a Design BOM and a Manufacturing BOM?The Design BOM lists every material that might go into a product. The Manufacturing BOM specifies exactly what is consumed at each routing operation, so operators only ever see what they need for the step they are on.

Does DynamxMFG raise purchase orders automatically?It raises purchase demand automatically when a released order leaves you short. You keep control of the order itself: create a new purchase order, add the shortfall to an existing one, or check what is already on its way.

How is stock valued?FIFO, so the oldest cost in stock is consumed first. BOMs can be costed on an average, standard or latest basis, and a single recalculation rolls new input costs across every BOM.

Can we track batch and serial numbers?Yes. Batch numbers, serial numbers and bin locations are recorded on every goods-in event, and can be edited later from the Locations view, giving you traceability from delivery through to dispatch.

Will it work with our existing stock data?Yes. Stock items, suppliers, BOMs, standard prices and stock transactions all import from spreadsheet templates, so you migrate from your current system rather than starting from zero.

Does it connect to Sage or Xero?Yes, two-way. Stock movements, purchase invoices and goods received flow between systems without double entry, and suppliers and stock items sync in both directions.

{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the difference between a Design BOM and a Manufacturing BOM?","acceptedAnswer":{"@type":"Answer","text":"The Design BOM lists every material that might go into a product. The Manufacturing BOM specifies exactly what is consumed at each routing operation, so operators only ever see what they need for the step they are on."}},{"@type":"Question","name":"Does DynamxMFG raise purchase orders automatically?","acceptedAnswer":{"@type":"Answer","text":"It raises purchase demand automatically when a released order leaves you short. You keep control of the order itself: create a new purchase order, add the shortfall to an existing one, or check what is already on its way."}},{"@type":"Question","name":"How is stock valued?","acceptedAnswer":{"@type":"Answer","text":"FIFO, so the oldest cost in stock is consumed first. BOMs can be costed on an average, standard or latest basis, and a single recalculation rolls new input costs across every BOM."}},{"@type":"Question","name":"Can we track batch and serial numbers?","acceptedAnswer":{"@type":"Answer","text":"Yes. Batch numbers, serial numbers and bin locations are recorded on every goods-in event, and can be edited later from the Locations view, giving you traceability from delivery through to dispatch."}},{"@type":"Question","name":"Will it work with our existing stock data?","acceptedAnswer":{"@type":"Answer","text":"Yes. Stock items, suppliers, BOMs, standard prices and stock transactions all import from spreadsheet templates, so you migrate from your current system rather than starting from zero."}},{"@type":"Question","name":"Does it connect to Sage or Xero?","acceptedAnswer":{"@type":"Answer","text":"Yes, two-way. Stock movements, purchase invoices and goods received flow between systems without double entry, and suppliers and stock items sync in both directions."}}]}
/*lb1*/.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.lb-grid.lb-g4{grid-template-columns:repeat(2,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

## Explore further

The capability pages, definitions and reading that sit behind this part of DynamxMFG.

[CapabilityStock control softwareStock control software built for manufacturers: raw material, WIP and finished goods, with...](https://totalcontrolpro.com/stock-control-software-for-manufacturers/)[CapabilityBatch tracking softwareBatch tracking software that links supplier lots to the jobs that consumed them and the...](https://totalcontrolpro.com/batch-tracking-software/)[GlossaryInventory ManagementInventory management is the control of raw material, work in progress and finished goods...](https://totalcontrolpro.com/glossary/inventory-management/)[ArticleInventory control on a make-to-order shop floorPractical inventory control for make-to-order and job shop manufacturers. 11 ways to tie...](https://totalcontrolpro.com/blog/inventory-control-make-to-order-shop-floor/)
## See your inventory running through DynamxMFG

Book a 15 minute demo. We will walk through your product structure, BOM setup and purchasing process, not a generic walkthrough.

[Book a Demo](/book-a-demo/)
