How to set up QuickBooks Online so every dollar lands on a job, and where the setup usually breaks down.
Job costing in QuickBooks Online comes down to three habits. Every job is a Project. Every cost goes to a job-cost account. And every transaction is tagged to its Project when it's entered, not at month-end. Get those right and the Project Profitability report tells you which jobs make money. Skip any one and it quietly lies to you.
Projects are available in QuickBooks Online Plus and Advanced. Advanced adds project estimates, so you can compare estimated cost to actual cost on each job. Intuit's construction add-on for Advanced adds cost groups (labor, material, equipment, subcontractor, miscellaneous). See Intuit's guide to setting up projects.
QuickBooks has no true cost codes in most plans, so the chart of accounts does that work. Split cost of goods sold into the categories you bid on:
Keep overhead (office rent, the owner's truck, software) out of job cost. If it isn't specific to a job, it belongs below gross profit. That line is what makes margin mean something.
Each Project sits under the customer. Use a naming convention you'll stick to, such as job number plus address, so the field and the office are talking about the same job.
Bills, checks, credit card charges, and invoices all carry a Customer/Project field. Untagged costs are the most common reason job reports don't match the P&L. If you run Adaptive, JobTread, or Buildertrend, set up the sync so jobs and cost codes map cleanly to QuickBooks. Otherwise the two systems drift apart.
Labor is usually the hardest cost to place. QuickBooks can push payroll expense to projects from time entries, or apply an estimated burdened hourly rate between payroll runs. Either works if crews log time to jobs every day.
Frame clients get job costing by project and a monthly WIP schedule built on QuickBooks Online, delivered by the 15th.
Get a Custom Quote