All work

HVAC & generator company, NJ

A QA/QC checklist that checks itself against Housecall Pro

Monthly Excel checklist workbooks replaced by one app. Jobs flow in from Housecall Pro, and managers see every missing checklist before a pay period closes.

The problem

Where the time was going.

Every employee had a locked Excel workbook per month, with 35 checklist tabs and 10 call back tabs, filled in by a call team working overseas. Each job's customer, date, location, and invoice number were typed in by hand from Housecall Pro.

Nobody could see from one place which jobs still needed a checklist before a pay period closed, and a missing checklist had real consequences at payroll. Half the questions asked things Housecall Pro already knew, and there was no record of who answered what, or when.

What we built

The fix.

A web app for the call team, managers, and admins. Jobs sync from Housecall Pro through webhooks, and the call team works one New Jersey day at a time, with jobs grouped by technician and the checklist header already filled in.

Each checklist has 44 items answered Y, N, or B with a tap or a keystroke, and it saves on every answer. Where Housecall Pro already knows the answer, like the arrival time, the deposit, or a paid invoice, the app suggests it with the evidence and a person confirms it.

Managers get a completion tracker per pay period and production numbers per technician, using the old workbook's formulas, with a 60/40 split when two technicians share a job.

Every answer, submit, and reopen goes to an audit log. Any N answer gets a follow-up with an owner and a due date, and the company can export all of its data in one click.

Results

What changed.

10 daysfrom first commit to live

One place to see every job's checklist, scores that match the old workbook exactly, and no more typing jobs in by hand.

How it works

Stack and approach, in plain language.

  • Next.js
  • Neon Postgres
  • Drizzle ORM
  • Housecall Pro API and webhooks
  • Resend
  • Vercel
  1. Housecall Pro sends a webhook whenever a job, invoice, or customer changes. The app verifies it, stores it, and re-syncs that job. It only ever reads from Housecall Pro and never writes back.
  2. Rules compare the synced data with each checklist step: did the tech start early, was the deposit collected, is the invoice paid, is a follow-up job booked. Matches show up as suggestions with the evidence, and nothing is ever submitted on its own.
  3. Scoring runs on every save using the old workbook's formulas. The expected results were made by filling in the real workbook and recalculating it in Excel, so Excel is the referee.
  4. Every day and pay period is worked out in Eastern time on the server, since the call team works from another time zone. A nightly reconcile catches anything a webhook missed.

Next step

Got a similar problem?

Thirty minutes, no cost, no pitch deck. Tell us what is eating your time and we will tell you what we would build.

Book a free discovery call