1) Module HUD

  • Module #: 6 / 13
  • Time: 25–35 min
  • Outcome: “After this, you can run progress billing + deposits/retainers in QBO without double-counting revenue, breaking A/R, or leaving money stuck in Undeposited Funds.”
  • Prereqs: [Module 5 — Advanced Products & Services (Start simple → grow)]
  • Stop here if: you invoice in simple phases and you’re fine with deposits being handled as early payments against invoices (no liability tracking).
  • Level tags used in this module: ✅ Baseline / 🛠️ Operator Upgrade / ⚠️ Advanced

2) Answer Box (snippet block)

  • What it is (2 lines)
    A clean set of workflows for progress invoices and upfront money (deposits/retainers).
    You’ll pick one path and stop before you overbuild.
  • When to use it (2–4 bullets)
    • You bill in phases (deposit / rough-in / trim / final)
    • You take upfront money before work is complete
    • You want A/R to stay believable
    • You want revenue recognition to match your intent (simple vs CPA-style)
  • The common mistakeS (1-2 line)
    Recording deposits as income and then invoicing later (double revenue), or using Undeposited Funds like it changes revenue (it doesn’t).
  • The fixES (1-2 line)
    Choose one workflow and stick to it: simple phase invoicing, estimate-based progress invoicing, or deposits tracked as a liability.

3) The mental model (keep short)

  • Invoice is what posts revenue (not the bank deposit).
  • Undeposited Funds is a holding step for payments not yet deposited—nothing more.
  • Deposits can be handled two ways:
    • Simple: deposit is an early payment against an invoice
    • CPA-style: deposit sits in a liability until applied/earned
  • Mixing methods mid-job creates weird A/R and garbage reporting.

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

Choose your path (Start simple → grow)

  1. Pick ONE path:
    • ✅ Path A: Simple progress invoices + payments (fast, reliable)
    • 🛠️ Path B: Estimate-based progress invoicing (cleaner phase consistency)
    • ⚠️ Path C: Deposits/retainers as a liability until earned (most CPA-style)

✅ Path A — Simple progress invoices (stop after Step 7)

  1. Create the phase invoice:
    • Go to + NewInvoice
    • Select the customer
    • (If you use jobs) select the Project
    • Add a clear phase description: “Progress #1 – Rough-in”
  2. Repeat for each phase invoice (Progress #2, Final) as work is earned
  3. Receive the payment:
    • Go to + NewReceive payment
    • Select the invoice being paid
    • Deposit to Undeposited Funds (if batching) or your bank account (if not)
  4. If using Undeposited Funds, complete the deposit:
    • Go to + NewBank deposit
    • Select the payments from Undeposited Funds
    • Choose the bank account
  5. Keep deposits simple:
    • If you take “a deposit,” make it a phase invoice (Deposit / Mobilization) and receive payment against it
  6. Stop here marker (Path A):
    If A/R is believable and you can find every payment tied to an invoice, stop.

Pro tip: If you want fewer arguments, put the phase name on the invoice. Memory is not a system.

🛠️ Path B — Estimate-based progress invoicing (stop after Step 12)

  1. Build the estimate/SOV once:
    • Go to + NewEstimate
    • Add scope lines using your items from Products and services (Rough-in, Trim, etc.)
    • Save
  2. Generate progress invoices from the estimate workflow you use:
    • Create an Invoice based on the estimate for the phase/portion earned
  3. Receive payment using Receive payment and apply it to the progress invoice
  4. Deposit payments using Bank deposit if you batch via Undeposited Funds
  5. Stop here marker (Path B):
    If invoices stay consistent with the estimate/SOV and collections are clean, stop.

Warning: Don’t freehand new phase lines if your estimate is your control doc. That’s how scope control evaporates.

⚠️ Path C — Deposits as a liability (explicit, repeatable) (stop after Step 18)

  1. Create the liability account (one-time):
  • Go to AccountingChart of accountsNew
  • Account type: Other Current Liabilities
  • Name: Customer Deposits (or Unearned Revenue)
  1. Create a deposit item mapped to the liability (one-time):
  • Go to SalesProducts and servicesNewService
  • Name: Customer Deposit
  • Map the income/account to the liability account (Customer Deposits)
  1. Take the deposit using an invoice (keeps A/R clean):
  • Go to + NewInvoice
  • Add item: Customer Deposit
  • Amount = deposit amount
  1. Receive the deposit:
  • Go to + NewReceive payment
  • Apply to the deposit invoice
  • Deposit to Undeposited Funds (if batching) or bank account
  1. When you bill earned work later:
  • Create your normal progress Invoice for earned work (income items)
  • Add a negative line to apply the deposit:
    • Item: Customer Deposit
    • Amount: negative value (example: -5,000)
  • This reduces the invoice total and reduces the liability balance
  1. Stop here marker (Path C):
    If your Balance Sheet shows deposits sitting in the liability until applied, stop.

Pro tip: The deposit item is the “valve.” It lets you move money from liability to earned billing cleanly without inventing weird journal entries.

5) Real-world example (mandatory)

