QuickBooks Online now offers a feature called Projects to track your job costs or project profitability. See QuickBooks Online Projects for more details. Note: Projects is only available for QuickBooks Online Plus users based in the United States, United Kingdom, Canada and Australia.

Currently, QuickBooks Online doesn't offer a specific job-costing feature for Brazil, France, India and Singapore.

As an optional workaround, you can set up your jobs as sub-customers (or sub-clients, etc.) and select the Bill with Parent option.  You'll also have to customize reports for your sub-customers.

Add a sub-customer

  1. Go to your Dashboard.
  2. Choose Sales or Invoicing > Customers.
  3. Choose New customer on the right. 
  4. Enter all the appropriate information for that sub-customer.
  5. Check the Is sub-customer box. 
  6. Choose the Customer's name.
  7. Choose Bill with Parent.
  8. Click Save.

Once set up, your Customers page would look something like this:

Jane Doe
Jane Doe: Brochures
Jane Doe: Letterhead

Turn on Billable Expenses and Products/Services

After you set up your job/project as a sub-customer, turn on the necessary settings:
  1. Select the Gear icon at the top, then Account and Settings (or Company Settings).
  2. Select Expenses from the left.
  3. Select the edit (pencil) icon in the Bills and expenses section.
  4. Ensure that the following items are checked:
    • Show Items table on expense and purchase forms
    • Track expenses and items by customer
    • Make expenses and items billable
  5. (Optional) Set the markup rate.
  6. (Optional) Change the income account you wish Billable Expenses to affect. By default, Billable Expense Income is selected.
  7. Select Save, then Done.
These options will put a  Billable check box on purchases you make (using  Enter BillsWrite Checks/ChequesEnter Credit Card Charges, or  Enter Cash Purchase) that lets you specify that an expense should automatically flow to a customer's next invoice.
  • Note: Billable Expenses is only available in QuickBooks Online Plus.

If you're going to bill for time on jobs

You must turn on one extra preference

  1. Select the Gear icon at the top, then Account and Settings (or Company Settings).
  2. Select Advanced from the left.
  3. Select the edit (pencil) icon in the Time tracking section.
  4. Ensure the Make Single-Time Activity Billable to Customer box is checked.
  5. (Optional) Select Show billing rate to users entering time.
    • Tip: if you bill customers a different hourly rate than you pay your employees and subcontractors, you may want to leave this blank.
  6. Select Save.

Once you have entered time and expenses, marked them all as Billable, and entered the customer's (that is, sub-customer's) name, you'll see all open charges ready to be included when you create invoices.

Enter billable time

To Use Billable Time, you can enter billable time through the  Single Activity Time Sheet and the Weekly Time Sheet.
  1. Select the Plus icon (+) at the top, then Single or Weekly Time Sheet.
  2. Enter the information - you'll be able to mark it billable to the customer as well as track your time.
You may also choose to use Class Tracking, which allows you to add a class to each transaction and to use the Profit & Loss by Class. See  Classes and Locations - How can I track different parts of my company?
  • Note: Class Tracking is only available in QuickBooks Online Plus.

For other possible third-party* solutions, select Apps from the left menu, or go to http://apps.com or https://appcenter.intuit.com/. From there, you can quickly find third-party solutions for your business and industry needs that integrate with QuickBooks Online.

*If you decide to use any third-party services, you're responsible for reviewing and understanding the terms and conditions governing their use.  You agree that the third party, and not Intuit, is responsible for the performance of the third-party services.

If you would like to see Job Costing added to our product, go to our Feedback link from the Gear icon. Select the appropriate product, and then enter in the information about the feature you want. There are many variables to consider when developing a new feature, so we are not always able to implement every request. Nonetheless, we value our customers’ input greatly and review every request in detail.