The use case is a running total search of inventory quantity for particular item / lot / location over time to be able to view inventory 'as of' the time of that transaction and each transactions impact on on-hand to reconcile counts and find mistakes and discrepancies. I'm still a bit perplexed that this isn't a native function of an inventory system like NetSuite...if anyone has a simpler way I'm sure many would be eager to hear.
That the system doesn't separate 'change in on hand' as a concept for reporting vs. a generic 'Quantity' without customization is a bit wild, and I'm still somewhat convinced I'm missing something despite how many folks have told me 'it doesn't work that way'. e.g. like a treating a bill or invoice Qty that did not affect your stock count the same as the receipt or item fulfillment that did, from a reporting / data standpoint. Quantity Ordered, Committed, B/O, Invoiced, Billed, Planned, etc. are all distinct concepts from 'Net Change in On Hand', which I can't find an independent treatment of.
Inventory Valuation Detail Report w. Running Balance = True is the closest thing I've found natively, but will not split out quantity by individual lots so that makes it much less useful for companies heavily using lot-tracked inventory like in sensitive manufacturing.
For those interested, here's the search criteria cobbled together to get the running totals:
Item Lot Running Inventory Total (Transaction Search)
Here's my sketch of a list of relevant transaction types, if anyone has a comprehensive resource to point to, I made a post specifically on this - thread here.
Criteria:
Filter Set
Inventory Detail : Number = not None
Posting = True
Type Any of (the bulleted list above)
Formula (Numeric) =1 case when {inventorydetail.inventorynumber} = {itemnumber.inventorynumber} then 1 else 0 end
Optional: To limit initial run results (performance)
Location desired default for filter
Item choose one item for filter
Item Number : Number choose one existing lot of item selected
Available Filters: Item, Item Number : Number (Lot), Location
Results: Critical to sort by Date (ascending) Then Internal ID (ascending)
This will help show you transactions that happened out of order and may cause negative stocks.
FIELD | FUNCTION | FORMULA | CUSTOM LABEL | SUMMARY LABEL |
---|---|---|---|---|
Date | ||||
Item : Display Name | ||||
Type | ||||
Location | ||||
Document Number | ||||
Created From | ||||
Formula (Numeric) | case when {type}='Item Fulfillment' then {quantity}*-1 else {quantity} end | Quantity | ||
Inventory Detail : Number | ||||
Inventory Detail : Bin Number | ||||
Formula (Numeric) | case when {quantity} <0 then {inventorydetail.quantity}-1 when {type} = 'Item Fulfillment' then {inventorydetail.quantity}-1 else {inventorydetail.quantity} end | Lot Qty | ||
Formula (Numeric) | sum/* comment /(case when {quantity}<0 then {inventorydetail.quantity}-1 when {type} = 'Item Fulfillment' then {inventorydetail.quantity}*-1 else {inventorydetail.quantity} END) OVER(PARTITION BY {formulatext} ORDER BY {lineuniquekey} ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) | Running Balance |