BOM Costs

When we have a parent item (A) set up with a costing method of FIFO and an average cost of say £5.00, but with the total average cost of the component parts equal to £4.50, if we post a BOM journal for 100 of item A and drill into the item ledger entries associated with it the result is that the cost posted to G/L on item A is £500.00, however the sum of the cost posted to G/L for the component item ledger entries is £450.00. When we run the batch jobs, Adjust cost item entries and post cost to G/L, the cost posted to G/L on the parent item ledger entry has changed to £450 (the original cost of the component parts), however, we have a problem because the cost posted to G/L of the component parts may have changed in some cases, because when the negative is applied to a positive receipt (using FIFO) a different cost may be associated with it, i.e., the receipt may have been invoiced at a cost of £2.00, but the average cost was set at £1.80. Therefore, once again the sum of the cost posted to G/L in the parent item is not equal to the cost posted to G/L of the associated component parts! This is causing major problems with one of our clients. Anyone any ideas on fixes?? Regards, Roisin.

Issue with BOMs with Average Costing in Financials In 2.01B through 2.60.B Financials, if using the BOM Journal and average cost, the average cost of the parent item is not costed correctly. First published: Friday, May 24, 2002 Last update: Friday, May 24, 2002 Document ID: 16439 Reference Information Product(s): Financials Area(s): Inventory Version – Starting With: 2.01.B Version – Ending With: 2.60.B Problem When posting a BOM Journal for a parent item with average costing, the weighted average cost was calculating incorrectly. For example, if there was an initial BOM with an average cost of $1,000 posted, and then a second BOM in which the average cost was $1,200 was posted, the system was calculating the average as $1,200 not $1,100. Resolution Modify Codeunit 32 for the following bolded ItemLedgEntry.MODIFY (Note: if you search the codeunit for END ELSE BEGIN, you’ll find the fix at the second found selection) END ELSE BEGIN IF Item.“Costing Method” = Item.“Costing Method”::Average THEN BEGIN ItemLedgEntry.“Invoiced Quantity” := ItemLedgEntry.Quantity; // restore from delay ItemLedgEntry.“Adjusted Cost (Invoiced Qty.)” := ItemLedgEntry.“Adjusted Cost (Qty.)”; ItemLedgEntry.MODIFY; END;