Improving your Client Budgeting and Tracking in Deltek Vision

There’s a few thing client managers and executives want to look and track with regards to client budgeting and then tracking performance of budget. Obviously you need a place to enter that budget, normally the answer is Excel, but there’s a ton of issues that go along with Excel (it’s difficult to maintain, there’s no reporting or consolidation, you’ll probably end up with 100 different worksheets all in different formats). That’s where Vision comes in as a good solution, once the budget format can be standardized and budgets are entered, it’s easy to report on the client budget and hopefully the actuals. So for this example we have a budget grid broken out by month that then can be totaled up as an annual budget. If you want to go the level of tracking client’s budgets for by Service or Market you can do that by adding another field. You can see in this example below there’s a Service break down dropdown.

The next component is trying to report budget against actual to see how you are doing against the goal. Again the data is already in Vision so it’s easy enough to report on it, but getting project data and client budgets together can be difficult at best. You’d either need run multiple reports and combine them, enter the client budget in a custom field on every project, or bring the project data into the client record. For this example the 3rd option is likely the best since you’re already looking at client budgets, it’s best to show the actual sales at the same time. It’s up to you how you classify new sales, in this example it is using new Regular/Billable projects created by month.

Once you’ve got your grids working well, you might run into a common issue of only being able to report on one grid at time. To address this you can create a consolidated YTD fields that stores the summary/annual data.


One other component you can consider is adding actual revenue by month, to give an idea of the volume of work you’re currently doing with the client. And of course sales are great but they don’t really matter unless you’re generating that profitable revenue.

To implement these components there two things that need to be done, update the sales (new projects) by month and update the 3 YTD summary fields. To do that using an overnight update routine would likely be the best approach, which you can read about here.

update clientcustomtabfields

set custYTDNewSales = 0,

custYTDChangeOrders = 0


— update totals

update clientcustomtabfields

set custYTDNewSales =
(custTotalAnnual CustCharngeOrders),

custYTDChangeOrders = CustCharngeOrders

from Clients_ActualSales

where clientcustomtabfields.clientid = Clients_ActualSales.clientid


update clientcustomtabfields

set CustYTDRevenue = 0


update clientcustomtabfields

set CustYTDRevenue = x.rev

from (select
as rev, Clients_ActualRev.ClientID

from Clients_ActualRev

by Clients_ActualRev.ClientID


as x

where clientcustomtabfields.clientid = x.ClientID


The other complexity is related to classifying the data by month, which is demonstrated using this article about classifying data into months.

Tagged on:             

Leave a Reply

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