The Operating System
How we deliver The Contractor Close. Every step, every month, every client.
The Contractor Close
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
| Platform | Access type | What we pull |
|---|---|---|
| ServiceTitan | Read-only API or export | Jobs, revenue, technician, service line |
| Jobber | Read-only API or export | Jobs, revenue, crew, service type |
| Housecall Pro | Export | Jobs, revenue, technician, job type |
Monthly cadence
Every month runs the same way. Predictability is the product. If we're scrambling, something is wrong.
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
- 01QuickBooks 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.
- 02Field 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.
- 03Bank 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
- 01Chart 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.
- 02Categorize 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.
- 03Reconcile prior months
Reconcile all bank accounts for any unreconciled months before first close. Note any adjustments made and keep a clean log.
- 04Confirm 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.
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
| Issue | Likely cause | Fix |
|---|---|---|
| Revenue doesn't match field software | Invoices created in QuickBooks instead of imported; timing differences | Reconcile invoice by invoice. Note timing differences; don't force them. |
| Payroll out of balance | Manual checks, owner draws coded wrong, benefits not mapped | Get payroll register from client. Map line by line. |
| Uncategorized transactions won't resolve | Missing context — need client input | Batch all questions into one email. Flag in close log. Close everything else first. |
| Prior months are a mess | No bookkeeper, or bad prior bookkeeper | Do 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
- 01Pull job export from field software
All jobs completed in the prior month. Columns needed: job ID, date completed, technician/crew, service type, invoiced amount.
- 02Pull 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).
- 03Match and calculate
Join field software jobs to QuickBooks costs. Calculate gross margin per job. Aggregate by crew and by service line.
- 04Build 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.
- 05Sanity 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.
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
- 01Open: 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.
- 02The 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.
- 03The 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?
- 04The 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."
- 05Close (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)
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
| When | What | How |
|---|---|---|
| 10th of every month | Margin Report delivered | Email with report attached. One sentence on the headline finding. |
| 10th–15th | Numbers call | Scheduled at onboarding, recurring. Client confirms or reschedules. |
| As needed | Categorization questions | Batch into one email. Never ask the same question twice. Document the answer. |
| If something is wrong | Proactive flag | Call 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.