Job Costing
May 28, 2024

Job Cost Accounting with Quickbooks: Labor Costs

Job Cost Accounting with Quickbooks: Labor Costs

Over the last 2+ years we at Dapt have spoken with over 150 accountants and implemented straight-forward job cost accounting. One lesson from this interaction has become clear - with the right tools connected in the right way job cost accounting is simple. 

In this article, we break down what we have learned while describing in detail the setup that works best when using QuickBooks. Our focus is accounting for labor costs. We start with labor costs because in many ways it is the most complex. We will tackle materials and subcontractor costs in later articles in the series. 

First, a definition; Job cost accounting is the ability to account for job costs in a way that makes it easy to see up-to-date profit and loss by job. 

So, what is a job? Simply put, it is the work activity performed by your business. This varies from business to business. For example, in construction and trades the concept of job is well defined, it is the project or, well, the job. But other industries have different definitions for the work performed that they are trying to optimize. 

In this broader definition, "job" can mean anything your business produces. It’s your business. You know best what you do. Whether it is a product or service the objective is to measure the profit and loss (P&L) of what you produce. 

So, when it comes to job costing, what you produce is your “job”.

In QuickBooks, a "job" is a customer. Don’t let the name of the data field cause confusion. The great thing about the customer field in QuickBooks is the flexibility built into the field. 

The customer field is a text field and as such you can name your “jobs” anything. So use names that make sense to all your employees. Avoid cryptic job codes. If the job is a bathroom renovation at 123 Main Street and it's for the Patterson family then call it that (Patterson:123 Main Street:Bathroom Renovation). 

The customer field in QuickBooks has another advantage over many other accounting platforms due to the fact that it supports a tiered definition. Think of these tiers like folders on your computer - you can have multiple levels with each level being more and more specific.

For example, take the case of a government contract. At the top tier is the government agency. The next tier will be the specific contract vehicle , and then the next tier is the specific project and within that project might by phase and CLIN.

The point is that this structure gives you a significant amount of flexibility to set up your “jobs” in a manner that matches exactly the structure of the work you perform. Take advantage of this to make it clear and intuitive to everyone what the job is. 

Setting this field up intuitively is important because your employees will track their time against the jobs they perform. You want to make this as easy as possible. As I remind our customers, time is tracked multiple times a day by the majority of your employees. And while clocking in and out takes very little time, those seconds or minutes compound quickly. So, be considerate of your employees and make it very easy to understand how to select their job. This is also why it is important to use plain english. 123 Main Street is much easier to understand than Job 001285-FF-MN.

This information, the job name, must synchronize with your time tracking for this to work. The sequence is: 

  1. Set up new jobs in QuickBooks
  2. Sync the name to your time tracking

This way you are sure that the time tracking matches with the jobs (customers) that you set up in QuickBooks. It is important that the synchronization is continuous and accurate. If there is a difference between the job name in your time tracking and QuickBooks the costs will not properly attach to the job defeating the purpose. It is also important that this synchronization is seamless and continuous. You never know when a new job will be received and how quickly you will dispatch someone to perform the work. If the synchronization is continuous there will be no delay between the receipt of the job and the ability to respond. 

Work becomes costs 

Now that you are set up and tracking time payroll converts those hours into costs ($$$’s). Those costs serve as the basis of job cost accounting entries but only if you can link the payroll results (employee pay and other labor costs such as benefits) to the work that was performed.

Labor costs must be allocated based on the work performed during the pay period. For example, if an employee worked 8 hours on a job at $35/hr then the costs are $280 plus the employer's expenses for taxes and benefits paid. For job costing to be successful all of these costs must be properly turned into accounting entries and automatically uploaded into QuickBooks. 

For job costing to work properly, the payroll results have to be allocated by the work activity as defined when time was tracked by employees. And then to turn these allocated costs into accounting entries we will need the information, such as job name, that was selected during clock in. So, for successful job costing, payroll results need to be connected to time tracking data. 

The complete cycle of the data looks like this: 

Dapt data flow diagram for Job Costing

  1. Job is created in QuickBooks
  2. Job name is synchronized with time tracking
  3. Time tracking data is prepared and sent to payroll
  4. Payroll is processed and payroll results
  5. Payroll results are processed, connecting time track data to the results
  6. Accounting entries are generated and uploaded to QuickBooks

This is the complete data cycle for job costing. When this is fully automated, job costing becomes a routine part of operations. Payroll, which must be performed regularly, provides the data needed to maintain up-to-date job cost accounting. Job costing becomes as easy as running the profit & loss by job report. And most important, accounting is continuously up-to-date, eliminating the discrepancies between accounting and project management.