The Contractor Close

The one-sentence version

We close contractors' books by the 10th and hand them one page that shows what they actually made on every job — $500 a month to start.

The Contractor Close is one product. It is not three services bundled together. The client buys the outcome — closed books, one page, thirty minutes — not the components. Every process in this document exists to deliver that outcome reliably.

What the client receives

  • Books closed by the 10th
  • QuickBooks cleanup included in first close
  • One-page Margin Report
  • 30-minute numbers call
  • Reports are theirs to keep, always

What we need from the client

  • QuickBooks accountant access
  • Field software read access
  • 30 minutes for the numbers call
  • Candid feedback (founding clients)

Field software we support

PlatformAccess typeWhat we pull
ServiceTitanRead-only API or exportJobs, revenue, technician, service line
JobberRead-only API or exportJobs, revenue, crew, service type
Housecall ProExportJobs, revenue, technician, job type

Monthly cadence

Every month runs the same way. Predictability is the product. If we're scrambling, something is wrong.

1st – 3rd
Pull prior month data from field software and QuickBooks
All transactions, job exports, bank feeds synced
3rd – 7th
Close the books
Reconcile, categorize, match field software revenue to QuickBooks
7th – 9th
Build the Margin Report
Job-level, crew-level, service-line-level margin calculated and laid out
10th
Deliver to client — hard deadline
Margin Report emailed. If it's not out by the 10th, we've missed the standard.
10th – 15th
Schedule and run numbers call
30 minutes. Prep notes ready before the call.

Client onboarding

Everything that happens before the first close. Onboarding ends when we have clean access and a clean starting point. Do not attempt the first close on a mess.

Step 1 — Access

  • 01
    QuickBooks accountant access

    Request via the client's QuickBooks account. We need full accountant access, not view-only. Confirm we can see all accounts, bank feeds, and prior transactions.

  • 02
    Field software access

    Read-only is sufficient. For ServiceTitan and Jobber, API access preferred. For Housecall Pro, schedule a recurring monthly export. Confirm job data going back at least 3 months is accessible.

  • 03
    Bank statements

    If bank feed is not connected in QuickBooks, request last 3 months of statements. Connect the feed before first close.

Step 2 — Books cleanup

  • 01
    Chart of accounts review

    Most contractors are on a generic QuickBooks template. Rebuild or rename accounts to a contractor-specific structure: separate materials, labor, subcontractors, equipment, and overhead. Document the old structure before changing anything.

  • 02
    Categorize uncategorized transactions

    Go back to January 1 of the current year minimum. Flag any transaction over $500 that can't be categorized without asking the client. Batch questions — one email, not ten.

  • 03
    Reconcile prior months

    Reconcile all bank accounts for any unreconciled months before first close. Note any adjustments made and keep a clean log.

  • 04
    Confirm first close month

    Tell the client what month we are closing first and when they will receive the report. Set the expectation on the 10th deadline.

Rule

Cleanup is included in the first close. We do not charge extra for it, and we do not let it become an excuse to miss the 10th. If cleanup is going to take more than 3 days, tell the client we're pushing the first close to next month. Do not deliver a half-done close on time.

The monthly close

The close is the foundation. If the books are wrong, the Margin Report is wrong, the numbers call is wrong, and the client is making decisions on bad data. This does not happen.

