Inventory Batch Posting in Dynamics NAV and BC

Inventory Batch Posting in Dynamics NAV and BC

Many people approach me with questions about the Inventory Batch Posting in Microsoft Dynamics NAV 2009 (or 4.0 or 5.0 for that matter). It’s not only customers, but also consultants, and there seem to be some confusion about the subject. So here’s how I usually present the matter on my courses and for my customers:

Firstly we need to address how a sale or purchase is posted in Navision. For that we need some flyers and a little explanation. To avoid confusion I omit everything else than the raw item posting (VAT, discounts etc.)

  1. When an Item is purchased one posting is made:
    1. Credit Vendor
    2. Debit Purchase
  2. Then One Item Ledger entry is made type Purchase. Well it’s actually the corresponding Value Entry that is basis for the calculation.

Then when the Adjust Cost batch and Post inventory cost to G/L is run:

  1. The Purchase posting is reversed through the Adjustment Account and the amount is posted on the Inventory account instead.

Likewise in with the sale:

  1. On posting the sale, the sales posting is made:
    1. Credit Sale
    2. Debit Customer
  2. Then One Item Ledger entry is made type Sale. Again it’s the corresponding Value Entry that is basis for the calculation.

Then when the Adjust Cost batch and Post inventory cost to G/L is run. The Adjust Cost Batch will look up the original price, which was used when the Item was put on inventory. The Post Inventory to G/L will post this:

  1. The original Cost will be removed from the Inventory and put onto the COGS (Cost Of Goods Sold) Account.

Many people see this as one operation, but it’s not. This is three operations:

  • Posting of the Purchase/Sale Document
  • Adjust Cost Batch
  • Post Inventory to G/L

And these operations can be separated and many do, mainly because of performance issues.

In the Inventory Setup we have 2 setup fields that determine this:

The Automatic Posting to G/L will determine if the Post Inventory to G/L should be run automatically on posting items to an item account. Even if this field is checked it’s still necessary to run the Adjust Cost – Item Entries Batch. However if the Automatic Cost Adjustment is set up this can help.

The Automatic Cost Adjustment Fields has these options.

The On-line Help shows the following table:

Option Behavior
Never Costs are not adjusted when posting
Day Costs are adjusted if posting occurs within one day from the work date
Week Costs are adjusted if posting occurs within one week from the work date
Month Costs are adjusted if posting occurs within one month from the work date
Quarter Costs are adjusted if posting occurs within one quarter from the work date
Year Costs are adjusted if posting occurs within one year from the work date
Always Costs are always adjusted when posting, irrespective of the posting date

This basically means that you can adjust the accuracy of your inventory. This means, that if you set up Days, you get the least accurate inventory because it will only adjust entries that are made one day from the Work date. And in order to get an accurate inventory you will need to run the Adjust Cost – Item Entries Batch before reconciling the inventory with the G/L.

Does this mean that if I set Automatic Cost Adjustment to always, then I will never have to run the Adjust Cost – Item Entries Batch again? No, if you use the Manufacturing module it’s necessary to run the Adjust Cost – Item Entries Batch every month. And actually I would always run it before closing the books on an audited fiscal period.

Ok – So far so good – But WHAT Posting Date will be used for these postings?

Well I just set up that it should ALWAYS Adjust my Cost and Post Inventory to G/L. This means that it will try to post the adjustment ON THE SAME DATE AS THE ORIGINAL TRANSACTION.

Hmmmmm

Imagine that we received an Item June 15th and we closed the books on June 30th.

Then on July 25th we received the invoice with the correct prices causing an adjustment to be made. However we are not very interested in changing our closed fiscal period.

How do we control this?

Well the problem implicates two different issues:

  1. What is the earliest Posting Date we can accept for new fiscal transactions?
  2. Which periods are open for users to post transactions in general and specific for each user?

This is controlled using three different setup tools. And not all of these are the obvious choices.

The first setup is the General Ledger Setup:

The fields “Allow Posting From” and “Allow Posting To” are the fields limiting the users to the period they are allowed to post in, right? Well almost. Firstly if you have setup another period in the User Setup, this will take precedence over the General Ledger Setup.

Secondly the “Allow Posting From” in the General Ledger Setup has an undocumented function, at least according to the on-line help. The “Allow Posting From” is also used by the Adjust Cost to define earliest acceptable posting date for the Post Inventory Cost to G/L batch.

Thirdly there’s one more setup that will interfere with our Inventory batch posting; The Inventory Periods. Ever wandered what they were?

If you setup an Inventory Period AND CLOSE IT, it will help defining the earliest possible date.

Ok so let’s see:

Here the earliest Posting Date will be July 1st for the Adjust cost and Post Inventory cost to G/L.

Users can in general post from July 1st to August 31st

Individual users can post from May 1st to August 31st

The Inventory period is open and will not influence anything

Here the earliest Posting Date will be August 1st for the Adjust cost and Post Inventory cost to G/L.

Users can in general post from July 1st to August 31st

Individual users can post from May 1st to August 31st

The Inventory period is closed and will therefor define the earliest possible Posting Date.

Here the earliest Posting Date will be May 1st for the Adjust cost and Post Inventory cost to G/L.

Users can in general post from May 1st to August 31st

Individual users can post from July 1st to August 31st

The Inventory period is open and will not influence anything

THIS will give endless problems and error messages to the users. Not to mention problems with having to open closed periods in order to run the Post Inventory to G/L.

I Hope this has shed some light on the issue.

Leave a Reply

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