Lot-numbered items + Supply Allocation + NetSuite WMS: how are you keeping committed lots committed?
I’m working with a distributor that also does light manufacturing and holds order-specific (decorated or customised) stock. Everything is lot-tracked, and fulfilment runs on NetSuite WMS. We keep hitting the same family of allocation and commitment problems. I’d like to hear how others have solved them, or decided to live with them.
Setup
- Features ON: Supply Allocation, Sales Channel Allocation, WMS, Lot Tracking, Advanced Bin/Numbered Inventory, Work Orders, Assemblies, MRP, ATP, Outsourced Manufacturing.
- Features OFF: Inventory Status.
- “Perform Supply Allocation After Transaction Entry, Update or Delete”: checked.
- Default allocation strategy: Allocate As Soon As Available, Available Quantity, Reserved (not Firm). Future inventory (PO/WO/TO/inbound shipment) counts as supply. “Commitment Confirmed Stops Allocation on Order Line” is unchecked.
- Order Management: “Automatically set to firm Committed Quantities in a Wave” is unchecked, and “Fulfill Based on Commitment” is Allow Uncommitted.
- Manufacturing: “Manufacturing Issue Based on Commitment” is Allow Uncommitted.
Symptoms
- Wave lot collisions. A released wave’s pick recommendation (FEFO) chooses a lot that is already fully committed to a different order. Fulfilment then fails with “Inventory numbers are not available [On Hand:N, Committed:N+1]”.
- The allocator re-commits drained lots. Drop a bad lot assignment and let NetSuite re-commit, and it often picks the same lot again. Lot-level quantity available doesn’t seem to net off what other orders have committed against that lot. Oracle’s docs admit that location-level and lot-level commitment drift apart when commits happen without a lot, and that partial fulfilments keep them drifting.
- The Order Allocation Schedule steals from released waves. When it ran, it re-sourced stock out from under orders already being picked, so we disabled it.
- Firm protects, but only lines that actually get firmed. We tested this in sandbox. Entering, editing or receiving against a competing order never took committed stock from an existing line; only an Allocate Orders / allocation-schedule pass did. In that pass, an unfirmed committed line lost 9 of its 10 units to a higher-priority order. A firmed line isn’t even offered as a candidate, even with “Select All Orders”. That held with “Commitment Confirmed Stops Allocation on Order Line” left unchecked on the strategy. So our exposure is every committed-but-unfirmed line, including waved ones, since the auto-firm-in-wave preference is off. Oracle also documents that the Reallocate Order Item tool can override Commitment Confirmed, which we haven’t tested.
- We can’t reserve order-specific stock. Customised stock is identified by naming its lot after the order, but NetSuite treats a lot name as meaningless and counts that stock as free. Blocked or non-pickable bins stop picking but not allocation. Inventory Status would help, but it is account-wide, effectively irreversible once used, and can’t tie stock to a specific order anyway.
- Work orders compete with sales orders. WO component demand and SO demand compete for the same lots. RF assembly builds fail with “You only have N available” when a staged lot has been partly soft-committed to something else.
- Waves are frozen snapshots. Pick tasks are generated from the commitment as it stood when the wave was built. Re-pinning a lot on the order afterwards doesn’t reach the wave. Decommitting after release strands the picker on stock NetSuite then refuses to fulfil.
What we’ve built so far
- A scheduled, lot-aware allocation pass that pins specific lots and firms them.
- A gate that won’t let an order into a wave until its lots are pinned.
- A custom “true available” report, because native Available overstates what is committable.
- Allocate-and-firm on release for WOs and TOs.
- The native allocation schedule, switched off.
It works, but it’s a lot of custom machinery around a native engine we don’t fully trust.
Questions
- Is anyone running Supply Allocation with lot-numbered items and NetSuite WMS without these collisions? What made the difference?
- In our test, firmed lines were protected even with “Commitment Confirmed Stops Allocation on Order Line” unchecked. What does that box actually add? Is it about future-supply re-dating rather than on-hand reallocation? And do you firm on commit, firm on wave release (via the auto-firm preference or a script), or leave lines reallocatable on purpose?
- How do you reserve stock for one specific order without Inventory Status? A dedicated non-available location, a custom reservation record, something else?
- How do you stop WMS recommending a lot that’s committed to another order? A wave-criteria filter, a pick-task script, or a process rule?
- Any real-world experience with Oracle’s FEFO Lot Assignments SuiteApp, or with RF-SMART, in solving this rather than just moving it?
- How do you sequence WO component demand against SO demand when they draw on the same lots?
- Did you end up turning off automatic commitment entirely and running one controlled committer? Would you do it again?
Replies here or DMs both welcome. I’m happy to share what we’ve learned in return.



