Job costing is an important function for every business that has employees, sells good, or provides services to customers.  Job costing is especially important for contractors, because you need to know if you are making money on the jobs that you have been awarded.

While the start of a busy construction season may not be the right time to do a full-scale revamp of your current job costing system, it is certainly time to give it a thorough review for the upcoming season and perhaps make some modifications to your existing systems within QuickBooks.  As you read through this article, take some notes and see what things you can change now and what should wait until you are in “off season” before tackling.

Implement job costing for your company using the following 13 steps:

1.    The QuickBooks Customer Center provides you with the ability to track your Customers (project owners, awarding authorities, or general contractors) that you perform work for.  For each Customer you can then track the various Jobs (projects) that you are working on for that specific customer.  For each Job that you are working on you can also track Sub-Jobs (your Change Orders or Extra Work orders) that are specific to the original job.

If you are going to use Jobs and Sub-Jobs, each one should have its own Estimate; the Estimate that you create at the Job level should be for the Original Contract, whereas the Estimate that you create at the Sub-Job level should only be for the items that are specific to the change order/extra work order.

ALL costs that are entered into QuickBooks should be posted or job costed to either the Job or to the Change Order/Extra Work order.


Sometimes the contract owner wants the Change Order/Extra Work Order to be added or included with the original contract for billing purposes. In this case it is recommended that you still set up both the Job and Sub-Job records in QuickBooks for job-costing purposes and also add the Change Order/Extra Work Order (in whatever sort of detail required) to the BOTTOM of the Original Estimate for billing purposes.

RELATED: 10 Common Mistakes When Using QuickBooks for Contractors

2.    NEVER, I repeat, NEVER simply open the original QuickBooks Estimate and just change the dollar amounts of any line item to reflect the new amount after a change – this will NOT provide you with a good documentation system.

3.    Review your QuickBooks Chart of Accounts and make sure that you have suitable accounts listed there for Direct and Indirect Job Costs

4.    Review your QuickBooks Item List – it should be set up to match your industry’s cost code lists, with all items being “Double-Sided” (having both a Purchase and a Sales price) and using “Group Items” as appropriate.

5.    Use the cost codes from your Items List when creating Estimates, Purchase Orders, entering bills, writing checks or entering credit card charges.

6.    Review your QuickBooks Payroll Item List – does it have different payroll wage items that reflect the types of work (work classification) that the employee performs on the job site?

7.    While we are on the subject of Payroll, you should be doing your payroll in-house or through the use of QuickBooks Assisted Payroll and entering employee hours using the weekly timesheet – mirroring the information that is sent from the field.

8.    Make sure that you are accounting for your Equipment Costs on the job site and in your job costing reports.

9.    Track committed costs, material purchases, and subcontracts using customized QuickBooks Purchase Orders and the cost Codes you create in your Items List.

10. Create Estimates that reflect the Schedule of Values using the Cost Codes you create in your Items List and then use the Progress Invoicing feature to generate the base billing.

11. Use our free Project Info Worksheet as a means of providing essential contract information to the appropriate people and document ALL of your procedures.

12. Get your employees involved; make sure that everyone is trained properly.

13. Monitor the work flow carefully and make adjustments as necessary.


About the Author:
Nancy Smyth has supported Intuit products and end users since 1986, with her primary focus being commercial/government construction contractors. She has been a Certified QuickBooks ProAdvisor since 1999; and as President of Sunburst Software Solutions, Inc., she is a key player in the development of several QuickBooks Add-Ons for the construction industry. She is also the author of the QuickBooks for Contractors blog.


Note: We periodically offer live online training seminars called “QuickBooks Job Costing Essentials” and “Advanced Job Costing”. Check our schedule for upcoming sessions.

