One of the most common issues our clients run into is this error (or a variation of it) while posting transactions.

Dynamics NAV Dimension Error
An example of a Dynamics NAV Dimension Error.

This error (with numerous variations) means that the transaction you are doing does not comply with the Dimension rules setup in your system. There can be a few different causes and therefore different solutions, but there is an easy way to interpret the message and find the correct solve.

What are Dimensions?

Firstly it is important to understand the usage of Dimensions. Dimensions are user-defined reporting categories in Dynamics 365 Business Central that drive finance reporting.

A common example may be for a Business Central user to create a Dimension called “Product Group” to allow for reporting based on how the Items they sell are classified. The user then defines Dimension Values for the Dimension. In the Product Group example these may be Chairs, Desks, Cupboards etc.

It is important to note that you may define as many Dimensions as you need, and each one can have as many Dimension Values as required.

Understanding Dimension Controls

Once Dimensions and their Values are defined, you need to ensure that they are used correctly on transactions so that all your reports are accurate & reconcilable to the total figures. NAV has three kinds of Dimension Controls

  • Code Mandatory: This means a Dimension Value for the given Dimension must be present, and it doesn’t matter which one.
  • Same Code: A specific Dimension Value for the given Dimension must be used.
  • No Code: You are not allowed to specify a Dimension Value for the given Dimension.

There are also various places Dimension controls may be set. The most common areas that may be have controls are:

  • G/L Account: You may set up that you cannot post to one or more accounts without a particular dimension. A common example here may be that you make a “Product Group” dimension mandatory on your Sales account to ensure you can always report Sales by Product Group.
  • Customer: If you have a dimension that is customer based (e.g. Customer Group) you may set that a particular Customer must always have a particular value (e.g. Supermarket). Therefore any transaction you post for that Customer must have Customer Group of Supermarket.
  • Item: In the Product Group example you may specify that a given Item must always use a particular Dimension & Value (e.g. an Item must always be tagged with Product Group of Chair).

Common Dimension issues you may run into

Below are some examples of transactions and some error examples you might run into when working with dimensions:

Dimension on Transactions

All transactions in NAV will then need to comply with whatever controls have been put in place. If you have a control on a G/L Account, any transaction that will end up in that account must satisfy the controls. For example if the Sales account requires a Product Group, any transaction that posts there (be it a Sales Invoice, a Sales Cr/Adj Note or a General Journal) must have a Product Group on it.

When transacting in NAV, the Dimension Values attached to the transaction will default from the data items used on the Transaction. When you select a Customer on a Sales Document, any default dimensions stored on that Customer will be copied to the Document. When you select an Item on a Sales Line, any default dimensions stored on the Item will be copied to the Sales Line.

Dimension Error Messages

While at first they may seem daunting, NAV dimension errors are structured in a way to help you pinpoint the issue. The error message will always contain:

  • The Dimension (e.g. Product Group) that is causing the problem
  • Whether the problem is that an invalid Value is being used (i.e. there is a “Same Code” restriction which is violated, or there is no Value where one is expected (i.e. there is a “Code Mandatory” restriction and no Dimension Value
  • The source of the control, e.g. A G/L Account, Customer or Item

G/L Account Code Mandatory

G/L Account Code Mandatory Error Message
G/L Account Code Mandatory Error Message

In this error, G/L Account 6110 has the AREA dimension as Code Mandatory. The transaction in question is trying to post to G/L Account 6110 without a Dimension Value for AREA. The resolution is to firstly add an AREA Dimension Value to the transaction to allow the transaction to post. Once this is done it is important to check why this was missing. If this Dimension was supposed to default from the Customer, you may need to add an AREA dimension Value to the Customer Card.

Customer with Same Code Dimension

Customer with Same Code Dimension Error Message
Customer with Same Code Dimension Error Message

In this error, Customer 10000 has a default dimension for the AREA dimension of 30 set to “Same Code”. The transaction in question is trying to post with a different AREA to 30. The resolution is to either change the Customer’s default AREA value, or change the AREA on the transaction depending upon which is the correct value.