foundation project management

Job costing is critical for any construction contractor, whatever software you use. Ideally, a contractor uses a best-of-breed system that’s sophisticated enough for the specialized billing, payroll and reporting their business needs. But many successful contractors aren’t quite ready to fit a construction-specific accounting application. In that case, software like QuickBooks Online or Xero might be excellent options for them.

You’ll sometimes hear that QuickBooks can’t do job costing. And that’s not quite true. QuickBooks Online is truly outstanding software for smaller contractors, and it has a few ways to pull project reporting that can be similar to a job costing system. At the time of publishing, each requires the QuickBooks Online Plus edition. However, if you’re a contractor who plans to use QuickBooks, you should exhaust your options to get as much project data as possible out of your software.

READ: “Do You Even Need New Construction Accounting Software?” »

1. Using Sub-Customers as Jobs

One common method to try to job cost in QuickBooks is the “Sub-Customer Method.” What QuickBooks desktop editions used to call “jobs,” QuickBooks Online calls “sub-customers.” These are simply customer records that you’re able to nest underneath a “parent” customer like a subcategory. Just like a job can only have one customer, a sub-customer can belong to only one customer record.

Sub-customers are used for slightly different purposes by numerous other industries. A designer might use them to track multiple projects for a single client. A bookkeeper or consultant might use sub-customers for each of several businesses operated by the same person. Intuit even suggests that they could represent member teams in a league. For contractors, however, sub-customers can function as a work-around in order to gain some amount job cost reporting.

Adding Sub-customers in QuickBooks

  1. To add a sub-customer, select “Sales” on the left sidebar.
  2. Click on the “Customers” tab.
  3. Click on the [New customer] button in the upper right corner.
  4. Enter the name of the desired project name Company name and Display name. To avoid confusion, this name should be distinct from the name of the customer. It should also be identifiable from any other projects they might have now or in the future.
  5. Select the “parent” customer record from the drop-down menu. This will be the actual customer the project is for.
  6. Enable the Is sub-customer checkbox.
  7. Select “Bill with parent” in order to tie the invoice to the customer when recording an expense under the sub-customer.
  8. Click [Save].

Using Items as Cost Codes

For contractors, a basic traditional job cost structure will typically include:

  • jobs or projects
  • cost codes for distinct activities on the project
  • cost types or cost classes — such as materials, labor, subcontracts, etc. — that tie out to expense types listed on the income statement

Some contractors might build additional levels into their cost structure, like project phases.

Since QuickBooks isn’t built to maintain a job cost structure, however, QuickBooks users often use “items” to represent cost codes. In QuickBooks Online, items are products and services. These exist on both the expense and sales sides. For example, one item might be framing; another might be drywall or lumber. These products and services will be available to all customers and sub-customers, so you don’t need to create one for each job. As a result, you may be able to set up profit and loss (P&L) reports per item across your whole company.

Adding Products and Services in QuickBooks

  1. Click on the gear icon, and select Lists > Products and Services.
  2. Click on the [New] button in the upper right corner.
  3. Select an item type — either “Inventory,” “Non-Inventory,” “Service” or “Bundle.”
  4. Enter the relevant item information.
  5. To be able to track costs for this item, enable the I purchase this product/service from a vendor checkbox.
  6. Click [Save and close].

Additional Settings for QuickBooks Job Costing

To be able to allocate job costs to customers in QuickBooks Online, you’ll also need to turn on billable expenses. Click the gear icon on the main menu, and go to Your Company > Account and Settings > Expenses. From there, you can enable the Show Items table on expenses and purchase forms checkbox to track costs by job item in addition to the account. Here you would also enable the Track expenses and items by customer checkbox. Finally, by enabling Make expenses and items billable, you’ll set a system default for the checkbox you enabled in Step 6 above.

Reporting Sub-Customer Costing

With the sub-customer method, you can view several reports that give you something like a job cost perspective. For example, from the left sidebar you can go to Reports > Review Sales > Income by Customer Summary. This should allow you to view your project income, expenses and net income for each sub-customer. To bring in the products and services you could be using in place of cost codes, you might use the Profit and Loss Report. Go to Reports > Business Overview > Profit and Loss, and change Display columns by to “Customers” or “Products/Services.” To filter, say for a particular sub-customer, click [Customize] in the upper-right corner.

