Warranty & Callback Tracker
the HVAC, roofing, plumbing, or electrical shop that offers a workmanship warranty and cross-references the callback log against the job log by hand, or not at all.
Point it at your completed-jobs export and your callback log and it matches every callback to the job it followed, flags whether the visit landed inside the warranty window, and breaks your callback rate down by crew and by job type.
$39 a month for the shop, no per-seat charge. You get the matcher, the warranty-window check, and all three report files. Cancel any day, and the reports you already ran stay on your disk, because they were only ever files in your folder.
The truck’s back at a house you already closed
Three weeks after you signed off, the truck’s parked at the same address and the customer’s on the porch. You eat the labor, because that’s what a workmanship warranty means. Fine. That’s the deal.
What you can’t answer is the part that costs real money. Was that callback even inside the warranty window, or did you just give away a visit you were entitled to bill? And more to the point, is it always the same crew’s jobs coming back? The callback log is a list of addresses and dates. The job log is a different list. Nobody has the afternoon to sit and join the two, so the pattern stays invisible, and the crew generating three times the repeats of everyone else keeps generating them.
Export two files, run it
- Export two CSVs from wherever your jobs live: completed jobs with the crew, job type, date, and
warranty_days, and a callback log with thejobid and the callback date. - Point it at both and run. It joins each callback to the job it followed by job id, and if a job drew more than one callback it takes the earliest.
- It counts the whole days between the job and the callback, flags whether that gap fell inside the warranty window, and writes the callback rate broken out by crew and by job type to
CALLBACK_REPORT.md.
What it does
- Counts whole days between the job date and the callback and checks them against
warranty_days, so a visit one day past the window doesn’t get eaten as if it were covered. - Throws out any callback dated before its own job, so a keying slip in the log doesn’t count as a repeat visit that never happened.
- Breaks the callback rate down by crew, which is the number that tells you whether one crew is driving the repeats or it’s spread even across the board.
- Splits it by job type too, so you find out it’s the water-heater swaps coming back, not the whole book of work.
- Reads CSVs with quoted fields, embedded commas, and escaped quotes, so an address with a comma in it doesn’t shove every column one to the right.
- Writes
callbacks.csvwith every matched job ready to sort, so you can pull the out-of-warranty ones and total up exactly what you gave away last year. - A
validatecommand checks the config without reading a CSV or writing a file, so you confirm the paths are right before a real run.
Who runs this, and who doesn’t
Built for the trade shop running 2 to 30 field techs, offering a workmanship warranty, closing enough jobs that the callback log stopped fitting in your head. HVAC, roofing, plumbing, electrical, remodeling.
Not for you if you’re a one-truck operation who remembers every callback by the customer’s first name. You already carry the report in your head, and a tool won’t beat that. This starts earning its keep the day there’s more than one crew and nobody in the office can say which one is costing you the return trips.
What it replaces
ServiceTitan and Housecall Pro already hold this data, and they’re better at the jobs they were built for: dispatching the truck, taking the payment, texting the customer an arrival window. What they don’t hand a small shop is a straight callback rate by crew without building a report or paying up to the tier that includes it.
A spreadsheet will do the math if someone keeps the join by hand, and past about fifty jobs nobody does. This runs the one cross-reference those platforms bury and the spreadsheet quietly gives up on.
Where your job data stays
Both CSVs are read off your disk and never leave it. The report is the only thing written, and only under OUTPUT_FOLDER, with every path checked by assertWithinRoot and output at 0600. warranty.json holds the machine-readable summary if you want to trend the rate yourself over a few seasons. Nothing is uploaded, because there’s no network code in the tool at all.
$39 a month, and the first report
$39 a month for the whole shop, no charge per tech. Copy .env.example to .env, set the two CSV paths and an output folder, and run. The first callback rate by crew comes out inside a few minutes on a normal season’s job log. Cancel any day and the reports you already pulled stay right where they landed.
Security and privacy
Handles client job records (job ids, dates, crew names, job types) and callback logs. Security is designed in.
Principles
– Local-first. JOBS_CSV/CALLBACKS_CSV are read from disk and never transmitted anywhere; nothing in this tool touches the network. Nothing is uploaded, no telemetry, no cloud dependency.
– Non-destructive. Source CSVs are only read, never modified or deleted.
– Least privilege. Reads JOBS_CSV/CALLBACKS_CSV, writes only under OUTPUT_FOLDER.
Protections implemented (v0.1.0)
– Path-traversal defense — every output filename is sanitized (safeSegment) and every write is checked with assertWithinRoot(), so the report can’t be written outside OUTPUT_FOLDER.
– Fail-fast config validation — clear errors for missing JOBS_CSV/CALLBACKS_CSV/OUTPUT_FOLDER before any file is touched; a validate command lets you check config without reading data.
– Restrictive permissions — the generated report (CALLBACK_REPORT.md, callbacks.csv, warranty.json) is written 0600.
– Defensive parsing — the CSV parser never throws on malformed input (missing fields default to empty string); rows missing a job id are dropped rather than crashing the run, and warranty-day values that don’t parse default to 0.
– Secrets discipline — .env and generated Warranty Reports/ output are git-ignored; no secrets or client data in the repo.
Distribution / AV trust
Known limitations / roadmap
– Matching is by exact job id only — a typo’d job number in either CSV will not match and the job/callback will simply not appear as linked (a callback with no matching job id is silently ignored; a job with no callback is reported as no-callback).
– When a job has multiple callback rows, only the earliest is used for the warranty-window check and the callbacks.csv output; repeat-callback volume on the same job is not currently surfaced as its own metric.
– warranty_days is read per job from JOBS_CSV, so mixed warranty terms (e.g. 30-day labor vs. 1-year parts) require running the tool once per warranty class if you want them reported separately.
Reporting
Report suspected vulnerabilities privately to the maintainer before public disclosure.
Frequently asked questions about Warranty & Callback Tracker
What does a warranty & callback tracker do?
A warranty & callback tracker logs each job’s warranty window and every callback you get, then turns that history into numbers you can manage. When you finish a job, you record the warranty period you promised. When a customer calls you back to fix something, you log that callback against the original job. Over time the tool computes your callback rate by crew and by job type, and it flags which callbacks fall inside a warranty you have to honor for free and which are billable new work you can charge for.
The reason this matters is that rework is usually invisible. A callback feels like a small favor in the moment, so nobody counts it, and the cost of all that unpaid return work never shows up as a line anywhere. Yet those trips burn labor, fuel, and materials, and they quietly eat the margin you thought you earned on the original job. A warranty & callback tracker makes that hidden cost into a visible figure you can actually watch and work to bring down.
Those job and callback logs are also business records. The IRS guidance on how long to keep records explains that the documents supporting your income and expenses generally need to be kept for at least three years, and callback history that ties to invoices and job costs is part of that trail. Keeping it in one tool means the record is there when a warranty claim is disputed or a job’s true profitability is questioned months after the crew packed up and moved on to the next site.
Measurement is what separates a tracker from a notebook. A note reminds you that a callback happened, but it does not tell you that one crew accounts for a third of your return trips, or that a certain install keeps coming back no matter who does it. By turning each logged callback into a rate you can compare, the tool surfaces patterns that a stack of paper never would, and patterns are what you can actually fix.
There is a margin story underneath all of this. A contractor can run a full schedule, bill every job, and still lose money if unmeasured return trips quietly consume the profit. Because those trips rarely get costed, they act like a leak below the waterline, invisible until the year ends short of where it should have been. Turning callbacks into a tracked rate brings that leak into view, which is the first step to fixing it. You cannot manage what you never measure, and rework is the cost most trades never put a number on until it has already done its damage.
The flow is short. You log jobs and any callbacks, run the tracker, and get callback rates plus warranty status for each job. From there you can see which crews generate the most return trips and which job types are most likely to come back. To see how the tool fits alongside the other tools built for contractors, look at the field service and trades hub. The aim is to turn rework from a vague drain into a number you can manage down over time.
How does the warranty & callback tracker help me keep job records straight?
Every job you complete generates records worth keeping: the contract, the invoice, the costs, and, when it happens, the callbacks. Those callbacks are easy to lose because they arrive as phone calls and quick visits rather than paperwork. A warranty & callback tracker captures each one against its original job, so the full history of a project, including the return trips, stays in one place instead of living only in a technician’s memory or on a scrap of paper in a truck.
That organized history has real value when a question comes up later. The IRS record retention guidance for small businesses sets out how long a business should hold the documents that back up its income and expenses, generally at least three years and sometimes longer. Because the tool keeps callbacks tied to jobs with dates and warranty status, the record survives well past the moment the work was done. If a customer claims a repair was covered or an examiner asks about a job’s costs, the trail is intact and easy to read.
Keeping the record straight also settles disputes quickly. When a homeowner insists a fix should be free, you can show the original job date, the warranty window you promised, and whether the callback falls inside it. That converts a standoff into a short, factual conversation. A warranty & callback tracker gives you that receipt without digging through months of notes, because the history was captured as each callback occurred rather than reconstructed under pressure long afterward.
Consistency across jobs is part of the benefit. When every project records the same fields, warranty period, callback date, crew, and outcome, your records look alike from one job to the next and across years. That uniformity is what makes a season of work auditable rather than a jumble of formats. An accountant can read it, an insurer reviewing a claim can read it, and you can read it a year later without trying to recall your own shorthand.
Staff turnover makes kept records even more valuable. When the technician who did the original work moves on, the only memory of a job’s history walks out with them unless it was written down. A tracker that holds each job’s warranty window and callback history means the knowledge stays with the business rather than the individual. A new crew picking up a warranty visit can see what was done, when, and whether it is covered, without calling around to piece the story together. That continuity protects both the customer relationship and your ability to answer questions about work performed by people who no longer work for you.
You do not have to become an archivist to get this benefit. You log the job and any callbacks, and the tool holds the record in a form you can hand to an accountant or pull up on demand. The compliant paper trail is a byproduct of running your callbacks through one system. To understand the full flow from logging a job to reading its warranty status, read the Warranty & Callback Tracker product page and see how the history is built entry by entry.
Is my customer data safe in a warranty & callback tracker?
Callback records carry customer information. Each entry can hold a client name, a service address, a phone number, and details of the work performed. That is personal data you have a duty to handle carefully, so it is fair to ask where the information lives. A warranty & callback tracker is built to keep your job and callback history together under your control rather than spreading customer details across text threads, voicemails, and loose notes where they are easy to lose and hard to protect.
The FTC guide Protecting Personal Information lays out a simple set of steps any small business can follow: take stock of the personal data you hold, scale down what you keep, lock down what remains, dispose of what you no longer need, and plan ahead for trouble. A tool that keeps callback records tidy and in one place supports every one of those. You know what customer data you hold, you keep only what the job and warranty need, and you can retire old records once the retention period ends and they serve no further purpose.
The practical win is fewer copies in fewer places. When callback history lives in one system instead of scattered across personal phones and inboxes, there are fewer chances for a customer’s address or number to leak or be lost. A warranty & callback tracker reduces that spread, which is one of the plainest and most effective ways to protect the people you serve and the details they trusted you with when they hired you.
Control also means disposal is possible. When a job’s records have outlived their retention period, you can retire them on purpose, which you cannot do when the same customer’s address sits in a group text and two technicians’ phones. Holding the data in one place is what makes the scale-down and dispose-of steps real rather than good intentions. You cannot clean up what you cannot find, so keeping it together is the first practical act of protecting it.
Customers share their details expecting them to be handled with care, not scattered. When someone gives you a home address and a phone number to schedule service, they are trusting you to keep that information reasonably safe, not to leave it in a group chat that half a dozen people can scroll through. Consolidating callback records into one controlled system is how you honor that trust in practice rather than in a privacy statement nobody reads. It also means that when a customer asks you to remove their information, you can actually find and delete it, which is impossible when the same details sit in inboxes and phones you do not manage.
Guarding customer data and measuring your rework are not in tension. The same tidy record that lets you compute callback rates is also the record that is easiest to secure and, later, to dispose of properly. To see how the tool organizes job and callback data, walk through the Warranty & Callback Tracker overview and look at how records are held from the first log to the warranty flag. Careful handling and useful numbers come from the same single place.
How is this different from tracking callbacks in a spreadsheet or on paper?
Most small contractors track callbacks the same two ways they track everything else: a spreadsheet, or nothing at all. Paper notes get lost in trucks, and spreadsheets start fine but rot quickly because nobody keeps them current under pressure. Neither approach computes anything for you. You can list callbacks in a sheet, but it will not tell you your callback rate by crew or by job type, and it certainly will not flag which callbacks are inside warranty. You would have to build all of that logic by hand and keep it working.
A warranty & callback tracker is built for exactly this one job. It ties each callback to its original job, tracks the warranty window automatically, and turns the raw log into rates you can compare across crews and job types. That is the difference between a static list and a tool that actually surfaces where your rework is coming from. When one crew or one kind of job keeps coming back, the number tells you before your margin quietly disappears into a season of free return trips.
Discipline is the other difference. A spreadsheet only works if someone updates it faithfully after every callback, and under real jobsite pressure that discipline is the first thing to go. A tool built for callbacks makes logging the path of least resistance, so the record actually gets kept. A history that exists beats a perfect spreadsheet that nobody maintained, and the tracker is designed so that keeping the history does not depend on anyone’s willpower at the end of a long day.
There is a records angle as well. However you track callbacks, the history is a business record you are expected to keep. The IRS guidance on record retention periods describes retention periods of at least three years for the documents that support your income. A dedicated tracker holds that trail in a consistent form rather than in whatever spreadsheet version happened to survive, so the record stays usable when a warranty claim or a cost question arrives at your desk unannounced.
A neglected spreadsheet is worse than no record, because it looks authoritative while being wrong. Half-entered callbacks make your rates appear better than reality, which is exactly the wrong signal to steer by. You might congratulate a crew that is actually generating the most rework, or ignore a job type that keeps failing, all because the sheet stopped being reliable months ago and nobody noticed. A tool that makes logging easy keeps the record complete enough to trust. Numbers you can trust are the whole point, and a sheet that quietly drifts out of date offers the comfort of data without the accuracy that makes it useful.
The honest trade is that a spreadsheet is free and a tracker is not. But a spreadsheet leaves the analysis and the discipline to you, and under real jobsite pressure that usually means it does not happen. A warranty & callback tracker does the counting for you so rework stops being invisible. Compare it against the other options on the field service and trades page and decide whether measured callbacks are worth the small monthly cost.
Can the tool show callback rate by crew and job type?
Yes, and this is the feature that turns the tracker from a log into a management tool. Counting callbacks in total tells you rework exists. Breaking that rate down by crew and by job type tells you where it is coming from, which is the information you can actually act on. A warranty & callback tracker computes both cuts, so you can see whether one crew generates far more return trips than the others, or whether a particular job type keeps bringing customers back again and again.
Those two views answer different questions. A high callback rate for one crew points to a training or workmanship issue you can address directly with that team. A high rate for a job type, regardless of who does it, points to a process, a material, or an estimating problem that no single crew is causing. Without the breakdown you are guessing at the source. With it, you know where to look first and where your money is actually leaking out of the business.
The tool also separates in-warranty callbacks from billable ones as it goes. A return trip inside the warranty window is rework you owe for free, while work outside it is new business you should be invoicing. Keeping those flags straight stops you from giving away paid work and from wrongly billing for something you promised to cover. That distinction, applied consistently across every job, protects both your margin and your reputation with the customers you want to keep.
Over a season, the rates become a scorecard you can steer by. You can set a target callback rate, watch it move as you adjust crews and methods, and see whether a change actually reduced return trips or just felt like it did. That feedback loop is only possible because the numbers are computed and comparable. A warranty & callback tracker gives you a figure to manage against instead of a gut feeling that this month seemed a little better than the last.
There is a planning angle in the warranty side as well. Knowing how much work is currently under warranty tells you roughly how much unbilled obligation you are carrying at any moment, which is real exposure even though no invoice reflects it. A season heavy with recent installs carries more of that obligation than a quiet stretch, and seeing it laid out helps you plan crew time for the return trips you can reasonably expect. Without the record, warranty work arrives as a surprise that disrupts the schedule. With it, you can anticipate the load and staff for it, so honoring your warranties becomes a planned cost rather than a recurring interruption you never saw coming.
Because each entry is a dated business record, the rates you build double as retained history. The IRS record-keeping guidance reminds businesses to keep the documents behind their income and costs for years, and callback records with warranty status are a clear example. To see how the by-crew and by-job-type rates are presented from the logs you enter, walk through the Warranty & Callback Tracker product page and follow a job from completion to its callback summary.
| Attributes | Value |
|---|---|
| Deployment |
Cloud |
| Platform |
Web |
| License Type |
Subscription |
| Billing Period |
Monthly |
| Target Customer |
Contractors & Trades |
| Free Trial |
Yes |
Frequently bought together
-
Offline Field Service App
$75.00 -
Vertical Ops OS (mid-market FSM gap)
$169.00

