1) Module HUD

  • Module #: 8 / 13
  • Time: 20–30 min
  • Outcome: “After this, you can allocate labor to jobs in QBO so job profit stops lying — and you’ll know the 3 levels of labor costing (Project-only → payroll-actuals → Product/Service).”
  • Prereqs: [Module 2 — Essential QBO Setup for Contractors] + (recommended) [Module 5 — Advanced Products & Services (Start simple → grow)]
  • Stop here if: you just need labor cost by job (Projects) and you’re not ready to code labor by work type (Products and services).
  • Level tags used in this module: ✅ Baseline / 🛠️ Operator Upgrade / ⚠️ Advanced

2) Answer Box (snippet block)

  • What it is (2 lines)
    Labor costing is assigning labor to the same job container as your materials/subs so job profit is real.
    In QBO, this only works if time is coded correctly — no time discipline = fantasy margins.
  • When to use it (2–4 bullets)
    • Labor is a meaningful cost (in-house crew, field techs, project managers)
    • You want job profit you can trust
    • You want profit by job type (service / remodel / new construction / commercial) to include labor
    • You want profit by work type (requires labor coded by Products and services)
  • The common mistakeS (1-2 line)
    Time isn’t coded to the job, so labor falls into overhead “by default” and job profit looks amazing for no reason.
  • The fixES (1-2 line)
    Make Project coding non-negotiable on time. Then choose the labor method you can maintain.

3) The mental model (keep short)

  • Time entry drives labor allocation. No clean time entry = no clean labor costing.
  • Two ways QBO can represent labor on jobs:
    • Actual payroll costs (most accurate, shows after payroll posts)
    • Hourly cost estimates (immediate, less accurate)
  • Start with labor by Projects (baseline). That alone makes job costing real.
  • Only do labor by Products and services if you’ll enforce work-type coding on time.
  • COA stays simple; detail is Projects + (optional) Products and services + Job Type field on the job container.

4) Do this in QBO (step-by-step)

Choose your level (Start simple → grow)

  1. Pick one level you can maintain:
    • ✅ Level 1: Labor cost by Projects (recommended baseline)
    • 🛠️ Level 2: Labor cost by Projects using actual payroll costs (most accurate inside QBO)
    • ⚠️ Level 3: Labor cost by Products and services (needed for profit by product/service)

Dry truth: if foremen won’t code time to the job, none of the “advanced” stuff matters.

Step 1 — Build the non-negotiable chain (applies to all levels)

  1. Confirm every job exists as a job container in Projects
  2. Make this the rule: every time entry must include the correct Project
  3. Decide now if you want Level 3:
    • If NO: time only needs Project
    • If YES: time must include Project + the matching work type (your Products and services item)

✅ Level 1 — Labor by Project (minimum viable, high value)

  1. Go to Time and enter time for each worker
  2. On every line, select the correct Project
  3. Run payroll (however you run payroll — QBO payroll or external)
  4. Review job profitability (see Report section below)
  5. Stop here marker:
    If jobs show labor and job profit is believable, stop. You’re done.

Pro tip: Make “No Project = time rejected” the standard. Everyone learns fast.

🛠️ Level 2 — Use actual payroll costs (best accuracy)

  1. Ensure payroll posting is clean (wages + employer costs)
  2. Each pay period:
  • Confirm time is coded to Projects
  • Run payroll
  • Verify labor cost appears on job profitability after payroll posts
  1. Stop here marker:
    If labor appears consistently after payroll and job profit is stable, stop.

Warning: Don’t switch methods weekly. Pick a method and let the data accumulate.

⚠️ Level 3 — Labor by Product/Service (profit by work type)

  1. Standardize a small item list in Products and services (Module 5)
  2. Require time entries to include:
  • The Project
  • The matching work type (your item from Products and services)
  1. Weekly: audit time coding for missing work types
  2. Stop here marker:
    If time is consistently coded by work type and reports reflect reality, stop. This is the highest admin load — keep it tight.

5) Real-world example (mandatory)

You have a remodel job: “123 Pine St — Remodel” (Job Type = remodel)

Crew worked 40 hours this week:

  • 32 hours on 123 Pine St
  • 8 hours on service calls

✅ Level 1 (Project-only)

  • Those 32 hours are coded to the Project
  • Job profitability shows labor on that job
    Result: remodel job profit stops looking artificially high.

⚠️ Level 3 (Project + work type)

  • The 32 hours are coded to:
    • Project = 123 Pine St
    • Work type (item) = “Rough-in” or “Trim” (from Products and services)
      Result: you can now see labor by work type (if you keep the discipline).

6) Run this report now (mandatory checkpoint)

  • Report name: Project Profitability Summary
  • Filters/settings:
    • Go to Reports
    • Search Project Profitability Summary
    • Date range = this month-to-date
    • Click Run report
  • What “good” looks like:
    • Active jobs show labor cost (not just materials/subs)
    • Labor appears consistently (not missing randomly)
    • The biggest jobs don’t show “perfect margin” with no labor
  • What “broken” looks like:
    • Labor missing on jobs entirely
    • Labor showing on the wrong job
    • Job profit is suspiciously high across the board
  • One fix if broken:
    • Go to Time, find missing/incorrect entries, and assign the correct Project. Re-run Project Profitability Summary.

7) Lab (do it on your file)

  • [PASS/FAIL] Every active job exists in Projects
  • [PASS/FAIL] Every worker has time entered in Time for the week
  • [PASS/FAIL] 100% of time lines have a Project selected
  • [PASS/FAIL] You ran Project Profitability Summary and labor shows on jobs
  • [PASS/FAIL] You found at least 3 time lines with missing/wrong Project and fixed them
  • [PASS/FAIL] (Level 3) 100% of time lines include the correct work type (from Products and services)
  • [PASS/FAIL] You can explain your chosen level (1/2/3) and why it’s maintainable

8) Knowledge check (3 questions)

  1. What’s the non-negotiable requirement for labor costing in QBO?
  2. Which is more accurate: labor from payroll costs, or hourly cost estimates?
  3. What extra requirement exists for profit by product/service to be real?

9) Next + Related

  • Previous: [Module 7 — Change Orders]
  • Next: [Module 9 — Enhanced Job Costing & Profit Reporting]
  • Related modules (2–3)
    • [Module 5 — Advanced Products & Services (Start simple → grow)]
    • [Module 10 — Monthly Close in QBO]
    • [Module 11 — QBO Cleanup / Rebuild]
  • Don’t do this warnings
    • Don’t try to “labor cost” without Project-coded time. That’s just overhead with extra steps.
    • Don’t use Classes as a job substitute. You’ll create tagging debt fast.
    • Don’t build Level 3 if you won’t enforce work-type coding on time.
    • Don’t trust job profit until labor is showing on the right jobs.

Fast now = slow forever.

FAQ (short)

Do I need labor costing to do job costing?
If labor is a major cost, yes — otherwise job profit will be overstated.

Why is labor missing from job profitability?
Usually time isn’t coded to the Project, or payroll hasn’t posted yet (Level 2).

Should I do profit by product/service?
Only if you can enforce time coded by work type (Level 3). Otherwise stick to Project-level labor and win.

Is hourly estimate labor good enough?
Sometimes. It’s better than zero, but actual payroll costs are more accurate if you can support the workflow.