Heyo,
This weekend we converted one of our companies from Standard to Average, and I am going to document how we did it. We didn’t like standard costing for a lot of reasons, so if you’re also ready to switch, I hope this post makes it easier. We worked with an Epicor consultant to develop this process, so big thanks to @KSK!
Our goal was to replace every average cost in our system with the current standard cost, and allow the parts to naturally adjust from there. We wanted to demonstrate that this was done “correctly” by having $0.00 impact across the transition. This method worked for us. If you wanted to jump right from Standard to Average, you could skip running the APICostAdjustmentNonInv BAQ / DMT both times.
I am also attaching all of our DMT ready BAQs that you could import if you wanted to do this yourself.
I ran these BAQs via the API which is why they are all named APIxx, but they’re just regular BAQs that you can run however you like.
We send our production teammates home by Saturday morning. This process took from 9am-5pm, but most of that time was us being careful and and double checking some oddball normal operations things.
- Before you begin, you can move over parts which aren’t in inventory. This is a time saving measure, If you have tens of thousands of parts, you can run these the night before to save time
- Adjust the cost to standard on parts which we dont have in inventory (APICostAdjustmentNonInv)
- Change Cost Method (APIPartCostingMethodNonInv)
- While no one is transacting
- We reconcile any labor issues (Unapproved Labor)
- We resolve any negative on hand quantities (Quantity Adjustment)
- Ensure that no inventory is picked, allocated, or packed (Unpick SO, Fulfilment Workbench, Customer Shipment Entry)
- Clear everything out of Receipt Inspection (Inspection Processing)
- All Sites !!!
- Run all bold BAQs right now. You’ll need to run APICostAdjustmentNonInv & APIPartCostingMethodNonInv a second time after we adjust inventory, during step 5. You’ll also run both APIPartClassReference & APIPartPlantReference as confirmation in step 5.
- Get a solid starting point
- Run Inventory/WIP Reconciliation, Stock Status
- Run Capture COS/WIP Activity
- Check the “Post to General Ledger” checkbox to TRUE
- Check the “Post Cost of Sales / MFG Variance” to TRUE
- Run Inventory/WIP Reconciliation again, which should error
- Taking the inventory out:
- Adjust all inventory out. (Quantity Adjustment / APIAllInventoryNegative)
- Run Inventory/WIP Reconciliation, Stock Status
- Run Capture COS/WIP Activity
- Check the “Post to General Ledger” checkbox to TRUE
- Check the “Post Cost of Sales / MFG Variance” to TRUE
- Run Inventory/WIP Reconciliation again, which should error
- Change the Costing Method…
- Change the costing method on the (Company Configuration)
- Change the costing method on the Part (APIPartCostingMethodNonInv)
- The costing method on the Part Plant is updated automatically, but at this stage, run both of these to confirm APIPartClassReference / APIPartPlantReference
- Bringing it back in
- DMT the Standard costs into Average (Cost Adjustment / APICostAdjustmentNonInv)
- DMT Inventory Adjust our units back in (Quantity Adjustment / APIAllInventoryPositive)
- Run Inventory/WIP Reconciliation, Stock Status
- Run Capture COS/WIP Activity
- Check the “Post to General Ledger” checkbox to TRUE
- Check the “Post Cost of Sales / MFG Variance” to TRUE
- Reset our Job Estimated Costs
- I was lazy here, and I left in a calculated field “TotalJobCost” which is a column you will need to delete in order to import these BAQs.
- Un-release and un-engineer all open jobs that have no cost allocated yet. (APIJobUnrelease)
- Re-release and re-engineer all those jobs (APIJobRelease)
- Resume normal operations!
Here’s the goods.
APIAllInventoryNegative.baq (16.7 KB)
APIAllInventoryPositive.baq (15.8 KB)
APICostAdjustmentNonInv.baq (8.8 KB)
APIJobRelease.baq (17.0 KB)
APIJobUnrelease.baq (17.0 KB)
APIPartClassReference.baq (8.2 KB)
APIPartCostingMethod.baq (13.7 KB)
APIPartCostingMethodNonInv.baq (7.9 KB)
APIPartPlantReference.baq (8.5 KB)
