New Partnership for Deltek Vision and Deltek Professional Services consulting

I am excited to announce the official launch of Version X Solutions!

Version X Solutions is a new partnership that brings together a combined 30 years of Deltek Vision knowledge and experience under one umbrella.

We offer a wide and practical range of products and services including custom modules, custom reports, and even a cloud hosting service.

We’ve put together the beginnings of an inventory, and will continue to add to it as we come up with new ideas and do more interesting work for clients. If you have an extension we need, we’d love to hear about it!

Of course we still offer hourly consulting for nebulous or “figure it out as we go” projects.

You can read more about us and our current offering here.

What does this mean for existing customers?

Our new partnership will not adversely affect the existing relationships I have built with you over the years.

You will continue to get the same great friendly, responsive and most importantly, knowledgeable consulting services you have come to rely on from me.

Thank you for your continued business and I look forward to working with you in the near future.

From now on, please refer to the Version X Solutions site for information about products and services offered.




Deltek Vision Custom Invoice grouped by Team instead of by Project, Phase, Task

Here’s an interesting take on a Deltek Vision custom invoice I just completed for a client headquartered in Houston, TX.

They needed Labor, Units and Expenses grouped by the Team Supervisor instead of project element (project, phase, task), and only when there was a Team Supervisor on the project.

For these types of projects needing this new format, the team could post to multiple places on the project itself, so the grouping by project, phase and task had to be hidden or circumvented.

Lastly, a project might not show team data exclusively.  Meaning, that some of the invoice items needed to be in the standard format with standard groupings.  Thus, on the same invoice you might have billing items that were grouped and displayed in the “old” format, as well as data displayed in the “new” team based format.

Since the invoice in Deltek Vision is basically a giant SSRS report with 25+ sub reports, it took a bit of work to do this one.

First, I had to create a new sub report that displayed Labor, Units and Expense data using team supervisor groupings instead of Project, Phase and Task.

Then, it required modifying the queries of all the sub reports so the standard invoice format wouldn’t show the team data, but would still show the non-team data if there were both types on the same invoice.

The summarized items report required queries that pull data differently from the invoice than the normal Vision standard report does.

Here’s a screenshot from an example print out of just the team data after exporting to Excel… names and other elements have been changed to protect sensitive information:

Ensite Invoice w Callouts

If the Billing Invoice Template editor in Deltek Vision isn’t meeting your needs, contact me to discuss what can be done about it.

Looking forward to working with you.



Custom Infocenter + Custom Invoice = Good invoice expense groupings

Recently I had a client making a lot of requests about how to group expenses on their custom invoice.

The requests looked something like this…

“Can you sum up all Per Diem expenses using these accounts… 5010, 5050, 7050”

“Can you sum up mileage expenses using these accounts… 5025, 5033”

“Lodging expenses use these accounts, they need to be summed up as well:
lodging 5027
Meals 5028
Lodging/Meals combined 5030”

Custom Invoices in Vision are just another custom report. They are one of the more difficult reports to create b/c of the complexity of the invoice. An invoice in Vision actually is comprised of 25 or so sub reports all on one master report. Each sub report has its own underlying SQL statement, formatting, etc… That’s why customizing the invoice is so expensive!

In any case, here is what a grouped/summarized piece of the invoice looks like when it comes out. Notice it’s grouped by employee, then also by expense category (so this section probably represents a week or two of transactions… which would take up a lot of space on an invoice if not grouped).


Keep in mind it’s easy enough to create sql statements to group on particular account number values in an invoice… once you’ve mastered creating custom invoices in Vision 7 that is.

However, what happens when you want to add more categories or an account gets changed? If you have the account values hard coded into the statements, then every time an account number changes or one gets added, or even if the client wants to add a grouping category, it’s going to cost them money to update the report. While some consultants may enjoy that type of relationship with their clients, I prefer to build things that last.

Thus, instead of putting actual account values in sql statements or formatting the report around groups that would most likely change, I did it using a custom infocenter. That infocenter looks like this:


Here’s how it all works:

1. When clicking on the “Magic Button” a stored procedures goes and gets all accounts from any transaction that has appeared on an invoice and populates the “expense groups” grid with those accounts.

