Business Central Bills of Materials by Location: How SKUs Make It Work
| Quick Answer Yes — Bills of Materials can vary by location in Microsoft Dynamics 365 Business Central. The system does this through Stockkeeping Units (SKUs), not by assigning a BOM directly to a location. Create separate Production BOMs, assign them to the SKU for each Item + Location combination, and Business Central automatically selects the right structure when a production order is created with the correct location on the line. |
Here’s something most people don’t think about until they’re mid-implementation: your Bill of Materials isn’t always just a list of components. In some industries, it’s also a recipe — and recipes don’t behave the same way everywhere.
Take food production. If you’re manufacturing in a facility in the Gulf Coast versus one in the desert Southwest, humidity alone can change how your product behaves. Flour absorbs differently. Coatings set at different rates. A batter recipe that works perfectly in Houston may need a measurably different hydration ratio in Phoenix. That’s not a quality control problem — that’s physics. And your BOM needs to reflect it.
The same principle applies beyond food. Adhesives cure differently by temperature and humidity. Chemical processes have environmental tolerances. Even packaging specifications can vary when a facility is at high altitude or in an extreme climate.
So when manufacturers ask whether Bills of Materials can vary by location in Business Central — the real question behind it is usually much more specific than it sounds. They’re not asking about software. They’re asking whether their system can support how their product actually behaves in the real world.
The answer is yes. But Business Central handles it differently than most people expect.
What Business Central Does NOT Do (And Why That’s Fine)
Before I walk you through the correct design, let me save you some frustration.
Out of the box, Business Central does not support:
- Assigning a Production BOM directly to a Location
- Automatically selecting a BOM Version based on Location
- Conditional logic like “If Location = Plant A, use BOM-A”
If you’ve come from a system that handles it one of those ways, your first instinct will be to look for that configuration somewhere in BC and wonder if your partner set it up wrong. They didn’t. The system just uses a different mechanism — and once you see it, it makes sense.
Trying to force BC into one of those patterns almost always ends the same way: either you’re constantly working against the system design, or you’re funding a customization you didn’t need.
The Standard Design: Production BOMs + Stockkeeping Units

