Dynamics 365 Business Central – A walk through of Unit Cost, FIFO Items and the Automatic Cost Adjustment option


Recently I’ve been looking into how the “Unit Cost” is calculated for items using the “FIFO” costing method. I’ve found even if the item is set to “FIFO” the Unit Cost still displays an “Average Cost”. What’s more, depending on your “Inventory Setup”, this “Average Cost” might not be an as it seems either.

The answer lies in the role of the “Automatic Cost Adjustment” setting in “Inventory Setup”. (and therefore the “Adjust Costs – Item Entries” batch job)

In this post I’ll walk through a series of postings and check back on the “Unit Cost” while also checking the “Value Entries” to see what costs are being posted to the GL.

Here goes 🙂

Unit Cost when “Automatic Cost Adjustment” set to ALWAYS

In the first test I set the option “Automatic Cost Adjustment” to ALWAYS in my Inventory Setup as per below:

I then created a brand new item with a costing method of FIFO and gave it an initial “Unit Cost” of £10.00

With this configuration I then received and invoiced the following quantities and values:

A Purchase Order with a Quantity of 5 and a unit cost of £20.00

This changes my original “Unit Cost” to £20.00.

A Purchase Order with a Quantity of 5 with a unit cost of £50.00

Now when I check the Unit Cost on the Item page its showing as £35.00.

So why is this, and what cost will be posted when I sell the item?

If you drill back on the “Unit Cost” the answer becomes apparent via the “Average Cost Calc. Overview” page:

This is showing that we have a quantity of 10 in inventory at a total value of £350.00 giving an average cost, and therefore a Unit Cost, of £35.00.

Selling an item

Things get really interesting when I now sell an item.

According to FIFO rules, when we sell an item, the system should post the actual cost from the first receipt (i.e. first in, first out). This cost isn’t £35.00, as is shown in the Unit Cost, it should be £20.00.

To see what happens I’ll ship and invoice a Sales Order for a Quantity of 1 as per below. (as you can see the Unit Cost displayed is £35.00)

Firstly, let’s check the “Unit Cost” on the item.

After posting the sales order if I now check the “Unit Cost” on the item you can see this has *automatically* (more on this later) been recalculated as per below:

Its now showing £36.66667 because we have a total of 9 in inventory at a total cost of £330.00 giving us an “Average Cost” of £36.66667 i.e. 330/9=36.66667.

So, what cost was posted to the GL for the Sales Order? Did the system post £35.00 or £20.00?

For this we’ll dig into the “Value Entries” on the item. As we can see the system posted an initial cost amount of -£35.00, as per the “Unit Cost” and then *automatically* posted an adjustment entry of £15.00 giving the correct FIFO cost of £20.00

The key takeaway here is the reason we get the additional “adjustment” posting of £15.00 *automatically* is because we have the “Automatic Cost Adjustment” setting switched to ALWAYS in the Inventory Setup.

As I understand it having this switched to ALWAYS runs the “Adjust Costs – Item Entries” batch job every time you post a transaction therefore posting the correct FIFO cost *automatically*.

Unit Cost when “Automatic Cost Adjustment” set to NEVER

Now, let’s test what happens to the “Unit Cost” and the FIFO costs when we have the “Automatic Cost Adjustment” set to NEVER.

First, I’ll create a new item as per below using the same initial “Unit Cost” and a costing method of “FIFO” as the previous item:

I’ll raise the same Purchase Orders as before however for brevity I won’t include screen shots of the Purchase Orders on this occasion.

When we now check the “Unit Cost” the system is still showing £20.00 as per the first purchase order we received and invoiced. It hasn’t been *automatically* changed to the correct “Average Cost” of £35.00.

However if I check the “Average Cost Calc. Overview” by drilling back on the “Unit Cost” it shows we have a quantity of 10 at a total cost of £350.00.

So, why hasn’t the system updated the “Unit Cost” on the item on this occasion?

This is because we have switched “Automatic Cost Adjustment” to NEVER. This means the “Adjust Costs – Item Entries” batch job hasn’t ran when we posted the receipt and invoice for the Purchase Orders.