2. The user assigns any or all account to an “Invoice Group” by selecting from a drop down.

3. The user then identifies the type of unit that will be used when describing that group… like “Miles” for a mileage account or “Days” for a per diem account.

4. They click the “Magic Button” again which populates the “expense sort” grid on the right, where they can put the order in which they want those expense groups to appear on the invoice for that particular employee. The “Expense Sort” grid on the right will only populate with actual expense group categories used in the grid on the left.

5. Clicking on the “Magic Button” at any time will update both grids with any new accounts used in expense section on invoices, as well as update the Expense Sort grid with any new categories created or assigned.

6. Any expense item that gets billed to an invoice will show up in this matter.

Now… you might be saying to yourself “why didn’t they just use expense categories for all this?” Well, what if the expense categories you use internally are different from what your client wants to see on invoices? Or what if you have different requirements for different clients?

This allows you to set up multiple expense category configurations and assign that set of configurations to any project… that’s the last part:

7. Assign this template for invoice expense grouping to any project, and the invoices will use that grouping.

Feel free to comment with questions or contact me directly.

Thanks for stopping by!

Do you have a client using ADP open invoice? – CSV Exporting available for Deltek Vision 6.x and beyond

I have a client firm who’s client recently switched from Oildex to ADP Open Invoice.

In order to submit invoices to ADP Open Invoice, you have to use 1 of the following methods:
1. log in to your client’s ADP interface and us the “one at a time” “create a new invoice” method. With this method you have to enter the header information (or a customer number) and each line item on your invoice one at a time. If you have lots of labor entries, this would be cumbersome at best.

2. log in to your client’s ADP Open Invoice and upload a properly formatted CSV file for each invoice. The csv file contains all the information in the invoice. This means all header information, line items (labor, fees, expenses, consultants, addons, taxes, units) are included in that csv file. Of course, to do this you would need some sort of application or Deltek Vision add on that generates the csv invoice files based on your invoices. This is what I just created for a client, so if you need it, please get in touch with me. NO, it’s not free.

3. implement the PIDX LIDO b2b server to server post methodology. This would be a web app written in .net, which uploads xml based files to your client’s server and saves them in ADP Open Invoice for review and attaching backup. I do not have a solution for this one yet.

4. implement the PIDX RINF RosettaNet application which does everything in #3 for you, but which requires the purchase, install, configuration and maintenance of n add-on application to Vision.

I just completed developing a sql application which exports the invoice data correctly into csv files for import into the ADP Open Invoice application.

This particular client had over 300 invoices for July for this one client. Keep in mind that each invoice requires a separate file for uploading to the Open Invoice site. It took my script 42 seconds to extract the data and create the files (one for each invoice).

The best part is… I can attach this script to a workflow button. Now, when Deltek Vision 7.x comes out, with custom infocenters, I can create an infocenter called “administration”, and put the workflow button there. My client will be able to put in a start date, end date, client number, and click the button… and voila! Magical invoice files! Hundreds of them!

As a reward for my excellent work… I get some chocolate pudding from Whole Foods for dessert!


Custom Invoices in Vision 6.X (and most likely 7 as well)

This is a very quick entry… it’s about the Invoice Report.

I have many many requests for custom invoice formats.  Many firms often balk at the price of customizing an invoice stating “but… I only want to change…”

Let me explain a few concepts about the Invoice in Vision that you may or may not be aware of:

1. The Invoice is a report… yes, it is stored in an .rdl file just like any report.  However, knowing that it’s stored in an .rdl file or knowing a little about SSRS does not qualify anyone to make modifications to it.

2. The Invoice Report (as I will refer to it from here forward) has many sub-reports.  I think it’s about 22 or something. Some examples of sub reports are… consultants, fees, labor, expenses, billing backup, unit, add on, limit, taxes, retainer….

Notice how each section in your invoice has its own sub-report.  What this means is that to make a formatting change on your invoice… like moving columns around, changing their width, indentation etc. can potentially require making changes to not just one file, but several.

