Bookkeeping for trade contractors. Finally know which jobs actually made money.
A managed bookkeeping service for shops doing $750K–$3M with 2–6 trucks. Powered by AI agents, reviewed by a former controller. Works with your existing Jobber or Housecall Pro.
Books closed by the 15th business day · Founder-led onboarding · No long-term contract
Built for your trade
Same managed service, a chart of accounts and job costing tuned to how your work actually gets billed.
The pain you have today
You didn't get into this trade to chase down a part-time bookkeeper for last month's P&L.
Your monthly P&L lands weeks after the month ends
You're bidding this week's jobs on numbers that are three weeks stale. Bookkeeper turnaround is the bottleneck.
You can't tell which jobs actually made money
The big commercial install might have been a loss. By the time the P&L lands, the next quote is already out the door.
Field data gets rekeyed into QBO by hand
A part-time bookkeeper at $800–$1,500/mo manually moves Jobber or Housecall Pro data into QuickBooks. Slow, error-prone, expensive.
How it works in 60 seconds
Connect, sync, review, deliver. The handoff into your books is the part we replace.
Connect your bank, cards, and field-service tool
Plaid links your bank and cards. We bring your Jobber or Housecall Pro data into your books — so job revenue and costs land in the ledger without you rekeying them.
AI agents categorize and reconcile your books
Transactions are categorized against a chart of accounts built for your trade, and supply-house costs get matched to the right job.
A controller reviews every customer-facing decision
Austin and team review categorizations, journal entries, and month-end close before anything is final. AI does the work. A human signs off.
Per-job P&L with every monthly close
Want to know if a specific job made money? Ask Poof's assistant, or text your controller — and get a straight answer instead of a P&L that's three weeks late.
Every call answered. Every job on the board.
Managed customers can have Poof answer the shop's line. An AI receptionist picks up, works out what the caller needs, books a real slot on a real tech's calendar, dispatches the tech, and escalates anything unsafe to a person. The revenue that used to go to voicemail lands on the board instead — and the job it creates gets costed like every other job on your P&L.
It answers, and it books
The agent knows your shop’s name, hours, and service area. It works out what the caller needs and puts the job on the board — at 9pm, on a Saturday, or while every tech is on a roof.
Safety calls are decided in code, not by AI
Gas smell, carbon monoxide, smoke, sparking, or an active alarm trigger an immediate emergency escalation and a scripted “leave the building, call 911” response. No heat below 45°F and no cool above 95°F are emergencies too. These are rules in the software — the AI narrates the call, it never decides what counts as an emergency.
It books against real availability
Slots come from your technicians, their weekly windows, and their time off, minus what is already booked, with drive-time buffer respected. Skills are a preference rather than a gate — a tech tagged for the work is preferred, an untagged tech is next — so a shop that has never tagged anyone is still never told it has no availability. The database refuses overlapping bookings outright, so two calls landing at once cannot double-book a tech.
It knows when to hand off
A safety trigger, an after-hours emergency, no slot inside the urgency window, a caller who asks for a person, a repeat caller within 24 hours, a cancellation threat, or low confidence — any of these route the call to a human.
Then it dispatches — or waits for you
Two independent switches: whether the AI picks who goes, and whether the system texts them. Leave both on and the assigned tech gets their job on their phone. Turn the first off and the booking still stands with the customer’s promised window — the job just lands under “Needs a tech” for whoever staffs your board.
The caller becomes a customer immediately
A booked job creates the customer record on the first call, not weeks later when someone finally invoices it. Matching runs on the last ten digits of the number, so the same household calling from a different phone format stays one customer instead of becoming two.
The work spreads across the crew
When several techs are free for the same slot, the job goes to whoever has the fewest jobs that day, then the fewest that week. Nobody quietly absorbs every call — which is the kind of thing that stays invisible until a good tech burns out.
A job nobody is going to raises the alarm
An appointment approaching its start time with no tech assigned escalates to you — whether that is because you dispatch by hand or because nobody was free when it was booked. Emergencies are assigned automatically regardless of how you have set the switches.
Versus an answering service
An answering service runs $200–$600/mo to take a message and, on a good day, drop it into a calendar. It doesn't know your books, which of your techs is certified for the work, or which calls are emergencies. Poof's receptionist books against real availability, escalates the unsafe ones by rule, and the job it creates gets costed like every other job on your P&L.
What it does not do
We install it for you as part of the managed service — we provision the number and the voice agent. It is not a switch you flip yourself. Customer-facing texts are not built yet: no booking confirmation, no reminder, no “your tech is on the way.” Your technician does get texted their job — your customer does not. It does not take payment on the call, does not optimize routes across the day's board, and does not clone your voice. There are no outbound sales calls. We would rather tell you that now than after you have signed.
Your tech closes the job from a text. The invoice writes itself.
The gap between the work getting done and the work getting billed is where trade shops lose money and time. Poof closes it without asking your techs to learn anything.
The tech gets a text
A link that opens exactly their job. No account, no password, no app to install — which is the honest answer to “my guys won’t use another app.” The link is signed and can be revoked, and rescheduling invalidates it automatically.
They work the job from their phone
On-my-way, arrived, and completed times recorded when they happen, not guessed at afterwards. What was wrong, what was done, what still needs doing. The equipment at that address is already on a list the tech taps to attach — an unlisted unit gets typed once and is on file for whoever attends next. Photos — before, after, nameplate, receipt.
Parts and labor get logged by the person who knows
Each line tagged as labor, part, or fee at the jobsite by the tech who put it there. Parts are picked from your own price list, so the invoice line lands on the right sales account, and the part’s cost rides in from the catalogue — never from the tech’s form, because a tech on a roof should not be looking up landed cost. That is what makes the margin on the job real, instead of something the office infers from a description a week later.
They tap Complete, and the invoice exists
A draft invoice is waiting in the office with the tech’s own words on it, ready for review. Nobody retypes a paper ticket. And the completed call becomes a job — linked to the customer, with the invoice tagged to it, so it reaches your Per-Job P&L without anyone remembering to tag anything.
Your office reads it before your customer does
The dispatcher opens the field report from the board — what the tech wrote, the photos, the parts and labor, the customer’s sign-off, the draft invoice it produced, and — on a maintenance visit — the plan visit it earned, or a one-click way to record one. The tech’s internal notes are shown marked as never reaching the customer. Nothing goes out until a person sends it.
Your supply-house receipt stays yours
Every jobsite photo is opted in or out of the customer's invoice individually, and the receipt showing what you paid for the part defaults to not printing. A photo of your cost can never reach a customer by accident.
An invoice that looks like trade work
Diagnosis, work performed, recommended follow-up, equipment, and warranty print under real headings, with the opted-in photos beneath them. Not a one-line “HVAC service call — $458” that invites a phone call about what it was for.
What the tech's page does not do
No GPS tracking — we are not building a way to watch your crew. It does not take payment on site. It records a typed name and a timestamp rather than a drawn signature. And it needs a signal: there is no offline mode, so a basement with no bars means the tech fills it in when they are back in the truck. Scheduling and re-routing stay on the dispatch board, not the tech's phone.
A down payment isn't revenue until the job is done. A plan isn't revenue until the visit happens.
Your bank feed says the money arrived. A controller says it isn't yours yet. Poof books it the way a controller would, and moves it to earned revenue the day the work is actually done.
The deposit on an install
A down payment is held as a liability from the day it lands, not booked as income. When the job is done it is released to that job’s revenue — so the install’s margin is right, and the month you took the deposit was never inflated by money you had not earned. The release previews before it posts, refuses to release money that was never categorized as a deposit, and warns you if the job was also invoiced.
The prepaid maintenance plan
A prepaid plan is deferred when it is sold. Each maintenance visit earns its share to the penny — automatically, the moment the tech taps Complete. A repair call on a plan customer does not count against the plan, and if a customer somehow has two open plans, your office picks which one the visit belongs to. The software does not guess.
Cancellation is a decision, not a write-off
When a plan customer leaves, your office records whether the unearned balance was refunded or forfeited, and the books show which. Poof deliberately does not decide that for you. Nobody should find out in March that prepaid money quietly disappeared in November.
Illustrative amounts. Built for prepaid plans — the annual agreement a customer pays for up front. A visit that was both released against a plan and invoiced on its own is flagged at month-end close, so it is caught before the books are signed.
Pricing built for trade shops
Replaces a part-time bookkeeper, and delivers detail they can't. No long-term contract.
Job Margin & Recovery Audit
Before you commit to anything monthly, we go through your last 12 months of jobs and bank activity and hand you a number: the margin you are leaving on the table, and where it is going. Five days from the day we get your data.
- Per-job margin on your last 12 months of completed jobs
- Where the leaks are — underbilled work, uncosted labor, financing fees eating installs
- A dollar figure for what it is costing you a year
- Credits in full against the $1,500 onboarding if you sign within 30 days
one week, paid
Book a 20-minute call to kick it off. No monthly commitment to find out.
Poof Managed for Trades
2–4 truck shops, $750K–$1.5M revenue
- All Poof Professional features included
- Per-job P&L with every monthly close
- Monthly close + controller review
- Jobber / Housecall Pro data brought into your books
- A controller you can text or email
- Monthly variance review
Poof Managed for Trades Plus
5+ truck shops, $1.5M–$3M revenue
- Everything in Managed for Trades
- Multi-location reporting
- Quarterly review call
- Priority response
Onboarding (one-time)
Historical cleanup up to 18 months, QBO or Xero migration, Jobber / Housecall Pro setup, chart of accounts aligned to your trade. Your $750 audit credits against this in full if you sign within 30 days.
What we commit to
On every managed plan. Not aspirations — the deal.
- Books closed by the 15th business day, every month
- Every completed job costed within 5 business days
- An unbilled-work report every Friday
- Your controller responds within 1 business day
Above $3M in revenue? Poof Managed for Trades Pro starts at $2,400/mo, scoped per shop. Book a call and we'll size it with you.
Not sure which tier fits? Book a 20-minute call. We'll be straight about whether Poof makes sense for your shop.
Austin Semple — 10+ years of audit and controller work
Before Poof, Austin spent a decade auditing and running the books for small service businesses. The pattern was always the same: an owner who built a real business from a service truck, paying $800–$1,500/mo for a bookkeeper who delivered a PDF three weeks late and couldn't answer the one question that mattered — “which jobs made money?”
Poof Managed for Trades is built on that experience. AI agents do the volume work. A credentialed human signs off on every customer-facing decision. The ledger underneath is real double-entry bookkeeping with reversal entries — built to survive any IRS or insurance audit.
Austin personally onboards the first 50 shops. If that's you, you're working directly with the founder.
Questions shop owners ask
What is the $750 Job Margin & Recovery Audit?
A paid, one-week diagnostic — the way most shops start with us. We take your last 12 months of jobs and bank activity and hand you a dollar number in five days: what your real per-job margins are, where money is leaking (underbilled work, labor that never got costed to a job, financing fees quietly eating installs), and what it adds up to over a year. It is $750, it is not refundable, and it credits in full against the $1,500 onboarding if you sign within 30 days. We do not do a free version — a free audit attracts people who were never going to buy, and you would get a worse look at your own numbers.
What do you actually commit to once I am a client?
Four things, in writing. Your books are closed by the 15th business day, every month. Every completed job is costed within 5 business days. You get an unbilled-work report every Friday. And your controller responds within 1 business day. If we miss, you will hear it from us first.
What happens to a customer's deposit, or a prepaid maintenance plan, in my books?
It stays unearned until you have earned it. A deposit on an install is held as a liability from the day it lands and released to that job's revenue when the job is done — previewed first, with a warning if the job was also invoiced. A prepaid maintenance plan is deferred when it is sold and earns its share per visit, automatically when the tech taps Complete on a maintenance visit. If a plan customer cancels, your office records refund or forfeit and the books show which; Poof never makes that call for you. It is the difference between books that read the way the bank feed suggests and books a controller would sign.
Which trades do you work with?
HVAC, plumbing, and electrical service shops doing roughly $750K–$3M with 2–6 trucks. Other field-service trades on the same Jobber or Housecall Pro setup are usually a fit too — book a call and we'll be straight about it.
Do I need to switch from Jobber or Housecall Pro?
No. Keep using exactly what your techs use today. We bring your Jobber or Housecall Pro data into your books for you — your dispatcher and techs see no change. The handoff into your books is what we replace, not the field tool.
Is this real bookkeeping or just AI guessing?
Real bookkeeping. Every customer-facing decision is reviewed by a credentialed human — Austin or someone on his team, with audit and controller experience. The AI does the volume work. The human signs off on the calls that matter. The ledger is real double-entry, built to survive any IRS or insurance audit.
How is this different from my current bookkeeper?
Granularity: per-job P&L on every close, which most part-time bookkeepers can't deliver at any price. Accountability: a former controller reviewing the work, with an audit-grade ledger underneath. Responsiveness: a real person you can text about a specific job, not someone who logs in once a month.
Per-job profit on every monthly close. Starts at $1,200/mo.
Book a 20-minute call with Austin. We'll look at your current setup and give you a straight answer on whether Poof fits.