The right approach combines two things that already exist in Business Central:
Production BOMs + Stockkeeping Units (SKUs)
Here’s the logic: a Stockkeeping Unit in BC represents a specific combination of Item + Location (+ Variant, if you’re using variants). That combination already exists in the system for a reason — because the business needs to define how a specific item behaves at a specific location.
That’s exactly the right place to configure location-specific manufacturing settings.
On the SKU Card, you can assign:
- Production BOM No.
- Routing No.
- Planning parameters
- Replenishment policies
Once that’s in place, the SKU becomes the source of truth for how that item is manufactured at that location — not the Item Card.
This design is fully standard, upgrade-safe, and exactly how Microsoft built the system to work.
What the Configuration Actually Looks Like
Let’s walk through a concrete example.
You have a single finished good — call it ITEM-1000. It’s manufactured at two plants: one in New York, one in Texas. The component structure is slightly different at each location.
Step 1: Create separate Production BOMs
| BOM | Used At |
| BOM-ITEM-NY | New York plant |
| BOM-ITEM-TX | Texas plant |
Even when the BOMs are mostly similar, maintaining separate BOM records gives you clearer audit trails, cleaner version control, and less risk of a change at one plant accidentally affecting another.
Step 2: Create a Stockkeeping Unit for each Item + Location
| Item | Location |
| ITEM-1000 | NY |
| ITEM-1000 | TX |
Step 3: On each SKU Card, assign the correct Production BOM (and Routing)
That’s it. Once this is done, Business Central knows exactly which BOM to use when a production order is created for ITEM-1000 at each location.
At this point, stop relying on the Item Card to drive production BOM or routing selection. The SKU owns that configuration now.
One Manufacturing Setup Field That Can Quietly Break This
There’s a field in Manufacturing Setup called Components at Location.
If you’re using SKUs to manage location-specific manufacturing, this field should typically be left blank.
When it’s populated, it can override the SKU-level component location logic during production order creation — which means your carefully configured SKU setup gets ignored at exactly the wrong moment.
It’s a small thing. It’s also one of the most common reasons I see this configuration work perfectly in testing and then behave oddly in production. Check it early.
Where Most Implementations Go Wrong: Production Order Creation
The BOM setup is usually fine. The SKU setup is usually fine. The problem shows up at production order creation — and it comes down to one thing:
The Location Code must be on the Production Order Line. Not just the header. The line.
Business Central uses the line location to resolve the SKU. If the location is missing from the line:
- BC cannot identify the correct SKU
- The SKU-level BOM cannot be applied
- The production order may calculate with no components, or pull from the wrong BOM entirely
This is probably the single most common source of confusion I see during manufacturing implementations. Everything looks right, the BOM and SKU are configured correctly, and then the production order comes out wrong — because the location wasn’t on the line.
Verify this every time. It’s worth adding to your testing checklist as a specific step.
The “Refresh Production Order” Behavior You Should Know About
One more scenario worth understanding: what happens when you refresh a production order.
Depending on the options selected, the Refresh Production Order function may recalculate production components or recreate the production order line entirely. If the line is recreated and Business Central can’t determine the location again, it may clear the Location Code — which means you lose the SKU reference and potentially end up with no components.
When I’m troubleshooting BOM structure issues, my first move is almost always:
- Delete the production order
- Recreate it with the correct location on the line
- Confirm the component explosion before moving forward
Once time, output, or capacity has been posted to an order, the system restricts structural changes by design. Don’t try to fix a component issue on a partially-posted order — recreate it clean.
When This Approach Works Best
Using SKUs to manage location-specific BOMs is the right design when:
- Different plants use slightly different component structures
- Manufacturing processes vary by facility
- BOM differences are consistent and repeatable
- You want a configuration that’s maintainable long-term without customization
For most manufacturing companies running BC, this covers the vast majority of multi-location scenarios.
When You Might Need Something More Advanced
There are scenarios where this standard design isn’t enough — but they’re less common than people assume:
- A single BOM number needs to support multiple internal variations
- BOM selection depends on something other than location (product categories or attributes, customer requirements, etc.)
- BOM structures are dynamically generated at order time
These situations exist, and they require more advanced design work. But they’re not the starting point. If you’re in early implementation and wondering whether you need custom logic — you probably don’t. Start with the SKU approach and validate your edge cases before scoping anything beyond standard functionality.
Bottom Line
Business Central does support location-specific Bills of Materials. It’s done through Stockkeeping Units, not direct BOM-to-location assignment. The configuration is standard, maintainable, and upgrade-safe.
The keys to making it work reliably:
- Create separate Production BOMs per location
- Assign them to SKUs at the Item + Location level
- Leave the Components at Location field in Manufacturing Setup blank
- Always confirm the Location Code is on the production order line — not just the header
Get those four things right and the system behaves exactly as designed.
If you’re mid-implementation and hitting unexpected behavior on production order component explosion, that’s usually the first place to look.
Frequently Asked Questions
Can I use BOM Versions to handle location differences instead of separate BOMs?
BOM Versions in Business Central are date-effective, not location-effective. They’re the right tool for managing changes over time — not for managing structural differences between locations. Separate BOMs assigned to SKUs is the correct approach for location-specific manufacturing.
Do I need SKUs for every item, or just manufactured items?
For the purpose of location-specific BOMs, you only need SKUs on the manufactured items where the BOM or Routing differs by location. You don’t need to create SKUs for every item in your catalog.
What happens if I have a BOM on the Item Card AND on the SKU?
When a SKU exists for the Item + Location combination on the production order line, Business Central uses the SKU-level BOM — not the Item Card. The Item Card BOM becomes irrelevant for that location. This is by design and the correct behavior.
Can I assign different Routings by location the same way?
Yes. The Routing No. field on the SKU Card works exactly the same way as the Production BOM No. If your manufacturing process differs by location, assign separate routings to each SKU as well.
Does this work with production order firmness and planning?
Yes, standard planning in Business Central respects SKU-level replenishment settings, including the Production BOM and Routing assigned at the SKU level. Planning will generate production orders based on the SKU configuration for each location.
Have questions about manufacturing configuration in Business Central? Subscribe to Dynamics Power Play for practical BC guidance from the field.tform was designed to work.
Discover more from Dynamics Power Play
Subscribe to get the latest posts sent to your email.