Therefore if we want to update the “Unit Cost” we must run the “Adjust Costs – Item Entries” batch job manually as per below:

Then click OK to run this for all items. (I could add a filter for my item if I’d prefer)

Now when I check the “Unit Cost” the correct Average Cost is now showing

Its also worth noting that if I leave the setting “Automatic Cost Adjustment” set as NEVER, when I post a shipment the “Value Entries” produced will be for the “Unit Cost” on the item i.e. now that is -£35.00 as we have ran the “Adjust Cost – Item Entries” batch job. The additional “Adjustment” Value Entry will only be produced when I next run the “Adjust Costs – Item Entries” batch job.


The “Automatic Cost Adjustment” setting has a direct impact on what is shown in the “Unit Cost” of an item. This determines when the “Adjust Costs – Item Entries” batch job runs which, amongst other things, also recalculates the Unit Cost on items.

Thanks for reading.

Dynamics 365 Business Central – Using a Negative Quantity on a Sales Order to Return Items

I ran into a situation recently where a user had shipped some goods from a Sales Order, which had subsequently been returned prior to the Sales Order being Invoiced. This led me to discover an interesting way to return the goods, and then invoice the Sales Order all at the same time.

After some testing I realised they could add a negative line for the same item, and ship and invoice this all at the same time.

The exact situation and steps I took are described below.

Below is a Sales Order that has a quantity of 10 that have been shipped:

Prior to invoicing this the client has returned 2 therefore I’ve reopened the Sales Order and added an additional line item for -2 for the same item.

I can now Ship and Invoice all the lines which will return 2 into my inventory and also only invoice a total of 8.

If I now check my Item Ledger Entries I can see both entries for this item. There’s a negative 10, as we originally shipped 10, and a positive 2 for the items returned.

I tested this with and without different location settings such as “Require Warehouse Receive” and “Require Warehouse Shipment” and it seems to work fine. I didn’t test it with full WMS switched on and I suspect it may hit problems there.

Thanks for reading!

Dynamics 365 Business Central – Message “Nothing to Handle” creating a Warehouse Pick from a Warehouse Shipment

I’ve seen this error message a few times and although there are likely many reasons for this I wanted to document the most common one I’ve found when troubleshooting it.

My scenario is trying to create a Warehouse Pick directly from a Warehouse Shipment using the options below:

After selecting the option you are presented with the error:

The first assumption is that the error is occurring because there’s no inventory of the item. However on checking the Item Card we can see we have 25 in inventory for this item:

The next thing I checked is to ensure there is adequate Bin Content and at first glance this also seems ok.

However if we look closely we have 25 in Bin Code A4 however this is the Bin Code we have selected to “Ship” from on the Warehouse Shipment.

Therefore when you create the Warehouse Pick the system is looking for Inventory in other Bins that you can “Take” and “Place” into the A4 Bin Code. (its irrelevant that we already have inventory in the A4 Bin code).

As there is no inventory in any other Bin Code you are presented with the “Nothing to Handle” message when you attempt to create the pick.

The fix here is to either move Inventory from the A4 Bin Code to another Bin Code or alternatively change the Bin Code on the “Warehouse Shipment”.

Below I’ve changed the Bin Code on the “Warehouse Shipment” and when I now create the pick this works fine.

If we look at the “Warehouse Pick” you can see the system is now suggesting to “Take” from Bin Code A4 , which has an inventory of 25, and “Place” into Bin Code “A1”. (as “A1” is now the “Ship” bin on the Warehouse Shipment)

In this scenario you can see that in essence the wrong Bin Code had been used on the “Warehouse Shipment”. To prevent this we recommend adding a default “Shipment Bin Code” on the location. As per below I’ve now selected “A1” as the default “Shipment Bin Code”. Therefore, going forwards, this will be the Bin Code that will be used when we create the “Warehouse Shipment” from this location.

As this hadn’t been specified originally the system had chosen “A4” as the Bin Code on the shipment thus creating the problems and confusion.

Thanks for reading!