28 thoughts on “13 Steps to Implementing Job Costing in QuickBooks for Contractors

  1. Pingback: Our Most Popular QuickBooks Articles of 2011 | QuickBooks and Your Business

  2. Hi Wayne
    The post above talks about job costing in the QuickBooks desktop version. I don’t use QBOE but I’m pretty certain that the same principals discussed can be applied.

  3. Outsource QuickBooks Bookkeeping company specialize in offering ultimate bookkeeping accounting services for both small & large businesses worldwide at attractive low charges!

  4. excellent put up, very informative. I ponder why the other specialists of this sector don’t understand this.
    You must continue your writing. I’m confident, you have a great readers’ base already!

  5. My boss and I are trying to find out if we can create 3 purchase orders off of one estimate. He wants to track the spending on each job this way. Is there anyway to accomplish this?

    • Yes just create the sales order then from the sales order look at the top tool bar and it should have option to create Purchse Order. You can create as many as needed off of the sales order. Hope this helps.

  6. Pingback: Can Quickbooks Online Do Job Costing | Job To Do

  7. Pingback: Quickbooks 2014 Job Costing | New Job Today

  8. I
    serve as manager for a non-governmental organization that manages
    research projects.I’ll like to know how to customize quickbooks to serve
    the purpose i.e. I receive funds from a donor organization,as
    reimbursement for expenses spent on each project and the project pays a
    5% overhead cost to my organization. How can I manage this with
    thanks for your assistance in advance.

  9. Do you need unlimited content for your site ? I’m sure you spend a lot of time posting content, but you can save it for other tasks, just search in google: kelombur’s favorite tool

  10. Hi,I read your new stuff named “13 Steps to Implementing Job Costing in QuickBooks for Contractors « QuickBooks and Your Business” like every week.Your writing style is witty, keep doing what you’re doing! And you can look our website about proxy server list.

  11. I own a .info web domain hosted on 50webs. I have tried uploading via FTP from Blogger but I keep getting java errors. Is there an easier way of having Blog type software on my website? Or what is your suggestion for the BEST blog site to use that lets you use your own domain as a homepage for your blog..

    • Hi,

      We want to implement phases on our construction business and already setup item list as phases and customer job as project our question is according o our business model we make buildings then sell them as apartments -say each building contains about 8 apartment- How can we add customer record and the apartment related?


  12. Hi,

    We want to implement phases on our construction business and already setup item list as phases and customer job as project our question is according o our business model we make buildings then sell them as apartments -say each building contains about 8 apartment- How can we add customer record and the apartment related?


  13. Hi there!! Great article, I have been searching and searching for answers on job costing in Quickbooks Desktop for Contractors.

    I have a client who when he pays his bills is expensing to the job so the expenses are being coded to the job, however, now he has a 30-page report of unbilled transactions and I am stumped on how I should go about cleaning up the Unbilled Costs by Job report.

    Any help would be great appreciated

    • Erin
      using that 30 page report, go job by job and create a normal invoice, if QB displays a message about outstanding time and costs – choose that option. Set the invoice “to be printed”. Doing this will clear out the old stuff, you do need to print the invoices -turn your printer off and print all of them, then delete the stuff from the printer que.

      This is a lot of work, but it’s worth it.

      • Thanks, Nancy,

        My original thoughts were to go into each customers invoice with these unbilled costs, click on the apply button, add the time and costs for the specific job, then adjust the price to reflect what the customer paid.

        Client invoices 50% deposit, 50% upon completion.

        Example the customer is invoiced upfront $3000.00.
        The contractor purchased materials for $500.00.
        The contractor paid for materials posting to the items tab the job and billable.
        Vendor bill has been paid.
        I would then go into that invoice and adjust the upfront cost to reflect $2500.00.
        Click the button to apply cost and choose the materials or that job that equaled $500.00.

        Would this be a workaround or is this double costing to the job?

        • Erin without looking at the data I think it would double the job costing.

          First create a P&L for JUST ONE JOB and print it out. Then try your method and look at the P&L for the job again – in both Cash and Accrual methods.

  14. I am trying to get a report that will give me the contract amount, all change orders, amount billed, amount paid, amount paid to vendors and amount owed to vendors. Is there a way to get that all on one report?


Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 


This site uses Akismet to reduce spam. Learn how your comment data is processed.