READ: “So You Think You’re Job Costing . . . Are You Really?” »

2. Using Classes and Locations

QuickBooks Online classes and locations provide additional ways to look at your cost data, apart from formal construction job costing. For contractors, locations might represent geographical areas; however, they could also represent different business units, such as residential construction, commercial construction and consulting. QuickBooks Online classes could also be used for business units or for dividing those business units into products and services. The biggest difference between them is this: You can attach a transaction to only one location, but you can specify line items to different classes.

Turning on Classes and Locations in QuickBooks

In order to enable the use of classes and locations in QuickBooks Online Plus:

  1. Click the gear icon, and select Your Company > Accounts and Settings.
  2. Select the “Advanced” tab.
  3. Click the edit icon across from “Categories” to enable Track classes and Track locations.
  4. Click [Save].
  5. From the main menu, click the gear icon, and select All Lists > Locations > New or All Lists > Classes > New.
  6. Enter your location or class information.

You can use this same process to create sub-classes by also enabling the checkbox Is sub-class and selecting the parent class.

Reporting Class and Location Costing

Without job costing on project budgets, QuickBooks Online does offer the ability to track cost categories against budgets with the help of classes and locations. When setting up a budget, you can use the Subdivide by drop-down menu to select “Location” or “Class.” Once budget information and transactions have been entered, you’ll access the report under Reports > Budget vs. Actual. After clicking on “Customize,” you can use the Show Grid drop-down to choose the type of budget vs. actual report you want to see, such as “Accounts vs. Classes.” Once you have your desired settings and filters configured, select [Run report].

READ: “Why Your Construction Company Really Needs Cash Flow Reporting” »

3. Using Projects

Finally, projects are an additional feature in QuickBooks Online to help keep job-related information organized together. It uses the sub-customer records in your QuickBooks database without creating a new dimension to the system. With projects, you can look at an individual job or all open jobs to see transactions, profitability and outstanding invoices. The idea is to replace what Intuit calls sub-customer “work-arounds” and third-party add-ons, though each contractor will still need to decide what works best for them.

Turning on Projects in QuickBooks

To begin accessing project features in QuickBooks Online Plus:

  1. Click the gear icon, and select Your Company > Accounts and Settings.
  2. Select the “Advanced” tab.
  3. Click the edit icon across from “Projects” to enable Organize all job-related activity in one place.
  4. Click [Save].

As a result, you’ll be able to see “Projects” in the left sidebar and can begin working with them. Click on “Projects” to add your first project and attach it to a customer. You can convert any sub-customers and their transactions over to projects by going to Sales > Customers and clicking on the conversion link. Alternatively, if you rename your sub-customers to be identical with a project you’ve created, QuickBooks Online will ask if you want to merge them.

To add project transactions, go to your “Projects” list, select your job and click the [Add to project] button in the upper-right corner. Alternatively, you can use the plus icon at the top, select the desired transaction type and choose the project name from the Customer/Projects drop-down menu.

Reporting Projects

The QuickBooks Online projects feature adds three reports, as well as a project-centered transaction list. You’ll find these under “Projects” as well. Project Profitability gives you a P&L report for the job without needing to filter for a sub-customer. Similarly, Unbilled Time and Expenses saves a couple of steps by bringing these transactions under one project. Finally, Non-billable Time is a report contractors may want to use to track time on a job that won’t be directly billable, such as administrative or overhead labor.

Because projects function the same way that sub-customers do, previous reports such as Income by Customer Summary and Budget vs. Actual are still available with projects turned on. When setting up custom filtering, you’ll simply select the name of your project or sub-customer from the Customer filter drop-down menu.

READ: “QuickBooks for Contractors: 5 Reasons Why (and When) We Recommend It” »


Using small business accounting software is no reason not to track your costs to the job. While it’s not specifically designed for these purposes, QuickBooks Online provides a number of feature sets that can be useful for organizing and reporting some of your crucial job data.

If you use QuickBooks or just aren’t ready yet for a full job cost accounting system, make sure you’re maximizing your resources, gathering good cost data and practicing good habits that will help you be successful in the next stage of your growth.

Share Article