After analyzing how to check available budget funds for fixed assets in AX2012, let’s now have a look at the very same functionality in the new Dynamics AX7.
For this comparison I setup the same fixed asset posting profile and account structure as in AX2012. The budget control configuration was also setup as before. That is, budget control is executed at the main account level only and …
… a budget control rule for my fixed asset accounts that start with “180” is setup.
Record budget amounts for the fixed assets
With this setup in place I created a fixed asset, recorded and transferred the fixed asset budget amount to the budgeting module. The result of this transfer can be identified in the next screen-print.
What can be identified from the previous screen-print is the green check mark in the budgeting line. Different from the “old” Dynamics AX2012 this feature seems to come out of the box in AX7.
Post vendor invoice
With the budgeted amount registered and activated, let’s now have a look at what happens if a vendor invoice for more than the budgeted amount of 100000 EUR is recorded. The result of this posting test can be identified in the next screen-print.
As one would expect, Dynamics AX does prevent users from recording an invoice that exceeds the budgeted amount. If the invoice amount is reduced below the budgeted one, Dynamics AX posts the vendor invoice as usual.
Different from the “old” Dynamics AX2012, the “new” Dynamics AX7 does not require a code modification to check available budget amounts for balance sheet (fixed asset) accounts. Irrespective of this improved functionality, users still need to ensure that all balance sheet accounts that shall be checked against available budget funds are included in the single account structure that is setup in the budget control configuration form.
Within this and the following post I would like to show how one can setup budget control for fixed assets in AX2012 and AX7. Let’s start with the setup and configuration in AX2012 first by referring to the following example.
The first step in my setup process is specifying the main account that is used for posting fixed asset acquisitions in the fixed asset posting profile form. Please note that the main account setup here (account no. 180100) is a balance sheet account.
Because I am aware that the budget control configuration form does only allow setting up a single account structure, I setup my ledger with only one account structure that includes all of my balance sheet and income statement accounts.
My next step was selecting this account structure in the budget control configuration form and specifying that budget control shall be executed at the main account level only.
To let Dynamics AX check and ensure that I do not spent more money than the amount budgeted, I setup the following budget control rule, which defines that my main (balance sheet) accounts that start with “180” shall be subject to budget control.
Record budget amounts for the fixed assets
After setting up and activating budget control, I recorded fixed asset budgets for the different fixed assets that I setup for the years 2020 to 2024. For details, please see the next screen-print.
After transferring those budget values to the budgeting module, I double-checked the amounts transferred and updated the budget balances.
A first thing that I noticed in the budget register entry form was that the first column denominated “budget check results” did not include a green check mark for my transferred budget values.
As I wanted to compare this behavior with the one that can be identified for ordinary expense related budgets, I modified my budget control configuration and setup a second budget control rule for my travel expense accounts. Once that was done, I recorded a budget for one of those travel expense accounts and noticed that Dynamics AX automatically shows me a green check mark when entering the budget amount. Please see the next screen-print.
Post vendor invoice
Irrespective of the issue with the green check mark and after having done all the necessary setup, I finally tried recording and posting a vendor invoice. Please note that the invoice amount that I entered exceeds the budgeted amount. Details of my test are included in the next screen-print.
What you can identify from the screen-print above is that Dynamics AX allowed me posting the invoice for my fixed asset even though the invoice exceeds the budgeted amount by 25000 EUR.
This was not quite what I expected. For that reason, I changed the budget control configuration several times in order to execute the budget control at different levels and with different main account-financial dimension combinations. Yet, irrespective of the budget control configuration that I used, I was always able to post the vendor invoice even though the posted amount exceeded the budgeted one.
Solution: Code adjustment
After this disappointing result, I started having a look at the program code that is responsible for executing the budget control check and noticed that standard Dynamics AX runs the budget control check only for expense, profit&loss and total accounts. As balance sheet accounts – such as the one that I setup for my fixed asset acquisitions – are by default excluded from budget control, I slightly modified the code in the following two methods:
Second test run
Once the code adjustments were implemented, I setup a new fixed asset and entered a budget for it. The next screen-print shows you the process of entering the budget amount for the newly created fixed asset. The main difference that you can identify in the screen-print below compared to the earlier budget registration is the green check mark in the budget check column.
Please note that the previously recorded budgets for my „old“ fixed assets are not influenced by the code change, which induced me setting up a new fixed asset and fixed asset budget for the following tests.
With the new setup in place I tried once again recording a vendor invoice for the acquisition of my fixed asset. Interestingly and different from before, Dynamics AX did now prevent me from posting the invoice as the total invoice amount exceeded the budget amount. Please see the next screen-print.
After reducing my total invoice amount to one below the total budgeted amount I was finally able to get the invoice posted.
By doing some little code modifications you can let Dynamics AX check available budgets for balance sheet accounts. An important prerequisite for this budget control check is that the balance sheet accounts – for which you want to have the budget control enabled – are included in the account structure that is setup in the budget configuration form. In other words, if you want to have also balance sheet accounts checked for available budget funds, you might have to reconsider the setup of your account structures e.g. by including all accounts into a single account structure and by making use of advanced account structure rules.
Please do also note that additional code modifications are necessary in the budget control inquiry forms to get the balance sheet accounts included for subsequent comparisons.
Within the next post I will take a look at the same process and differences in the new Dynamics AX7. Till then.
Over the last months I noticed many people asking how to budget on total accounts and how budget control needs to be setup for those accounts. Within this post I aim to answer this question by recording budget amounts on a total ledger account (e.g. for travel expense). Budget control should then verify whether the amounts recorded for all the individual ledger accounts that make up the total ledger account (e.g. the amounts posted for hotels, taxi, flights, etc.) exceed the total amount budgeted.
Let’s have a look at some business scenarios that illustrate how such budgeting scenarios can be implemented in Dynamics AX.
Scenario 1: Budgeting on total ledger accounts
For the implementation of the first scenario a total account No. 601510 for travel expense is setup that comprises all other travel expense accounts No. 601500 to 601509. For details, please see the following screen-print.
Thereafter, an amount of 50000 EUR is budgeted on the total account No. 601510 for the year 2018.
(Please note that I recorded the budget amount for this illustration at the main account level only. Further below, I will extend this scenario by budgeting on more than one single financial dimension)
In order to let Dynamics AX check whether or not sufficient budget funds are available when recording travel expense related transactions, I setup the following budget control rule which specifies that all ledger accounts that start with 6015 are subject to budget control. (Please note that these are the travel expense accounts that I showed at the beginning of this post).
After setting up this budget control rule, I activated the budget control configuration and tried posting a transaction for 5 EUR on ledger account 601504, which belongs to the group of my travel expense accounts. Interestingly, Dynamics AX prevents me from recording this single transaction – see the next screen-print – even though the total amount recorded is far below the total amount budgeted.
The underlying reason for this system behavior is that no budget has been recorded for ledger account No. 601504 and that the only thing that has been specified in the budget control configuration is that all accounts that start with 6015 are subject to budget control.
After this initial test I changed my budget control configuration as follows:
Change 1: I setup a user group (“IN”) that includes my Dynamics AX user and did not allow this user to process transactions that exceed the total amount budgeted. At the same time, I specified that Dynamics AX should execute a second budget control check at the budget group level if the first budget check (at the budget control rule level) fails.
Change 2: The second change that I made in the budget control configuration was setting up a budget group (“TR”) that includes all my travel expense accounts including the total account (No. 601510) for which I recorded my budget.
This second setup change determines that Dynamics AX executes the secondary budget group check on the total amount that has been budgeted for all ledger accounts starting with 6015.
With this setup in place I tried posting the very same transaction for 5 EUR as illustrated before. The outcome of this second test is illustrated in the next screen-print.
As you can identify from the previous screen-print, Dynamics AX gives me a warning message which says that the amount recorded (5 EUR) exceeds the amount budgeted for the ledger account used (No. 601504). That is completely right, as no budget has been recorded for this account.
Yet, at the same time, Dynamics AX allows me posting the journal and says that the journal is ok. Now, this system behavior is caused by the setup of the budget group rule that checks the amount recorded (5 EUR) against the total amount budgeted for all travel expense accounts (50000 EUR) including the total account.
Scenario 2: Budgeting on total ledger accounts & financial dimensions (1)
The example used above for illustrating the first business scenario records budget amounts only at the ledger account level. Personally I felt that this example lacks a bit practical relevance as most companies typically budget on combinations of ledger accounts and financial dimensions such as cost centers, departments and alike.
For that reason I extended my budget control scenario by budgeting at the main accounts and cost center level. The next screen-print shows you my second budgeting example that still records the budget on the total ledger account (No. 601510) but does now split up this total amount by cost centers.
Please note that the total amount budgeted is now 60000 EUR (20000 EUR + 25000 EUR + 15000 EUR).
As I do not only want to have my main accounts but also my financial dimensions checked for available budget funds, I included all cost centers in the budget control rule. (Please see the next screen-print).
This setup specifies that Dynamics AX shall check all my travel expense accounts and cost centers whether sufficient budget funds are available when recording transaction.
Please note that I have not changed the budget group setup. In other words, my budget control configuration is still setup in a way that a second budget control check is executed once the amounts recorded exceed the ones budgeted on the individual ledger account-cost center combinations.
After making this modification in the budget control configuration I recorded a total amount of 30000 EUR for one of the travel expense accounts at cost center “007”. (Please note that only 25000 EUR have been budgeted for this cost center).
As the total amount recorded exceeds the amount budgeted for the cost center, Dynamics AX gives me a warning message but still allows me posting this journal. The underlying reason for this behavior is the budget group control setup, which compares the amount recorded (30000 EUR) to the total amount budgeted for all travel expense accounts that start with 6015 (60000 EUR).
Now let’s have a look what happens if the amount recorded (90000 EUR) exceeds the total amount budgeted for all my travel expense accounts (60000 EUR).
As you can identify from the previous screen-print, Dynamics AX does now prevent me from posting this transaction as insufficient budget funds are available.
Scenario 3: Budgeting on total ledger accounts & financial dimensions (2)
In this third scenario I changed my budget control setup once again to illustrate how budget control can be executed at the financial dimension level. For this illustration I recorded the following six budget register entries for my cost centers 007 and 008. Please see the next screen-print.
As before, I setup my budget control configuration in a way that all combinations of ledger accounts and financial dimensions are checked against the amounts budgeted (highlighted in yellow in the next screen-print).
In addition, a budget group rule was setup that allows recording transaction as long as the total amount recorded is less than the total amount budgeted for the financial dimension (highlighted in blue in the next screen-print).
Against the background of this setup, Dynamics AX allows recording transactions that exceed the amount budgeted for a specific ledger account-financial dimension combination.
The next screen-print illustrates this behavior by showing that Dynamics AX allows recording a total amount of 75000 EUR even though this amount exceeds the one that has been budgeted for this ledger account-financial dimension combination (20000 EUR). That is because the budget group rule allows recording transactions up to the total amount budgeted for the financial dimension; in my example up to 100000 EUR.
Once the transaction recorded exceeds the total amount budgeted for the financial dimension, Dynamics AX prevents me from processing this transaction. This behavior is illustrated in the next screen-print which shows that a transaction for a total amount of 101000 EUR cannot be recorded as the total amount budgeted for the cost center is less than the amount recorded.
Within this post I showed you some examples that illustrate how the budget control configuration can be setup to check transactions for sufficient budget funds available even though the budget funds have been recorded for different ledger account-financial dimension combinations.
The last hint that I would like to provide here is the fact that Dynamics AX does currently support budgeting for total ledger accounts but not for total financial dimensions. If you try registering a budget for a total financial dimension – such as department 100 in my example illustrated in the next screen-print – Dynamics AX will prevent you from updating and completing this budget register entry.