Close checklist

  • All bank accounts reconciled to statement ending balance
  • All credit card accounts reconciled
  • Bank feed transactions categorized — zero uncategorized items
  • Payroll matched to QuickBooks (gross wages, employer taxes, net pay)
  • Materials and subcontractor costs allocated to correct job/service line where possible
  • Revenue from field software matches revenue in QuickBooks (within rounding)
  • Prior month adjustments documented
  • P&L reviewed for obvious anomalies (a category that's 3x normal, a missing month of revenue, etc.)
  • Close confirmed — do not proceed to Margin Report until all boxes are checked

Common issues

IssueLikely causeFix
Revenue doesn't match field softwareInvoices created in QuickBooks instead of imported; timing differencesReconcile invoice by invoice. Note timing differences; don't force them.
Payroll out of balanceManual checks, owner draws coded wrong, benefits not mappedGet payroll register from client. Map line by line.
Uncategorized transactions won't resolveMissing context — need client inputBatch all questions into one email. Flag in close log. Close everything else first.
Prior months are a messNo bookkeeper, or bad prior bookkeeperDo not try to fix all history in month one. Clean the current month. Note what's outstanding. Address prior months on a separate track.

The Margin Report

One page. Three views: by job, by crew, by service line. This is the product. The close makes it possible; the report is what the client sees and acts on.

What goes on the report

Job-level view

  • Job name / address
  • Revenue
  • Direct costs (materials, labor, subs)
  • Gross margin $
  • Gross margin %

Crew & service line view

  • Revenue by crew / by service line
  • Margin by crew / by service line
  • Volume (# of jobs)
  • Average job margin

Build process

  • 01
    Pull job export from field software

    All jobs completed in the prior month. Columns needed: job ID, date completed, technician/crew, service type, invoiced amount.

  • 02
    Pull costs from QuickBooks

    Materials, subcontractors, and direct labor allocated to jobs where possible. For unallocated overhead, distribute proportionally to revenue (document the method and use it consistently).

  • 03
    Match and calculate

    Join field software jobs to QuickBooks costs. Calculate gross margin per job. Aggregate by crew and by service line.

  • 04
    Build the one-pager

    One page. Clear hierarchy: totals at the top, detail below. No jargon. Numbers the owner can read in 60 seconds. Flag the best and worst performing job, crew, and service line.

  • 05
    Sanity check

    Total revenue on report must match QuickBooks P&L. If it doesn't, find the gap before sending. Never send a report where the numbers don't reconcile.

The standard

If a contractor looks at this report and has to ask what a number means, the report failed. Every number should be immediately legible to someone who has never seen a P&L. If in doubt, simplify.

The numbers call

Thirty minutes. Plain English. The goal is one decision — not a financial review, not a strategy session. The call ends with the owner knowing one thing they should do differently next month.

Call structure

  • 01
    Open: the headline (2 min)

    One sentence summary of the month. "You made $X gross margin, which is up/down from last month. Here's why." No throat-clearing.

  • 02
    The best and worst job (5 min)

    Walk through the highest and lowest margin job. What made the difference. Was it pricing, materials, crew efficiency, scope creep? One of these will be obvious. Name it.

  • 03
    The crew and service line picture (8 min)

    Which crew made money, which didn't. Which service line is the engine. Are there patterns — a crew that consistently underperforms, a service that prices too low?

  • 04
    The one thing (10 min)

    One specific, actionable thing to do before next month's call. Not three. One. Make it concrete: "Raise the price on X service by $Y," not "think about pricing."

  • 05
    Close (5 min)

    Confirm next close date. Ask if anything changed this month that we should know about for next month (new crews, new service lines, big material purchases).

Pre-call prep (required)

  • Margin Report reviewed — know the numbers before the call, not during it
  • Best margin job identified
  • Worst margin job identified
  • Best and worst crew identified
  • Best and worst service line identified
  • One thing decided in advance — don't figure it out on the call
  • Note anything unusual from the close (a big one-time cost, a timing anomaly)

Quality control

We are a two-person firm. The standard for quality is what a client would expect from a much larger firm. These checks are non-negotiable.

Before the report goes out

  • Total revenue on Margin Report matches QuickBooks P&L — exactly
  • No job on the report has a negative cost (data mapping error)
  • No job has 100% margin (cost missing — investigate before sending)
  • Crew names and service line names match what the client uses, not our internal codes
  • Report is one page — if it's spilling to two, consolidate
  • Second set of eyes on the numbers (Jack or Logan, not the same person who built it)
The rule on errors

If we send a report with a wrong number and the client catches it, we own it immediately, send the corrected report same day, and explain what happened. We do not minimize it. An owner who made a decision based on our wrong number deserves that honesty. One mistake handled well is forgiven. A mistake handled poorly ends the engagement.

Client communications

Contractors don't want to hear from their bookkeeper constantly. They want to know things are handled. Communicate when it matters — and always before they have to ask.

Standard touchpoints

WhenWhatHow
10th of every monthMargin Report deliveredEmail with report attached. One sentence on the headline finding.
10th–15thNumbers callScheduled at onboarding, recurring. Client confirms or reschedules.
As neededCategorization questionsBatch into one email. Never ask the same question twice. Document the answer.
If something is wrongProactive flagCall or email before the client notices. Do not wait for the report to surface it.

What we do not do

  • Send weekly check-ins they didn't ask for
  • Use accounting jargon in client emails
  • Ask the client to explain their own business to us
  • Miss the 10th without telling them in advance

Escalation rules

Two-person firm. No committees. These rules exist so we don't have to debate every edge case.

When to pause and talk before acting

  • !
    Books are more than 30 days behind at onboarding

    Don't commit to a first close date until you know what you're dealing with. Assess first, then set the date.

  • !
    Revenue discrepancy between field software and QuickBooks exceeds 5%

    Do not close until resolved or documented. Flag to the other partner before contacting the client.

  • !
    Client asks for something outside the scope of The Contractor Close

    Tax advice, exit prep, CFO work. Do not say yes or no on the spot. "Let us think about that and come back to you."

  • !
    A client is making a major business decision based on something we said

    If they're using our numbers to hire, fire, price a bid, or talk to a buyer — verify our numbers twice before the call.