top of page
  • Sebastian Sieber

#14 - D365 Project Operations Advent Calendar: Budget Planning and Forecasting

Updated: Dec 17, 2023

Welcome to day number 14 of the Project Operations Advent Calendar 🎅🏼 

We're starting the final countdown, only a few days left in this series, and still so much to show!

Advent Calendar door number 14

Project Budgeting and Forecasting

The Project budget represents a snapshot of the estimated effort calculation across the project plan. Prices and values for Bookable Resources, Expenses and Materials will stay untouched even if the live values will change.

The project budget is used to compare the at-one-point planned estimation against all the actual costs that arise during project execution. Either on cost or on quantity level, based on task level. In case the initial plan will change - trust me. it will. for sure - the project manager can create multiple versions of the project budget.

This all ships with approval and revision handling, Periods to structure budget timing, and a budget contingency to define buffers.

How to create a new Budget plan?

On the Project ribbon, you can find a new Budget group displayed. From here it's possible to select between a manual process and an automated import based on the estimates from the project plan.

Create a new Budget in Project Operations

Because we set up our project plan and imported this estimation already to the sales side for the quotation in our previous episodes, we will choose the import option once more.

On importing there will be options to set a contingency based on the estimate type - Time, Expense, and Material. The value is provided in percentage and can be chosen individually.

A second option, defined as Time source, declares where the data should be based - the user can choose between Resource assignments and Project Team Members.

In our case, we choose Resource assignments because we have a detailed Task plan in place.

Selecting the import button will start the creation of the Budget and Budget Lines.

Import Estimates as Budget

The creation process runs asynchronous and will notify when finished. Usually, that takes no longer than 1-2 minutes.

In-App Notification when Budget got created

When the import is done, the Budget tab with the first version of the Project Budget will be available. The Project Budget has a Status as well, after creation, it is in draft and can be still edited.

Budget Status Overview after creation

Importing changes or adding custom Project Budget Lines is currently still possible. The Budget button in the ribbon has now new options for reimporting the estimates to track changes or even delete the Budget.

Custom Project Budget Lines can be added by the button in the grid - this will open the quick create form and allow the Project Manager to extend existing data. This is also the method if the Project Manager does not import the estimates at all. The system supports a fully custom Budget creation.

In my eyes it makes sense to use the estimates import as a base. Especially with contingency - the real planned values are available and these should be the base for comparison.

Of course, it's a valid approach to extend the Budget - some tasks are may not as detailed as planned or the Project Manager is already aware there is more to come.

Update Project Budget via reimport or create lines manually

In the example case here, we now have Project Budget Lines per Project Task and Resource. Scrolling further to the right, the grid will show all the relevant budget indicators.

Quantity, here in unit hours, provides us the value based on the estimation.

Prices refer to the cost price list linked in the Contracting Unit of the Project. Unit Price multiplied by Quantity results in the Budget Amount. With the Budget Contingency a percentage-based buffer is added on top to form the final, available Budget for each Project Task.

Budget contingency

As already mentioned, as long as the Budget is in Draft, changes and adding additional lines are possible.

From a business process perspective, the Project Manager wants to review the Budget and define all required lines before submitting the Budget via the Budget button in the ribbon menu.

Similar to submitting time entry records for approval, this action will prevent further changes to the budget records. The Project Budget will move in the state In Review.

Submitted Project Budget

At this point in time, the out-of-the-box system does not provide any additional process or approval via certain managers/users in the system. The Approval option is stored in the Budget ribbon button, right next to the now available Reject button.

Approve / Reject

In case there are some new changes or incorrect values it's possible to reject the budget suggestion and move back to draft.

With Approval, the Budget will be enabled for the tracking mode. In the tracking mode, Actuals will be reported against the Budget and the Forecast will be available.

Forecasted Amount and Variance

Here is an example of a Project later in the process with already booked Actuals. The Actual Amount will track the disposable Actuals. The Forecast Amount stays editable at this stage and can be adjusted at any time.

In the example our Forecast is slightly below our estimated Budget Amount with Contingency, therefore the Amount Variance looks positive - green flags at this point.

In the beginning, we mentioned that prices and efforts stay untouched and the Budget acts like a time and financial based snapshot. Still, there might be some changes required during the project execution.

In this case, the Project Manager always has the option to revise the Budget, make adjustments, and resubmit it again for approval. The revise option is again available in the notorious Budget button menu.

The whole process in one overview:

Project Budgeting Process Flow

Totally forgot to mention 😁

If you're not interested in the cost numbers at all times, the Project Budget also covers the quantity at every stage in the process. In the tracking mode (Budget is approved) it is possible to switch between Costs and Quantity in the top left corner of the grid.

Stages upfront to approval have all values within one view.

In the approved stage, the behavior is similar to the cost overview - the performed hours of the Actuals will be tracked and forecasted which provides the Project Manager a good feedback on the progress of the Project

tracking mode for Budget

Connect Actuals to your approved Budget

How to connect the Actual to the correct Budget Line? There are three things to consider - first of all, we need cost Actuals of course. So Approved Time Entries or Expense records reporting against the project.

Second, most important, to understand is the mapping. The mapping is defined in the Project Parameter in the Settings area

Budget match priorities

The Budget Match Priorities or Budget Line Match Priority as called in the Microsoft Learn portal, defines the matching dimensions. What does that mean?

=> Here for Transaction Class = Time - all Time Entries.

The dimensions (defined as field names) are as well maintained on Actuals. Priority 1 is the highest priority. With enabling a Project Budget, the algorithm tries to match new Actuals against the Budget Lines based on that priority. In the default setup as shown above everything from Task (msdyn_task) to Vendor (msdyn_accountvendor) is considered.

These values should be set on the Actual and the system tries to find the same values on a Budget Line.

If it does find a match - great success! The Actual will be mapped and the figures reported to the Budget Line. You will find this information on the Actual directly in the Budget Associations tab.

matched Actual against a Budget line

If it cannot find a match and does not run into an error (this will be important in a moment) the algorithm will ignore the lowest priority - in our case msdyn_accountvendor - and try again. This will be repeated until there is a match or an error.

A common error in this case could be that there is more than one fitting budget line. So as soon as there is more than one budget line, there will be no match. The status can be always observed on the Actual itself

Error while Matching - could not find a budget line for the dimensions on this actual

In case you perform changes to the budget lines, have Actuals on the project before creating a Project Budget or change priorities so the Actual will match - please find the ribbon button (red arrow) Re-evaluate Budget association in the ribbon.

The matching process will be scheduled again and the algorithm will try to find a new match.

A bit like dating apps nowadays.


The small conclusion at the end of the story - Project Budget is great for snapshotting estimated time, material, and expense values in terms of quantity and cost prices.

A status-driven process enables the approval and lock of the estimation despite changes in the live system. Furthermore, it allows you to track Actuals from that Project to the Budget Lines, including Forecasting.

Matching Actuals against the correct Budget Line can be tricky but you can always include custom values which is a nice benefit.

Thank you for checking in today, hope you enjoyed today's advents calendar, and see you tomorrow 😊🎅🏼


bottom of page