Tracking Project Margin in Certinia PSA

Just fill in the default cost rate, and PSA will do the rest.

 

That’s the advice you’ll get when you ask how to track project margin in Certinia PSA.

 

And technically, it’s true. Fill in a bill rate on an assignment and fill in the cost rate on the Resource record, and the system calculates margin. Right?

 

Not quite.

 

Here’s everything else that you need to think about:

 

1. Who should see cost rates?
Cost data can be quite sensitive. PS Managers generally need to see cost rates for their own team, but do they need to see rates for another team? Your PMs need margin visibility to manage projects. But do they need to see what their colleagues’ cost?

 

The general rule of thumb is that Resources only need to see their own data, and upper management generally sees all data. The tricky part can be deciding the rules for the management level in between.

 

In PSA, the answers to these questions can often drive the creation of user hierarchies and sharing rules to manage this data.

 

At Icon, we set Timecards and Expenses to Private and share back to manager roles.

 

2. How accurate do you actually need margins to be?

You have options, depending on your use case for the cost data.

 

Average cost rate by role. +/- 2%. Use this when “close enough” works—like trying to determine relative profitability between projects. This approach has the least overhead to manage, and because you are using average rates, it’s less critical to lock down cost rates.

 

Actual Hourly Rate + Estimated Benefits Load by Resource. +/- 0.5%. Use this when you need to get margin within a few dollars—like for commission calculations. This takes much more work to set up, including requiring timely updates for changes in compensation. Since actual payroll numbers are used, the data usually has to be locked down carefully.

 

We use this approach at Icon.

 

Actual payroll + benefits loaded from your payroll system. Spot on. Use this when you need to track actual cost rates that tie out to your GL—like for Cost Plus projects.

 

Decision Matrix Table

Approach Accuracy Best For Overhead
Average cost rate by role +/- 2% Relative profitability between projects Low
Actual Hourly Rate + Estimated Benefits Load by Resource +/- 0.5% Commission calculations, tighter margin tracking Medium
Actual payroll + benefits from payroll system Spot on Cost Plus projects, GL reconciliation High

 

3. What about 1099s?

Since there’s no benefit load to worry about, just set the default cost rate and update whenever there is a change in compensation. The same data sensitivity rules (from earlier) apply here too.

 

4. How do you change a cost rate?
Identify the effective date. Try if possible, to align it with the beginning of a calendar week. Update the cost rate on the Resource Record, all open assignments, and all timecards with a start date >= the effective date.

 

It’s best practice to close out old assignments at the old rate and create new assignments at the new rate, but it isn’t technically necessary.

 

At Icon, we actually built an “effective date” feature to manage cost rate updates. I would recommend this for teams greater than 50 people.

 

5. What happens when someone logs 50 hours in a week?
Your cost rate usually assumes 40 hours. If you are talking about a contractor, it makes no difference, but it may with an employee:

  • If you are using the payroll load approach, this will be handled automatically in your automated load.
  • If you are using average cost rate by role, it may not matter.
  • For other scenarios, we’ve built automations that scan a timesheet and update the costs on the timecard based on the weekly payroll rate divided by actual hours worked.

 

6. What happens if you need to manage multiple rates in PSA?
I know it can be done—because we’ve done it for ourselves here at Icon. But it’s big enough that it justifies its own post—so let’s save for next time.