During a recent implementation of the Dynamics GP Manufacturing module for one of our clients, we noticed significant differences between the existing current standard cost and the proposed or pending standard cost for several finished goods items after performing our first cost rollup. There are several possible reasons for this, some of which include:
- The existing standard cost on the finished goods and/or materials item cards are over or under valued
- Labor and/or machine rates are over or under stated
- Routing times are invalid
- Components are missing from the Bills of Materials (BOMs)
Upon closer look, it appeared that the pending material costs were less than what they should be according to how the BOMs were set up and what the client knew their material costs to be.
Upon an even closer look, with our Item Cost Revaluation report and calculator in hand, we were able to review several BOMs and identify specific components that were not being included in the cost rollup even though they were included in the BOMs. These same components were also excluded from backflusing during the posting of Manufacturing Order (MO) Receipts; i.e. the component quantities were not being relieved from inventory and component costs were not flowing to the GL.
It turns out that records for certain inventory items were missing from one of the costing tables in the company database. But how? What could have caused this? Microsoft had a couple of possible explanations for the missing records:
- If items are imported via SQL
- If items start out as a perpetual valuation method and are later changed to periodic
The latter seems to be the most likely cause in this case. We performed the following steps to resolve the issue (after first testing in a test environment). The referenced scripts should be obtained from Microsoft Dynamics Support…
- Update the Standard Cost with the Current Cost on the item card. Use the IV00101 table and update the STNDCOST column with the value in the CURRCOST column.
- Run the script InsertFromIV00101ToCT00102.sql to insert any missing records in the CT00102 table. The CT00102 table is shadow table that stores the same information as the IV00101 along with the Manufacturing Costing account indexes. You should have a matching record for every item in the IV00101 table. This script will insert missing records.
- Update the CT00102 table with the same Current and Standard cost values as the IV00101 table. To ensure the cost can roll-up and revalue correctly, it is essential when updating the standard costs in the IV00101 table, to update and/or rebuild the manufacturing costing tables to match the IV00101 standard cost.
- Clear the data in the ICIV0323 and CT00003 tables. These tables hold the costing values for periodic items. For example the ICIV0323 holds all 9 “cost buckets” (i.e. Material, Mat. Fixed OH, Material Var. OH, Labor, Labor Fixed OH, Labor Var OH, Machine, Mach Fixed OH, Mach Var OH). Run a delete statement on the tables to clear all data.
- Run the scripts CT00003_rebuildv2.sql and ICIV0323_rebuildv2.sql in order to repopulate the ICIV0323 and CT00003 tables with the correct standard cost. These scripts will update the tables based on the standard cost in the IV00101 table.
- Run the script CT00200 rebuild.sql to update the CT00200 table if items do not exist. The CT00200 table is the revaluation history table and it needs to have a record for every item. Running the script will compare the records in the IV00101 table and insert records in the CT00200 if they are missing.
- In GP go to Cards >> Manufacturing >> Inventory >> Standard Cost Changes, select any item, in the ‘Roll Up Scope’ select ‘All Changed Items’ and click ‘Roll Up’. When the rollup is complete print the Item Proposed Cost Revaluation Report. This report will list the pending changes for items.
- Once you are confident in the report’s accuracy, you can then click ‘Replace Costs’ to update the standard costs for your items.