Plumbing business software and reporting, on top of QuickBooks and the board you already run
You can see revenue. We build that layer on top of ServiceTitan, Housecall Pro, Jobber, FieldEdge or whatever you run, and we read from QuickBooks rather than replacing it.
What changes for you as the owner
3 things that decide this
- 01You get job costing that has drive time, callbacks and warranty work in it, so margin by job type, by tech and by truck is a number rather than a feeling.
- 02Your A/R turns into a list somebody can work: who owes what, how old it is, which card failed, and which customer has an open job you'd rather not deliver first.
- 03Service agreements renew themselves. Water-heater flushes and panel inspections get booked against real capacity, failed cards get retried, and members get flagged the next time they ring.
From the closed job to the renewal, and what each step writes back
These are the three stations this page owns. Our hub page walks the rest, from the first ring through to close-out.
Station 01 · Invoice out, money in
- Today
- Invoices go out two days late because somebody has to type them, a declined card sits in a folder until month end, and chasing is whoever's least busy on a Thursday.
- What we automate
- Invoice at close-out off the job your tech already filled in, card retried automatically on failure, and a polite text after seven days. Your A/R comes back as a worklist rather than an aged report nobody opens.
- What stays human
- Disputes and goodwill stay with a person. Nobody wants software deciding whether to waive a fee for a customer you've had for nine years.
Writes to ServiceTitanInvoice and payment status; your QuickBooks sync stays exactly as it is.
Station 02 · What the job actually cost
- Today
- Labour is in the FSM, materials are on a PO, the callback is a separate job nobody links back, and drive time is nowhere. So margin per job type lives in a spreadsheet somebody rebuilds every quarter.
- What we automate
- Cost pulled together from the systems that already hold it, with drive time, callbacks and warranty work attributed to the original job. Margin by job type, by tech and by truck, updated nightly.
- What stays human
- You still decide what to do about a job type that loses money. Your numbers just stop being an argument.
Writes to ServiceTitanRead-only. We never re-key into QuickBooks or overwrite your job costs.
Station 03 · The renewal nobody remembered
- Today
- Agreements lapse quietly, the flush reminder goes out when somebody remembers it exists, and reviews get asked for by accident.
- What we automate
- Renewals fire on schedule, seasonal reminders get booked against real capacity, review requests go out at the moment the job closes well, and lapsed members land on a reactivation list.
- What stays human
- Saving a member who's about to walk is still a call from you or your service manager. We make sure you know which ones they are, a month before.
Writes to ServiceTitanMembership status and the next scheduled visit.
Every station writes to your board of record, whatever it is. On Service Fusion, an older FSM, a spreadsheet or a system you had built years ago, the stations stay the same and only the write-back changes.
Four things your platform's reports won't give you
Job costing with the awkward costs in it
Drive time, callbacks, warranty work and the second trip for a part nobody stocked. Those are the costs that decide whether a job type makes money, and they're the four your platform's margin report almost never includes.
A/R you can work, not an aged report
Who owes what, how long it's been, which card failed and why, and which customer has an open job on the board. Sorted so your office manager can start at the top on Monday and stop when the list is empty.
A flat-rate book that stays current
Material costs move, labour rates move, and a book priced two years ago quietly sells work at last year's margin. We keep the book maintained against your actual costs and flag the tasks whose margin has slipped furthest.
Service agreements that renew themselves
Renewal reminders on schedule, water-heater flushes and panel inspections booked against capacity, failed cards retried, members flagged when they ring, and a reactivation list for the ones who lapsed last year.
Your FSM has reports. QuickBooks has reports. Neither one has your margin.
Ask most owners which job type makes the most money and you'll get a confident answer, then a pause. The confident answer comes from revenue, which every system reports well. The pause comes from cost, which is split across the FSM, the PO, the payroll run and a callback logged as its own job. Nothing joins them, so nothing tells you that your water heater swaps carry the shop and your sewer work barely breaks even.
We build the join, and it's read-only on purpose. QuickBooks stays your ledger and we never re-key into it. On Housecall Pro and Jobber, jobs, invoices and payments are exposed through public APIs. ServiceTitan needs API access through its developer program and your own tenant credentials, and we confirm exactly what your account exposes during the audit, before anyone estimates a build. Running Service Fusion, an older FSM, a spreadsheet or something you had built years ago? We read from that instead, and where a system exposes nothing we build the capture rather than pretend it's there.
- 01QuickBooks stays your ledger. We read from it for job costing and never write into it.
- 02Margin by job type, by tech and by truck, from the systems that already hold the numbers.
- 03Dashboards your office manager can read on a Monday, not a data warehouse nobody logs into.
Life safety is a hard rule in the triage table, not a judgement the model makes
Before anyone writes a prompt we write the escalation table with you, and it's the first thing your dispatcher reads. A gas smell, a sparking panel, water running into a live panel or an outlet, a carbon monoxide alarm: those calls go straight to a person, and where it applies the line tells the caller what to do right now. Shut the main. Get out of the house. Don't touch the panel. Then it rings your on-call tech and stays on the line until somebody picks up.
Everything else is just as plain, and we put it in writing before the build starts. No AI on your line ever tells a caller that a system is safe, that gas has cleared or that a panel can be re-energised: that call belongs to a licensed plumber or electrician standing in front of it. Licensed work stays licensed, permits and inspections stay in your name, and the software only tracks whether they've been pulled and booked. Every call is recorded, callers are told so at the top, and texting runs on the opt-in your office already collects.
- 01Gas, sparking, water into electrics and CO alarms escalate to a human before the caller finishes the sentence.
- 02No AI declares a system safe or a panel clear. Diagnosis and sign-off stay with your licensed tech.
- 03Your numbers stay yours. Reporting is read-only against QuickBooks, and nothing we build re-keys or overwrites your ledger.
“They will treat your vision like their own and build it that way.”
Ron Klabunde · Founder, SmartREI ↗
Some of the systems we have shipped
- AuditFree. We read last month's revenue by job type, your A/R ageing and your membership renewal list.
- DiagnoseWe map the booking path into your board and sit with your dispatcher and your office manager for an afternoon.
- BuildFixed price from the diagnostic. Tested on your real calls, your real jobs and your own flat-rate book.
- RunMonitoring, a named engineer, and the first two months of maintenance free.
Best fit: five or more trucks, an office manager, and a platform whose reports you've stopped trusting. Not a fit: a one-truck owner-operator whose books fit on one screen. You can stop after any stage; the audit report is yours either way.
Before you book
01Do we have to leave QuickBooks?+
No. QuickBooks stays your ledger and we read from it, never into it. Job costing pulls labour, materials and payments from wherever they already live, joins them to the job, and shows you margin. Your bookkeeper's month-end doesn't change at all, which is usually the first thing she asks.
02What makes your job costing different from the report in our FSM?+
Four costs that most platform reports leave out: drive time, callbacks, warranty work and the second trip for a part nobody stocked. Those are exactly the costs that decide whether a job type earns, so leaving them out produces a margin number that looks healthy and isn't.
03Can it keep our service agreement program running?+
That's usually where the quiet money is. Renewals fire on schedule, flushes and panel inspections get booked against real capacity, a failed card gets retried, and members are flagged the next time they ring. It writes to your platform's membership or recurring-job record, whichever one you run.
04Who maintains the flat-rate book?+
You set the pricing and we keep the book honest against it. Material costs and labour rates get checked against what the work actually costs now, and the tasks whose margin has slipped furthest get flagged for you to reprice. We never change a price on your behalf.
05Is this a new system our office has to learn?+
Your office keeps working in the systems they already know. What they get is a dashboard and a worklist: the A/R list to work down on Monday, the renewals coming up, the jobs that lost money last week. If a screen needs training beyond ten minutes, we built it wrong.
06Is this the whole of what you do for plumbing and electrical contractors?+
No, it's the money end of the chain. In front of it we build the phone layer that answers and triages the call, the estimate follow-up that fills the queue, and the dispatch and close-out work in between. Our hub page walks the whole thing.
A senior engineer, not a sales rep
Abdul Basit founded Hashlogics in 2017, and the team runs from Lahore with a US LLC. Clients rate the work 5.0 on Clutch, and in 2026 it was named Best AI-Native Software House of the Year at TechNova.
Your audit call is with an engineer who has read A/R ageing and job costing like yours, and it isn't a slide deck. Bring last month's revenue by job type and your renewal list if you have them, and we'll work from those.
- NDA before the first conversation.
- No pitch on the call. A report you could hand to another firm.
- Fixed price after the diagnostic, so the number isn't a guess.

Go deeper
- AI, automation and custom software for plumbing and electrical contractors →The whole chain, from the first ring to the renewal.
- Estimating automation for plumbing and electrical →The follow-up and the PO behind the numbers on this page.
- Dispatch and field automation →Where drive time and callbacks come from in the first place.
- Electrical contractors →Service agreements and panel work, in the electrician's words.
- What a service agreement program needs to run itself →Renewals, seasonal reminders and failed cards.
- Build custom dispatch software or buy ServiceTitan? →Which shops should buy, and which should build.
- The ServiceTitan API: what a real integration involves →Access model, write-backs, and what breaks.
- Custom software development →The service behind this page, across every industry we build for.

