We’re trying to mark an item as inactive and getting the error ‘Part cannot be marked as inactive if there is quantity allocated’. It’s a non stock item and a phantom BOM…
I’ve run the Refresh Part Quantities and Allocations Report only and receive a no records selected error
I’ve looked in the PartDtl table, part isn’t in there
I’ve looked at Part Tracker, item is in 2 warehouses and both have a quantity on hand of 0, which makes sense as it’s a non stock item…
I’ve looked in the material queue, it’s also not there.
What am I missing? Is there some other place this might be hiding? .
I tried that and got the error ‘Cannot delete part that has on hand quantity’… Except it doesn’t have any on hand, it’s a non stocked item. Both the Qty On Hand and Non Nettable Qty in Part Tracker show 0 on hand.
Yeah, I’ve been trying BAQs and still haven’t had any luck. I am waiting to hear back from support lol… I gave up for the time being. But I’ll update when I have more info.
Or just ‘cheat’ and pop in an EpiCare case. I bet that’s happened before. You might get a KB article pointing out the fix, or a a request for a BAQ of some table, and a datafix response.
Adjust your decimals for the UOM of the part to the max allowable (8?).
In the past I have also run into issues where i cannot inactivate a part because of inventory on hand. Part Tracker shows 0.00, but when i increased the decimals there would be some qty like 0.00000084 EA. Qty adjust that out and then inactivate.
Note: after increasing the decimals allowable for the UOM Code you’ll need to restart Epicor to see it.
What are you seeing? Don’t trust the settings in rounding to eliminate the possibilities of some small fraction showing up in inventory. Epicor rounding rules aren’t bulletproof especially with UOM conversions. Check the part in table and if there are any records for the part number in that table there is “inventory”. To fix it, temporarily set thrme decimals to 8, make the adjustment to get it to actually 0, then put the decimal settings back.
I have taken everything out of the system. So PartBin and (PartWhse with some extra effort) are all empty now. but I CANNOT change the cost method for 5 part numbers still (out of >25k). Cost method is grayed out in the system and so is mark inactive.
I have also performed the Refresh part qty from PartTran and refresh QOH and allocations with no success.
For anyone interested in the fix for making PartWhse resync: it was as simple as quantity adjust in and quantity adjust out in the affected bins.
Select * from Erp.PartBin -- empty table
SELECT * FROM ERP.PartAlloc -- empty table
select * from Erp.PartQty where erp.partqty.onhandqty>0 -- empty table
select * from Erp.PartWhse where erp.partwhse.OnHandQty>0 -- empty table
select * from Erp.partbininfo where erp.partbininfo.OnhandQty>0 -- WAS very not empty = 1,571 rows
-- AND
select * from Erp.PartLot where Erp.PartLot.OnHand >0
select * from Erp.PartLotDeferred where Erp.PartLotDeferred.OnHand >0
select * from IM.IMPartLot where IM.IMPartLot.OnHand >0
select * from dbo.PartBinInfo where dbo.PartBinInfo.OnhandQty >0
select * from Erp.GlbVendPart where Erp.GlbVendPart.OnhandQty >0
select * from Erp.JMtlStat where Erp.JMtlStat.OnHandQty >0
select * from Erp.PartBin where Erp.PartBin.OnhandQty >0
select * from Erp.PartBinDeferred where Erp.PartBinDeferred.OnhandQty >0
select * from Erp.PartBinInfo where Erp.PartBinInfo.OnhandQty >0
select * from Erp.PartFIFOCost where Erp.PartFIFOCost.OnHandQty >0
select * from Erp.PartQty where Erp.PartQty.OnHandQty >0
select * from Erp.PartQtyDeferred where Erp.PartQtyDeferred.OnHandQty >0
select * from Erp.PartWhse where Erp.PartWhse.OnHandQty >0
select * from Erp.PPlanQty where Erp.PPlanQty.OnhandQty >0
select * from Erp.VendPart where Erp.VendPart.OnhandQty >0
select * from IM.IMGlbVendPart where IM.IMGlbVendPart.OnhandQty >0
select * from IM.IMJMtlStat where IM.IMJMtlStat.OnHandQty >0
select * from IM.IMPartBin where IM.IMPartBin.OnhandQty >0
select * from IM.IMPartBinInfo where IM.IMPartBinInfo.OnhandQty >0
select * from IM.IMPartFIFOCost where IM.IMPartFIFOCost.OnHandQty >0
select * from IM.IMPartQty where IM.IMPartQty.OnHandQty >0
select * from IM.IMPartWhse where IM.IMPartWhse.OnHandQty >0
select * from IM.IMPPlanQty where IM.IMPPlanQty.OnhandQty >0
select * from IM.IMVendPart where IM.IMVendPart.OnhandQty >0