I’m not sure which step causes the average cost to be 0, so I’m going list out all the steps that the client did in order to cause the the average cost per location to not equal to 0. I recreated this scenerio in Cronus 3.7. WARNING: this is a long post. 1. Change the Average Cost Calc. Type to ‘Item & Location & Variant’ under the inventory setup. Check ON Automtic Cost Posting. 2. Run Adjust Cost - Item Entries 3. Create a new item with an average cost as Costing Method. (ITEMA) 4. Create a new Location called GREY 5. Positive adjust ITEMA with: Posting Date = 2/1/03 Quantity = 5600 Unit Amount = 5.144 Location = BLUE 6. Positive Adjust ITEMA with: Posting Date = 2/1/03 Quantity = 1400 Unit AMount = 5.20 Location = GREEN 7. Create and post Transfer Order from Location BLUE to Location GREY with 4 lines: Posting Date = 2/15/03 Shipment and receive date = 2/15/03 Line 1 = ITEMA with 1400 quantity Line 2 = ITEMA with 1400 quantity Line 3 = ITEMA with 1400 quantity Line 4 = ITEMA with 1400 quantity 8. Create and post purchase invoice with: Posting Date = 2/15/03 Item Charge = JB-FREIGHT Location = no location Quantity = 1 Direct Unit Cost = 727.60 Assign it to the 4 lines on the Transfer Receipts equally 9. Create and Post Purchase invoice with: Posting Date = 2/15/03 Item Charge = P-ALLOWANCE Location = no location Quantity = 1 Direct Unit Cost = 489.384 Assign it to the 4 lines on the Transfer Receipts equally 10.Run Adjust Cost - Item Entries 11.Create and post Sales Order from location GREY. Posting Date = 2/15/03 Item = ITEMA Quantity = 5600 12.Run Adjust Cost - Item Entries 13.Create and Post Credit Memo using copy document feature Posting Date = 3/12/03 Item Charge = JB-FREIGHT Location = no location Quantity = 1 Direct Unit Cost = 727.60 Assign it to the 4 lines on the original Transfer Receipts equally 14.Create and post purchase invoice Posting Date = 3/12/03 Item Charge = JB-FREIGHT Location = no location Quantity = 1 Direct Unit Cost = 1,231.12 Assign it to the 4 lines on the original Transfer Receipts equally 15.Run Adjust Cost - Item Entries 16.Create and Post Credit Memo using copy document feature Posting Date = 3/27/03 Item Charge = P-ALLOWANCE Location = no location Quantity = 1 Direct Unit Cost = 489.384 Assign it to the 4 lines on the original Transfer Receipts equally 17.Create and post purchase invoice Posting Date = 3/27/03 Item Charge = P-ALLOWANCE Location = no location Quantity = 1 Direct Unit Cost = 300 Assign it to the 4 lines on the original Transfer Receipts equally 18.Run Adjust Cost - Item Entries Drill down to the item ledger for ITEMA, look at only the costs for the location GREY. Sum up the ‘Cost Amount (Actual)’ column, it does not equal to zero EVEN THOUGH the quantity for that particular location is 0!
Without reading the details (Long posts scare me), are you using the latest version of 3.70 (3.70A)? There are issues with the originally released version of 3.70. I am not a fan of Average Costing in Navision. Most companies can get better information using another method. FIFO can usually replace Average Cost.
Hi Chris Can you explain how FIFO can replace average cost? Thanks, Marco
I mean that any arguement for using Average Cost that I have heard, can be answered with another method (such as FIFO). Average Costing tends to be a method which is used as an “estimate” for Costing. In a system where we have exact costs, does it really have a place?
Hi Chris, Yes, I’m using Navision 3.7a with up to improvement 44
When I run your steps, I get Cost Amount (Actual) adding up to 0. One entry for -29,834 and four entries for 7,458.50.
Hi Chris, The difference I got was 2.32 for location Grey. It’s showing that I have a inventory value of 2.32 for that location while my quantity on hand is 0. The only way I can correct this is by positive adjusting that location with 1 quantity then negative adjusting it out at 2/15/03.
Oopss… the database I’m actually using Navision 3.7 (no A) with improvement up to 44. Only my executable is 3.7A.
I would recommend re-trying this in a 3.70A database (Objects rather than executable).
this is known bug: CodeUnit 5804 func. CalculateAverageCost . . . IF AverageQty < 0 THEN EXIT(FALSE); change to: IF AverageQty <= 0 THEN EXIT(FALSE);
quote:
Originally posted by db
this is known bug: CodeUnit 5804 func. CalculateAverageCost . . . IF AverageQty < 0 THEN EXIT(FALSE); change to: IF AverageQty <= 0 THEN EXIT(FALSE);
I think this was a bug in 3.60 which was fixed before 3.70 was released. All versions of 3.70 seem to be correct. Like I said before, try this in a clean 3.70A database. If it works, you need to get your objects up to that version (I realize easier said than done [;)]).
Kudos Chris! Thanks!
Have a check of the item value entries for the items at the location you are testing. We had some avarage costing issues at a customer that were caused by small value rounding and adjustment entries that caused the total value not to be zero when the stock level was zero. The solution to the problem was to extend the filter in the calc average cost function to only consider value entries of type purchase and positive adjustment when calculating the average cost.