Cost adjustment in Microsoft Dynamics 365 Business Central

What is cost adjustment in Business Central?

Cost adjustment in Business Central is a process that is designed to make sure that the correct cost is assigned to every inventory transaction you do in your system. As Microsoft states in it’s own documentation :”The main purpose of cost adjustment is to forward cost changes from cost sources to cost recipients, according to an item’s costing method, to provide correct inventory valuation”.

But how do we actually achieve this in Business Central and what impact does the different cost adjustment options have on our system?

In general there are two ways of doing cost adjustment:

  • Automatic cost adjustment
  • Manual cost adjustment

Automatic cost adjustment

Automatic cost adjustment is considered to be best practice and should be the preferred method for your Business Central implementation.

Automatic cost adjustment can be activated from the inventory setup

Select a value for the Automatic Cost Adjustment field to determine how frequently the cost adjustment is run.

Let us go through the different options we have in this field.


It is considered best practice to have the value set to “always” – this means that cost adjustment will happen for every inventory transaction that is posted in the system. This gives you the best accuracy for your cost prices but does also have the greatest impact on the performance of the system. In theory it should not be necessary to run any additional manual cost adjustment as long as you have the automatic cost adjustment set to “Always”. It is however considered good practice to run manually adjustments regularly and even before you do inventory reconciliation against the general ledger and before you do item revaluation. Running manually adjustments regularly will also cover situations where someone might have changed the setting to something other than “always” for shorter or longer periods of time.


This setting means that no automatic cost adjustment will run in your system. This gives you the least accuracy for the unit cost showing in your system. It also means that you must plan to run the manual cost adjustment as often as possible during off peak hours.

The other options are Day, Week, Month, Quarter and Year.

The shorter the time period is set the less impact it will have on your system performance. But that also means less accuracy for your unit cost prices. When you chose one of these options it basically tells Business Central to adjust all transactions that occur with in the selected time span based on the systems work date.

Manual cost adjustment

The alternative to run automatic cost adjustment is the do it manually. Even though it is not considered best practice to have this manual process there can be situations where overall considerations makes that the better option.

As I mentioned earlier i recommend you to run the manual cost adjustment regularly even in cases where you have set it up to always run automatically. That is just to be on the safe side. I would also recommend that you run the manual process before you do physical inventory adjustments or item revaluation.

The manual cost adjustment is run through the batch job called “Adjust Cost – Item Entries“. This batch job gives you the option to run it for all items or for a selection of items based on your filter settings. I would recommend that you always run it for all items. The situations where i set filters in this batch job is if i want to correct the cost for a specific item.

The batch job have an option “Post to G/L”. I recommend that you always keep that option activated to make sure that the value of your inventory is in sync with that is posted to your general ledgers. If you deactivate the option you will get a warning from Business Central.
This warning tells you that the Item ledgers and your General ledgers no longer will be in sync after this process is finished. And that you will have to run the “Post Inventory Cost to G/L” report to get back in sync.

Not being in sync between the General Ledgers and the Item Ledgers is a common reason for discrepancies between the inventory value shown in different parts of Business Central. So the first step you should do to reconcile such an issues is to make sure your cost is adjusted and posted before you proceed.

In many cases it can be smart to schedule this batch job and you can do that by clicking on the “Schedule” button on the request page.

In the Schedule a Report dialog you decide when and how often you want this batch job to run. In this example i have configured the batch job to run every Sunday at 20:00 and to do so until then end of 2029. After completing this scheduling process the job will appear in the Job Queue in Business Central and you can monitor it from there.

The item costing and inventory value processes are essential processes for all business that is running Microsoft Dynamics 365 Business Central doing item sales in any form. Cost adjustment being one of the important pieces of the puzzle.

3 thoughts on “Cost adjustment in Microsoft Dynamics 365 Business Central”

  1. Pingback: Item revaluation in Microsoft Dynamics 365 Business Central – Business Central explained

Leave a Reply