3. The Data behind Invoicing is also very complex. I recently had a client request that I show all consultant budgets and BTD amounts, even for parts of the project that were not being billed on THAT invoice.  This way on the invoice the client can see the entirety of the progress made in terms of consultant billings.  This request required a complete restructure of the query underlying the consultants sub report.

4. The custom invoice files which Deltek provides actually do not always behave as expected… and they have a few bugs here and there…. I’m guessing that the bugs are just settings that someone forgot to clean up before making the “template”.  Fortunately… there are only a few bugs and things that need cleaning up before the invoice works properly… but it still takes a few hours to set up a new client and get to the baseline “standard” invoice with the new custom one…

Lots of things can be changed using the Billing Templates built in to Vision… so I recommend starting there if possible.  This does not require a programmer to mess around with potentially hazardous custom invoice reports.

However, if you do need custom invoice formats… make sure to:

a. standardize across your organization, so you’re not having different offices with different formats (the clients appreciate a clean and tidy organization anyway… it makes you seem more efficient, like they’re getting something good for their money)

b. find a highly qualified consultant (such as myself) to do the work for you, so it only has to be done once.


Custom invoice – professional services title

I’ve been doing a lot of custom invoices in Vision 6.1 lately…

If you want your “professional services” title to say something like:

Professional Services for March 2012

You can do the following:

in custom code put in the following function:

public function pgcMonthName(byVal monthNumber as integer) as String

select case monthNumber
Case 1
return “January”
Case 2
return “February”
Case 3
return “March”
Case 4
return “April”
Case 5
return “May”
Case 6
return “June”
Case 7
return “July”
Case 8
return “August”
Case 9
return “September”
Case 10
return “October”
Case 11
return “November”
Case 12
return “December”

Case Else
return “Month Name Error”

end select

end function


Then in the box where your professional services label appears, append this to the end of it… (you have to locate where it comes out yourself though… or call me for help).

+ ” ” + Code.pgcMonthName(Cint(DatePart(“m”,Fields!InvoiceDate.Value))) + ” ” + datepart(“yyyy”,Fields!InvoiceDate.Value)

Then of course, upload the invoice file to the appropriate location, try it out in your invoice template and voila!

I left out a lot of detail on this one b/c the assumption is that you already know how to customize the rdl file for your custom invoice in Deltek Vision 6.x.

If you don’t and you need help, feel free to get in touch with me.

The invoice report file is a very complex report with over 20 sub reports so even experienced developers will have a hard time with it…

Have a great weekend!

Don’t be fooled

I’m sorry for not posting for so long.   I’ve been buried in work.

Today is a short post because I’m getting a bit frustrated with something with regards to Deltek Vision.

Do you remember the term “Desktop Publishing”?

Desktop Publishing became very popular in the 90’s when CEO’s were putting PC’s and Macs with Pagemaker and telling their secretaries to do their graphic design.

This was due to the misconception that given the right tools, almost anyone can do the job.

It seems that there is a similar misconception with custom reporting and Deltek Vision.

No matter what anyone tells you… here is the blunt truth:

1. You have to be a programmer/developer to be able to create good custom reports.  SSRS is a reporting framework and an IDE.  If you don’t know what an IDE is, you really have no business tackling the task.  Just knowing that custom reports are “in the RDL file” isn’t going to get you or any other consultant far at all.

2. Even if someone has the qualifications of a programmer or developer, it does not mean they will be able to develop custom reports against a Deltek Vision database.  It takes at least a good understanding of general accounting principals as well as a deep understanding of how the data works within the database to both create reports from scratch and/or modify existing reports from the standard set.  In fact, despite what anyone may have told you about simply “taking an existing report and modifying it a little bit to add a column here or change a sorting option there”… it is not a simple task at all.

3. SQL – which stands for “structured query language” is a programming language complete with logical structures, variables, objects in the form of views, functions, stored procedures etc… if those technical terms are over someone’s head, it will take more than just a few weeks, a few months or even a few years to become proficient at database architecture, SQL programming, extracting data… or writing custom reports against any database let alone Deltek Vision.

So the next time you want to get some custom reporting done, talk to a real professional.

For all you consulting firms out there who are trying to provide custom reporting services to your customers that have Deltek Vision 6.x installed, find staff members who have the required skill set so you can give your customers good service.