Hands on - How to enable budget control on projects in Dynamics AX 2012?

In Dynamics AX 2009, there was no out of the box support for budget control. That has changed in Dynamics AX 2012. We now have a ledger budget control framework which is nicely integrated with the other new frameworks in Dynamics AX 2012.

The Project management and accounting module has built in budget control support. We just need to configure the budget parameters, allocate and approve an amount and the framework takes care of the rest.

In this post, I'll walk you through how to activate budget control on a project.


  • Open the projects list page by going to Project management & accounting -> All projects


  • Create a new project by clicking the new button and enter the following values as seen in the image.



  • We will have to enable budget control on the project. To do this, expand the Budget and forecast tab. Select the Use budget control check box, set Budget overrun default field to Disallow overruns.


  • Set the project stage to In process. To do this, select In process from the Project stage menu item.


  • Now the project is set for budget controlling. Let us allocate some budget for the project. Click on the Project budget button in the Plan tab on the project details form.


  • Create a cost budget line for Category = Design and original budget = 1000

  • Create a revenue budget line for Category = Design and original budget = 1000

  • Notice that the workflow is enabled as soon as you save the line.


  • Submit the workflow and process it by running the Tutorial_WorkflowProcessor form. (Note: Normally you should setup a batch job to run the SysWorkflowMessageQueueManager class to process workflows on your machine)

  • Now open the project budget form again by clicking the Project budget button in the Plan tab on the project details form.

  • Approve the budget by pressing the approve button and process the workflow again by running the the Tutorial_WorkflowProcessor form.


  • Now our project has been allocated a budget and it has been approved.

  • Now let us create some transactions against the project.

  • Goto Project management & accounting -> Journals -> Hour

  • Create a new hour journal and a line with the following values,


  • The cost amount will be 45 * 10 = 450 and the sales amount will be 100 * 10 = 1000

  • Post the journal.

  • Now let us go back and see how this transaction has affected the budget for our project.

  • Open the budget balances form by clicking the Project budget balances button on the Control tab on the Project details form.

  • As you can see, the cost budget has been reduced by 450 and what is remaining is just a balance of 550. The revenue budget has completely exhausted.


  • Now post an hour journal again as posted earlier for an hour quantity of 10. Post the journal. You will receive the following error message.



As you can see from the highlighted error, the transaction being posted will cause the revenue budget to be exceeded by 1000. If you recall from the budget balance form, the revenue budget was completely exhausted and hence there is no approved budget for the revenue transaction. Hence any revenue posting will cause the budget to go overboard. Since our budget setting is disallow overruns, the posting is cancelled.

If you want to get the transaction posted, you will have to revise the budget and increase the budget amount. Ofcourse, the revision will have to be submitted and approved again.

As you can see, enabling budget control on projects are very easy and the level of control they offer is also very detailed.

At the budget control level, the Budget overrun default field takes another value Warn of overruns. This will allow budgets to go overboard but a warning will be shown to the user. With this setting, you can have negative budget balances.

I hope this post was helpful. Please comment or mail me if you have any questions on project budget control and I'll be more than happy to answer them.

Thats all for today but do check back soon. Have a great weekend.

Comments

Popular posts from this blog

How to add empty ranges in query

Get selected records in Dynamics AX 2012

How to refer to form controls in code without setting the AutoDeclaration property in Dynamics AX?