logo
Racklify LogoJoin for Free

Login


All Filters

WMS Logic for Complex Bundles: The Nested BOM

Materials
Updated June 4, 2026
Dhey Avelino
Definition

A Nested Bill of Materials (BOM) represents assemblies composed of sub-assemblies and raw components; configuring ERP/WMS logic for nested BOMs ensures correct reservations, picks, and assembly while preventing duplicate or 'ghost' inventory.

Overview

Overview

The Nested Bill of Materials (BOM) models a multi-level product structure in which a top-level finished good (for example, a "Starter Kit") contains sub-assemblies that themselves contain components. In warehouse execution this requires coordinated BOM explosion, reservation/allocation, pick-task creation across multiple zones, and an assembly/kit transaction so that inventory is not double-counted or left in a "ghost inventory" state where availability misrepresents reality.


Key concepts to configure

  • BOM types: Distinguish between "phantom" (virtual grouping, no physical assembly required), "kit" (picked and packed as a group), and "assembly" (components are put together in a work area). For nested BOMs you will commonly use non-phantom BOMs for physical sub-assemblies and kit/assembly BOMs for the top-level pack.
  • Reservation model: Use component-level reservations rather than only reserving the top-level SKU. Reservations must update committed quantities in inventory immediately and atomically to avoid double allocation.
  • Zone-centric rules: Define allocation priorities per zone (e.g., pick-face first, bulk second, kitting/assembly zone third) and enforce location-level reservation logic.
  • Transaction atomicity & locks: Ensure allocation and decrement operations are wrapped in transactional workflows to avoid race conditions and ghost inventory when concurrent orders or replenishments occur.
  • Integration: ERP and WMS must share inventory state via synchronous reservation APIs or event-driven messages to maintain a single source of truth.


Configuration steps (practical)

  1. Model the nested BOM hierarchy: In the ERP/WMS BOM master, define the Starter Kit as level-1 with explicit links to sub-assemblies (level-2), and list each level-2 sub-assembly's component SKUs (level-3). Specify per-node attributes: "requires assembly", "pick as component", "phantom child" etc.
  2. Set BOM processing mode: For a Starter Kit that is assembled before shipping, set top-level as "assemble-to-order" or "kit-assembly". For components that are never physically assembled (virtual), mark them as "phantom" so the system simply reserves components directly.
  3. Define allocation priorities and zone rules: Configure location priority rules—e.g., pick-face (zone A) > bulk storage (zone B) > kitting/assembly (zone C). Map replenishment and pick strategies accordingly.
  4. Enable component-level reservation and BOM explosion: On sales order confirmation, enable automatic BOM explosion to derive a component reservation list. Reservation logic should create committed inventory records on the component locations selected by prioritization rules; the top-level SKU may be reserved as a "virtual" placeholder only if you maintain component reservations.
  5. Implement pick/transfer tasks: Configure the WMS task engine to generate separate pick tasks per zone for the components. Where components live in multiple zones, create transfer-to-kitting tasks to consolidate parts into the assembly zone before kit build.
  6. Assemble transaction and consumption: Set up a BOM consumption transaction that consumes committed component inventory and creates a finished Kit quantity in the kitting zone or finished goods location. This transaction must decrement component committed/on-hand quantities and increment top-level on-hand only after successful assembly.
  7. Shipping allocation & finalization: Reserve (or release) the assembled Kit for the sales order and generate pick/pack tasks for the finished-good location. Ensure the shipping pick consumes the kit on-hand and posts final outbound transactions.


Example scenario

Starter Kit SKU SK-100 contains Sub-Assembly SA-10 and Item C. SA-10 contains Item A and Item B. Locations: pick-face (Zone A) holds Item B, bulk (Zone B) holds Item A, and kitting area (Zone C) holds SA-10 inventory or is the assembly point.

  • Order placed for SK-100 → ERP/WMS triggers BOM explosion: SK-100 → SA-10 + Item C; SA-10 → Item A + Item B.
  • Reservation engine selects Item B from Zone A (pick-face) and Item A from Zone B (bulk) per priority rules; Item C reserved where it resides. Reservations are written as committed quantities at the location level immediately.
  • Pick tasks created: pick Item B from Zone A and Item A from Zone B; transfer tasks created to move picked quantities to Zone C kitting area.
  • Once components arrive in kitting, a kit-assembly transaction consumes the component committed quantities and produces SK-100 in kitting stock. The consumption operation clears component commitments and updates on-hand counts; the produced kit gets an available-on-hand increment and is reserved against the sales order.
  • Final shipping picks remove the kit from inventory and post outbound shipments.


Preventing ghost inventory

  • Immediate and atomic commitments: Reservation must set committed quantities at the exact location chosen and lock those inventory records. Delayed or batched reservations create windows where availability mismatches actuals.
  • Single-source writes: Ensure only one system (either WMS or ERP) performs the authoritative reservation write. If both systems write, implement a reconciliation or master/slave pattern to avoid overwrites.
  • Use build-confirm transactions: Only after the kitting/assembly confirmation should the system clear component commitments and increment finished-good inventory. Unconfirmed assemblies should not show finished-good on-hand.
  • Handle partial shortages sensibly: If some components are unavailable, the system should allow partial allocation rules or backorder the kit rather than creating phantom top-level reservations that cannot be fulfilled.
  • Replenishment and cycle count rules: Replenishment and cycle counts should respect committed quantities and not move stock that is already committed to avoid accidental double use.


Common pitfalls and mitigations

  • Double-reserving components: Occurs when top-level reservation and component reservation both decrement available stock without coordination. Mitigate by reserving only components and treating the top-level as virtual until assembly completion.
  • Race conditions during high concurrency: Use database-level locks or optimistic concurrency with conflict resolution for reservation writes.
  • Misconfigured phantom nodes: Marking an actually-assembled sub-assembly as phantom will bypass necessary assembly transactions and create inventory mismatches. Review BOM node attributes carefully.
  • Broken integration between ERP and WMS: Ensure reservation events and confirmations are synchronous or reliably queued; otherwise the WMS may pick items the ERP still shows as available, creating ghost allocations.


Best practices

  • Document BOM processes and define explicit assembly vs. kit vs. phantom behaviors.
  • Model location priority and replenishment rules to reflect physical workflows.
  • Implement atomic reservation/consumption transactions and make WMS the execution authority for physical inventory movements.
  • Use test scenarios with concurrent orders and simulated replenishment to validate against ghost inventory outcomes.
  • Monitor committed vs. available dashboards and reconcile via regular cycle counts and exception workflows.

With correct BOM modeling, component-level reservations, transactional assembly confirmation, and tight ERP/WMS integration, nested BOMs for Starter Kits can be executed across multiple zones without creating ghost inventory while preserving accurate availability and fulfillment performance.

More from this term
Looking For A 3PL?

Compare warehouses on Racklify and find the right logistics partner for your business.

logo

News

Processing Request