Why is Job Costing So Hard?

If you are at all familiar with our company or our product, then you know that we could preach all day about the benefits of job costing. We recently published a blog on how to improve your job costing, but we wanted to dig even deeper and show you the data behind our recommendations. We had our lead software engineer sift through the data, and here is what he found:

I’m trying to decide if it’s easier to shame an American going through a Mcdonald’s drive-through about their diet or to attack an Entrepreneur about their job costing. Here’s a little secret – everyone feels like they are terrible at doing this. And it’s because most of them really are bad at doing it.

Don’t worry – shaming you isn’t my strategy. Although it is a tactic I see in the industry. (Get the potential customer to talk about how bad their job costing is, and then sell them a complicated system that can solve their problem!) Like shooting fish in a barrel!

While that might be effective at getting people to buy expensive enterprise software – it’s pretty much the exact opposite of what someone who’s running a construction company needs to hear.

Believe me, I’ve got some data to back this up.

This is what the data says.

If you want to successfully do job costing, you must keep things incredibly simple. You MUST err on the side of simplicity.

I analyzed the time tracking data of eager entrepreneurs who were setting up their companies to do job costing – and a shocking number of them failed to set things up for success. Don’t make their same mistakes!

I looked at 79,824 cost codes created by the office with hopes of tracking labor costs. Guess how many were actually used? Only 15% of the cost codes created by the office had a single instance that had ever been used. Those other 67,000 cost codes? The dreams of failed job costing.

Projects and sub-projects didn’t fare much better – only 30% of the million or so I looked at ended up getting time tracked to them.

Why are these numbers so bad?

It isn’t because the employees working on these projects weren’t tracking their time! In fact, they were. We’re talking about 3 million time entries tagged to those projects and cost codes. Holy balls batman! That is a lot of time! And a lot of entries.

But why wasn’t it tracked to all the different cost codes and projects that were carefully set up in the first place?

It’s because the more complicated the setup the more you expect employees to context switch during the day. Employees have a breaking point with how many context switches they will do in a day and it’s just a few times per day. You absolutely need employee buy-in to get great job costing.

I spoke with an extremely successful and progressive company that had got really serious about tracking their time with job costing – they even did this before software – with just paper. I’ve seen their data – it was so impressive.

So they told me something pretty interesting. They originally used about 10 cost codes (for decades) – but then they decided that they wanted to track EVERYTHING, so they added another 200 cost codes. The end result – nope. Not gonna happen – even for the best company.

The people in the field just can’t break the data into such small buckets. It’s too burdensome – you don’t want employees recording 20 task changes throughout the day. And whenever they fail to record the data – it gets thrown in the wrong bucket. The end result is data that looks precise – but is actually inaccurate.

Employees and supervisors will just stop being honest about where the time goes, the data that comes out the other side isn’t any more useful – and is actually less useful than when things were kept simple. Needless to say, that company is in the process of simplifying back down to about 10 or so cost codes.

Here is what the data can teach us about job costing:

      • Keep cost codes between 5-20. Any more and you will not use them and they will actively hurt your quest for great data.
      • Use large job costing buckets for time tracking. Employees that clearly understand the difference between each cost code will be your first line of defense for great data! You shouldn’t need to know if you were doing 4″ or 5″ pipe in order to clock in, switch, or clock out.
      • This applies to time tracking only! For work accomplished, you should still track quantities to the original project plan. Same for materials. Those should be tracked all the way down. Don’t worry that’s easy. Click here for more details.
      • Fewer projects and cost codes will make tracking time faster! No need to scroll past all the codes you don’t ever use.
      • Some government projects might need to be tracked to a level that is ridiculous. Don’t think this is because the government is being efficient. If you have one of these contracts, you’ll definitely want to use a time tracking app.
      • Use flexible schedules to make job costing even easier. (Schedule a handful of cost codes for a project – then let the employee track their time to the schedule) Don’t use a time tracking app that doesn’t have scheduling.
      • Scope cost codes to a specific project. There is nothing more frustrating to an employee than having to avoid all the cost codes that should never be tracked for a project. Don’t make it needlessly hard for your employees. A little additional effort in the office will make the field run smoothly – and employees won’t drop tracking their cost codes properly because it looks like the office doesn’t care.


Finally, just a few words of encouragement. I can’t help you with dieting (I just pounded a few McDonald’s cheeseburgers…), but if you keep things simple and are able to get clean job costing numbers – you really will better understand your company. There are lucrative benefits to having data to back up your upcoming bids. With great job costing, you will run your company with greater efficiency and make more money than you otherwise would.