Job: Contract $20,000
Deposit $5,000
Progress #1 $7,000
Progress #2 $6,000
Final $2,000

✅ Path A

  • Invoice Deposit/Mobilization $5,000 → Receive payment
  • Invoice Progress #1 $7,000 → Receive payment
  • Invoice Progress #2 $6,000 → Receive payment
  • Invoice Final $2,000 → Receive payment
    Result: simple, consistent A/R and revenue timing tied to invoices.

⚠️ Path C (liability)

  • Deposit invoice uses item “Customer Deposit” mapped to liability
  • Later progress invoice includes:
    • Earned work items $7,000
    • Customer Deposit -$5,000
      Customer owes $2,000 on that invoice, and the liability drops by $5,000. Clean.

6) Run this report now (mandatory checkpoint)

  • Report name: Balance Sheet
  • Filters/settings:
    • Date = today
    • Click Run report
  • What “good” looks like:
    • A/R is believable (open invoices match reality)
    • (Path C) Customer Deposits liability shows unapplied deposits
    • Undeposited Funds is not ancient or bloated
  • What “broken” looks like:
    • A/R negative or wildly off
    • Deposits counted as revenue twice
    • Payments parked in Undeposited Funds forever
  • One fix if broken:
    • Clear deposits correctly using Bank deposit and verify payments are applied to invoices in Receive payment.

7) Lab (do it on your file)

  • [PASS/FAIL] You picked a path (A, B, or C) and wrote it down
  • [PASS/FAIL] You created at least 2 progress invoices for one job
  • [PASS/FAIL] You used Receive payment and applied it to the correct invoice
  • [PASS/FAIL] If using Undeposited Funds, you cleared it using Bank deposit
  • [PASS/FAIL] You ran Balance Sheet and A/R looks believable
  • [PASS/FAIL] (Path C) You created Customer Deposits liability + Customer Deposit item
  • [PASS/FAIL] (Path C) You applied a deposit using a negative Customer Deposit line on a later invoice
  • [PASS/FAIL] You can explain: what posts revenue (invoice) vs what posts cash (deposit)

8) Knowledge check (3 questions)

  1. What posts revenue in QBO: Invoice or Receive payment?
  2. What is Undeposited Funds actually for?
  3. In Path C, what reduces the deposit liability when you bill earned work?

9) Next + Related

  • Previous: [Module 5 — Advanced Products & Services (Start simple → grow)]
  • Next: [Module 7 — Change Orders]
  • Related modules (2–3)
    • [Module 10 — Monthly Close in QBO]
    • [Module 11 — QBO Cleanup / Rebuild]
    • [Module 9 — Enhanced Job Costing & Profit Reporting]
  • Don’t do this warnings
    • Don’t record a deposit as income and then invoice later. That’s double revenue.
    • Don’t use Undeposited Funds as a revenue workaround. It doesn’t work.
    • Don’t mix paths mid-job unless you like detective work.

Fast now = slow forever.

FAQ (short)

What’s the simplest progress billing workflow?
Phase invoices in Invoice, payments in Receive payment, deposits cleared with Bank deposit if using Undeposited Funds.

How do I track deposits without counting them as income yet?
Use Path C: a liability account + a deposit item mapped to that liability, and apply it later with a negative line item.

Why is my A/R weird after deposits?
Payments weren’t applied to invoices correctly, or deposits weren’t cleared from Undeposited Funds.