Is Inventory Periods Needed to Control Inventory Posting?


Over the years, I’ve written a lot of articles about inventory and inventory costing. I realize there are some tools that I do not mention that are in the inventory module. This is not because I don’t know about them, it’s because I don’t think companies need them.

Everyone is super busy these days, the last thing people want to do is administrative work. I’m an minimalist when I help our clients setup Dynamics 365 Business Central (Formerly Dynamics NAV).

I believe we should take the simplest route in setup and configuration to get the company up and running. Why? Because the simplest route is usually the easiest route to maintain for the customer ON THEIR OWN going forward.

It’s easy for us consultants, who does this for a living, to recommend all of these cool functions that controls this and that. But what happens when the customer is live and actually using the system in their day to day operation? In addition to their daily workload, now they have to click some buttons in order to properly close?

The new ERP system is supposed to save us steps, not increase them. We, as consultants and developers, often forgets this important goal.

Remembering details to close out the period in the system should be, in my opinion, be kept at a minimum (none if possible).

Making the system more complicated to maintain is not good for anyone.

Let me get into why I’m picking on Inventory Periods…

Why Inventory Periods?

The purpose of the inventory period is to enforce the rule that no item transaction can be posted before the date on the inventory period that is closed.

In this example, you if the check mark for the field Closed is checked, you will not be able to post any transactions prior to 9/30/18 in Dynamics 365 Business Central:

Sounds good right? I mean why would you want people to be able to back date inventory?

Why Not Inventory Periods?

The reason why I don’t advocate using this function is because, as a financial controller or accounting manager, you’re job is already to ensure people do not back date to the prior periods that have been closed.

There are 2 ways to control this in Dynamics 365 Business Central

1. Allow Posting From on the General Ledger Setup

2. Allow Posting From on the User Setup

Both will prevent people from posting into prior periods. IN ADDITION, these functions extends out to other parts of the system that the users should not be back dating into, not just specific to inventory.

You can control who can/cannot post into prior periods with the Allow Posting From on the User Setup screen.

Why do an additional step of closing inventory periods when you already have premade functions that controls when the user can/cannot post into?

But Why Are You Really Not Using Inventory Periods?

Simple, error messages.

Quite simply, error messages freaks people out. I hate them and I suspect you hate them too.

To be able to close out an inventory period, you have to ensure the following:

  1. Run adjust cost, which what you should be doing already. (We typically set this up in the Job Queue so it runs automatically)
  2. Make sure there are no negative inventory. Technically, this shouldn’t happen, but it does.

Negative inventory is something the financial controller would’ve caught when they print their inventory reports for the management or auditors.

All of the restrictions that the Inventory Periods tries to manage is something the accounting manager is already doing in their standard operating procedure.

  • You have the Allow Posting From dates to control when people can back date to.
  • You should be running adjust cost already or it should be setup on the Job Queue to be ran automatically.

    Side Note:
    If users don’t remember to run Adjust Cost, I don’t see how they can remember to close the inventory period.
  • You should be printing inventory reports for management and would’ve caught and resolved any negative inventory problems. If your company does not care about negative inventory (some companies don’t), I doubt you’ll ever use the Inventory Period function anyway.


I do believe Inventory Periods have their uses in certain situations. I just haven’t been convinced yet.

More often than not, I walk into companies with elaborate setups, with Inventory Periods being one of them, that has not been used since the first 1 or 2 periods since the company went live.

Most companies using Dynamics 365 Business Central don’t even know they’re supposed to run the adjust cost process. Adding additional step of inventory periods will not help the situation.

Microsoft likes to add functions to keep track of functions. In my opinion, this makes the system and its maintenance more complicated, which nobody wants. Fortunately, this function is not mandatory.

Keep it simple! Don’t make your life hard!

11 thoughts on “Is Inventory Periods Needed to Control Inventory Posting?

  1. Patrik Nordblad says:

    I totally agree to keep the setup as simple as possible for the users. But Inventory Periods were actually introduced to solve rounding issues. If you buy 3 pcs in Jnauary for 10 USD, it will be fine when you sell the first and second one. They will have a cost at 3,33. But when you sell or consume the last one there will be a rounding issue. The system then will change the original transaction in January to 9,99. Without Inventory Periods you will get an error message saying posting date is not within your permitted range which is confusing for the user. Especially in manufacturing companies it can be difficult to pin point the real issue. Further I normally set the Automatic Cost Adjustment = Always so you don´t have to run the adjust cost on a job queue. However this field is not available in the Swedish Business Central? Perhaps it´s just missing temporarily. Do you have that field available in the IS Business Central?
    Best regards
    Patrik Nordblad

  2. Alex Chow says:

    I believe the rounding issue you described was a Microsoft bug that’s been fixed a while back (I believe version 5.x?).

    The Allow Posting From will control the Posting date range error when adjust cost is ran.

    Setting the Automatic Cost Adjustment field to Always will severely degrade the performance when the users does posting. This is a huge problem when you’re in a manufacturing or distribution environment where there are more than 10,000+ orders (production and sales orders) that are being posted daily.

    From my experience, even if you set this field to Always, you still need to run adjust cost.

  3. Sebastjan says:

    You can prevent negative inventory by selecting the checkbox on the Purchase & Payables setup… additionally if you run adjust cost with the job queue make sure the user under which the job is ran has the allow posting from and to dates set correctly…

  4. Kelly Andersen says:

    I read on another forum that the NAV 2017 version does not prevent prior period entries from posting when using the inventory period close function. I have also found this to be the case in a test database. Does anyone have any comments on this topic?

  5. Steve Pena says:

    Hi Alex,

    Nice post. So if I’m understanding correctly, if I have my Allow Posting from to 06/01/19 and my Allow Posting to set to 06/30/19, there will not be any adjustments to inventory value or GL totals? If so, then I don’t see why anyone would want to close inventory periods, unless they aren’t advancing the Allow to and from dates after the last day of the month.



  6. Pete Sunderland says:

    We’re seeing the same behaviour as @KellyAndersen. We set up Inventory Periods during our original NAV2016 roll-out, but we’re currently planning to simply delete them to prevent prior-period-posting.
    Does anyone have any experience of deleting inventory periods and the possible impact on finance and stock control processes?

  7. Alex Chow says:

    There will be no impact. Make sure you properly “close” the period by changing the Allow Posting From on the General Ledger Setup and the User Setup.

  8. Kok Soon says:

    Hi Alex Chow,
    Thanks for answering my doubt after digging through internet today. Still being consider fresh on implementing Inventory Module in BC for not more than 3 years, I’m still looking hard fact to convince myself why there is no need to setup Inventory Period, until I read your article. Many thanks!
    Btw, I still cannot figure out why we still need to manually “Run Adjust Cost” although the Setting the Automatic Cost Adjustment field has set to “Always”?

  9. Alex Chow says:

    Thank you for reading!

    In the older version of NAV, there were always some times that were missed when you set the Automatic Cost Adjustment to Always. Even now with Business Central, we still run into some items where costs were not posted to G/L with assembly BOMs.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.