Warranty Tracking for Parts and Labor Coverage, by Customer and Job
The coverage you promise on a driveway becomes a dated record on the job that granted it. Type, start, end, days left, notes. When the callback comes in, you open the customer and read the answer instead of reconstructing it from an invoice folder.
Warranty record on the customer
Water heater replacement
2026-05-14 — 2026-08-12 · 90 days · 10 days remaining
Covers the install labor. Tank and fittings carry the manufacturer’s own terms.
A warranty crosses the 30-day line on its own — the record does not change, only the day does.
Quick answer and fit
Opsler is warranty tracking software for contractors who grant their own coverage and then have to honor it. Parts and labor warranty tracking, in other words — not somebody else’s program. Flag a job as warranty-granting, pick parts, labor or full, pick a term between 1 and 3,650 days, and the record lives on that job for the rest of its life.
It fits HVAC, plumbing, electrical, appliance repair and the trades next to them: businesses where a 90-day labor warranty on a service call and a one-year full warranty on an install are both normal, and where somebody has to remember which is which nine months later.
It does not administer manufacturer warranty programs. No claim submission to an OEM, no supplier cost recovery, no serial-numbered equipment register, no extended-warranty product to sell. If that is the job you are hiring software for, the enterprise platforms are the right shelf.
The short version
- Coverage types
- Parts only, labor only, full coverage
- Terms
- 30d, 90d, 6mo, 1yr, or custom 1 to 3,650 days
- Defaults
- 90 days and full coverage, changed in Settings
- Attaches to
- The job, and through it the customer
- Expiring Soon at
- 30 days remaining
- Expiry alerts
- None. Status is a badge, not a notification
- Customer sees
- Warranties tab on the no-login portal
- Plan
- Pro, $25/seat/month, no seat minimum
Parts warranty vs labor warranty
These are two different promises from two different parties, and most disputes start where someone has quietly merged them. A parts warranty usually belongs to the manufacturer and covers the component. A labor warranty is yours and covers the workmanship. Opsler stores the type on the record so the distinction survives staff turnover.
| Parts warranty | Labor warranty | |
|---|---|---|
| Who gives it | The manufacturer of the component | You, the contractor |
| What it covers | The failed part itself, on the manufacturer's terms | Your workmanship, and the time to put it right |
| Who pays for a callback | The part may be replaced free; the visit usually is not | You do, in full, including the drive |
| Where the money shows up | The distributor credit, outside Opsler | Your warranty claims cost, inside Opsler |
| How Opsler records it | As a 'parts only' warranty you granted, with the manufacturer detail in the notes | As a 'labor only' warranty, or 'full coverage' when you are standing behind both |
To be plain: Opsler records the coverage you granted. If you select “parts only” because the compressor carries a five-year manufacturer warranty, Opsler is holding your note of that arrangement. It is not registering the unit with the manufacturer and it will not file the claim.
Create a warranty from a completed job
There is no separate warranty module to remember. The service warranty tracker is a panel on the job form, and it stays collapsed until you switch it on.
- 1
Toggle the warranty panel on
It sits on the job form for the install or repair you just finished. Flipping it pre-fills your defaults: 90 days and full coverage out of the box, or whatever you set in Settings.
- 2
Pick the term
Five chips: 30 days, 90 days, 6 months, 1 year, Custom. Custom accepts anything from 1 to 3,650 days — enough for a ten-year promise on a heat exchanger if that is what you sell.
- 3
Set the type and the start date
Parts only, labor only or full coverage. Start date defaults to the job's scheduled date; the end date calculates itself and shows in a purple panel underneath.
- 4
Write the exclusions in the notes
The field that saves arguments. 'Covers the replacement unit and the install labor. Filters excluded.' That text follows the record everywhere, including onto the customer's portal.
- 5
Save
The record appears on the customer's Warranties tab and on their portal immediately. Status is derived from the end date from then on — no scheduled task, nothing to tick over by hand.
Warranty panel on the job form
Duration
Warranty type
Start date
Warranty end date
2027-05-14
Every job that grants coverage is also a work order carrying its photos, checklist and completion notes — which is the evidence you reach for if the coverage is ever questioned.
How coverage links to the customer, the job and the equipment
The data model is deliberately short. A warranty hangs off exactly one job. That job hangs off one customer and one service address. The parts consumed, the technician, the invoice and the photos are already on that job, so the warranty inherits the whole context without duplicating any of it.
Lookup runs the other way. Open a customer and the Warranties tab lists every warranty you have granted them, with coverage type and status on each. The customer list carries an Active Warranties count column, so you can see which accounts you are still carrying risk on. The jobs list has a Warranty filter.
How equipment warranty tracking works here. Coverage attaches to the job and the address rather than to a serial-numbered asset register. A warranty record holds seven things: duration in days, duration type, start date, end date, coverage type, notes, and the parent job it claims against — and the make, model and serial of what you fitted live in the job description, notes and photos, at the address where the unit actually sits. That is why there is no second register to keep in step, and why a technician arriving on a callback sees the whole story without anyone maintaining it. Reporting per unit across a fleet is asset-register territory, and worth settling as a requirement before you shortlist, because it changes the class of product entirely.
What links to what
Customer + service address
Everything hangs here
Job
The unit of work. Carries photos, checklist, notes, signature
Warranty
One per granting job. 7 fields, no serial number
Claim job
A second job, pointed back at the first via parentJobId
Invoice lines
Zero-rated individually on the claim job
Coverage dates, notes and the paperwork behind them
Warranty records are small on purpose. Here is the whole of one, field by field, plus where the supporting material actually lives.
On the warranty record
- Coverage typeparts, labor or full
- Duration type30d, 90d, 6mo, 1yr or custom
- Duration in days1 to 3,650
- Start datedefaults to the job's scheduled date
- End datecalculated, shown as you configure it
- Notesfree text; your exclusions go here
- Parent jobset only on a claim, pointing at the original
Status is not stored. It is computed from the end date every time the record displays, which is why it cannot drift: more than 30 days left is Active, 30 days or fewer is Expiring Soon, past the end date is Expired.
On documents, plainly. There is no document vault attached to a warranty. You cannot upload a manufacturer certificate as a file on the record, and there is no serial-number field. What you do have is the job: before and after photos, a checklist with each item timestamped and named, the technician’s completion notes, the customer’s signature and the approved line items — an evidence pack collected while the work happened rather than assembled afterwards.
In practice, contractors put the model and serial in the job description or a photo of the data plate, and the manufacturer terms in the warranty notes. That is a workaround, and it is worth knowing it is one before you buy.
Expiration alerts
Most pages ranking for warranty expiration alerts are selling a reminder engine: pick a lead time, pick a channel, let it fire. Opsler’s version is narrower and worth stating precisely. The office gets a push notification at 30, 14, 7, 3 and 1 days before a warranty expires. It names the job and customer, gives the exact end date and the days remaining, and opens straight to that job. The last two — 7 days and under — are flagged more urgently and stay on screen until dismissed. It is a Pro feature; on the free Budding plan nothing is sent.
Two boundaries on that. The alert goes to your admin users only — the customer never receives anything about their own coverage expiring, so a renewal conversation is still yours to start. And the lead times are fixed at those five points; there is no setting to change them, no email version, and no way to route them to a specific person.
Alongside the alerts, the record changes state on its own. At 30 days remaining a warranty turns amber and reads Expiring Soon everywhere it appears — the Warranties tab, the customer’s portal, the technician’s job screen. A days-remaining figure counts down beside the dates on the admin side. From any warranty that has not yet expired, a one-click Create Warranty Job button opens a new job already pointed at that warranty and customer; once coverage expires, the button disappears.
Status thresholds, exactly
What reaches you, and how
- Push notification on expiry
- Email to staff or customer on expiry
- Configurable alert lead time
- Expiring Soon badge at 30 days, on every screen showing the record
- Days-remaining countdown on the customer record
- One-click follow-up job while coverage is live
Technician lookup before arrival
Mobile warranty tracking is worth very little if the technician has to phone the office to use it. In Opsler the coverage travels with the job, so it is on the screen the technician is already looking at.
A purple badge on the schedule
Warranty jobs are tagged on the card in Today's Schedule, next to the recurring tag, before the job is even opened.
A banner at the top of the job
Coverage type, start and end dates, and — on a callback — a tappable link to the parent job, so the technician can read what was done the first time.
A heads-up on unrelated jobs
On a job with no warranty of its own, a blue banner says how many active warranties that customer holds elsewhere. That is what turns a routine service call into a covered repair instead of an invoice dispute.
One honest caveat. The warranty on the job the technician is standing on is part of the job data and is there with or without signal. The cross-reference banner — the one counting a customer’s other active warranties — queries the server, so in a basement or a rural crawl space it will not appear until the connection returns.
Customer portal visibility
The customer warranty portal is a tab, not a product you have to sell them on. Warranties sits alongside Job, History and Invoices in the customer portal, reached from a token link. No account, no password, no app to install.
Each card carries the job title, a coverage-type badge, a status badge, the start and end dates, the duration in days, your notes, and the completion date. The exclusions you typed on the job are the exclusions the customer reads — a promise both sides can see is a promise neither side can misremember.
Two things the customer does not get: there is no days-remaining countdown on the portal, that figure being admin-side only, and nothing is sent to them when coverage lapses. The tab shows Expired the next time they look, but no message goes out.
Warranties tab, customer view
Condenser replacement
Notes: Covers the replacement unit and the install labor.
Completed: 14 May 2026
Handle a warranty service call
This is the sequence that separates a warranty service job from a normal one. Five steps, none of which involve retyping the original job.
- 1
Verify
Open the customer, read the Warranties tab. Type, status, dates, days remaining and your notes on one card. You are checking a record, not an argument.
- 2
Raise the claim
Create Warranty Job opens a new job already carrying that warranty and customer. An amber claim banner shows the coverage type and expiry date read off the original; the duration controls are hidden, because the terms are inherited rather than re-chosen.
- 3
Do the work
The technician sees the purple warranty banner and the link to the parent job. Parts come out of stock the normal way, from van, truck or warehouse.
- 4
Zero-rate what is covered
Warranty checkboxes appear on the line items of a claim job. Ticking one sets the line to $0.00 and its tax to $0.00 while storing the original price, so the customer sees the value struck through rather than being told about it. Anything outside the coverage stays billable on the same invoice.
- 5
Close the loop
A fully covered job invoices at $0 and completes with a receipt. The claim keeps its pointer to the original, so the pair reads as one service history rather than two unconnected visits at the same address.
Claim invoice: covered lines and a billable one
The part still left the van at cost. That cost still lands on the job. So the callback appears in your numbers as what it really is — real cost, zero revenue — and your parts inventory stays accurate whether or not you charged for the part.
Reporting and renewal opportunities
Warranty reports here answer one question well: what is standing behind your work actually costing? The revenue dashboard carries a warranty claims cost card — absorbed total, active warranty count, warranty labor cost, warranty material cost, claim count. Most small contractors have never seen that figure, and it is the one that tells you whether the one-year labor warranty on your ads is a differentiator or an expensive habit you priced in 2019.
For outbound work, the filters are the report. A customer’s warranties list active first, then expiring soon, then expired, so the Expiring Soon group is your call list. The customer list shows an Active Warranties count per account and the jobs list has a Warranty filter. Ten minutes on a Monday gets you the week’s follow-ups.
What renewal automation does not exist. No campaign builder, no automatic mail-out to customers whose coverage is lapsing, no extended-warranty product to upsell, no renewal list generated and delivered to you. The data and the filters are there; the outreach is a person deciding to do it.
Revenue dashboard, Pro
Warranty Claims Cost
$4,182
Absorbed cost
31
Active
$2.6k
Labor
$1.5k
Materials
9
Claims
HVAC warranty tracking: a condenser replacement, start to callback
HVAC is where the parts-and-labor split bites hardest, because the equipment carries a long manufacturer warranty and the install carries yours. Here is how one job runs through Opsler. No customer names, because we are not going to invent one.
May, install day
A condenser goes in. The warranty panel is switched on: 1 year, full coverage, start date the day of the install, end date calculated to the same day next year. Notes: covers the replacement unit and the install labor, filters excluded. Model and serial go in the job description, with a photo of the data plate in the job's photos.
That evening
The homeowner opens their portal link for the invoice and sees a Warranties tab: Full Coverage badge, Active badge, both dates, 365 days, the exclusion note. Nobody had to explain the terms twice.
September, the callback
The unit stops cooling. The office opens the customer, sees Active with 236 days left, and hits Create Warranty Job. The new job carries the claim banner: Full Coverage, expires next May.
On site
The technician's screen shows the purple warranty banner and the link back to May's job — photos, checklist, who did the install. A failed capacitor is replaced from the van. The homeowner also asks for a filter set, which is not covered.
Invoicing
Capacitor and labor get the warranty checkbox: both bill at $0.00, originals struck through, no tax. The filter set bills normally. The customer pays for filters and sees exactly what was absorbed.
Quarter end
The capacitor's cost and the technician's time sit on the job at zero revenue and roll into the warranty claims cost card. Next time you price a condenser install, you know what your one-year full warranty costs per unit.
The rest of the HVAC workflow — maintenance agreements, dispatch, van stock — is on the HVAC page.
What Opsler is not, limitations, and warranty tracking FAQs
“Warranty tracking” covers at least four different products. Two of them we do not build. Here is the boundary, drawn before you sign up rather than after.
| If you are looking for | Opsler | Notes |
|---|---|---|
| Coverage you granted, attached to the job and customer | The whole design. Parts, labor or full, 1 to 3,650 days. | |
| Callbacks billed at $0 with cost still recorded | Per line item, on the claim job, with the original price struck through. | |
| Customer self-service coverage lookup | Warranties tab on the token-based portal. | |
| What warranty work costs the business | Warranty claims cost card on the revenue dashboard. | |
| Automated expiry alerts with a chosen lead time | No notification of any kind. Status badge only, from 30 days out. | |
| A serial-numbered equipment register | No equipment entity. Detail lives in job notes and photos. | |
| OEM registration, claim submission or adjudication | Enterprise warranty platforms own this. Different category, different budget. | |
| Supplier or manufacturer cost recovery | No reimbursement workflow and no distributor connection. | |
| Selling extended warranties as a product | No plan catalogue, no contract sales, no renewal campaigns. | |
| A consumer receipt and warranty vault | Opsler is for the contractor's records, not the homeowner's filing. |
Warranty tracking FAQs
Four things, all on the job before they drive. The coverage type, because parts-only and labor-only lead to different conversations at the door. The end date, in the banner at the top of the job. The parent job link, which opens the original visit with its photos, checklist and completion notes, so the technician knows what was fitted and by whom. And the warranty notes, where the office records anything the standard terms do not cover. On a job that is not itself a warranty visit, a separate banner flags that the customer holds other active coverage.
Three types: parts only, labor only, full coverage. Five duration options: 30 days, 90 days, 6 months, 1 year, or a custom figure from 1 to 3,650 days. New warranties pre-fill at 90 days and full coverage; both defaults are changed once in Settings so the terms you sell are the terms recorded. The end date calculates from the start date, which defaults to the job's scheduled date.
Yes, to your office. A push notification goes to your admin users at 30, 14, 7, 3 and 1 days out, naming the job and customer with the exact end date, and opening straight to that job — the 7-day mark and under are flagged more urgently. It is a Pro feature and nothing is sent on the free Budding plan. Two limits worth knowing: the customer is never notified about their own coverage expiring, so the renewal conversation is still yours to start, and the five lead times are fixed with no email version and no way to route them to a particular person. Alongside the alerts the record itself turns amber at 30 days and reads Expiring Soon everywhere it appears.
Yes. Warranties is one of four tabs on the customer portal, alongside Job, History and Invoices, reached through a token link with no password. Each card shows job title, coverage-type badge, status badge, start and end dates, duration in days, notes and the completion date. Days remaining is admin-side only and is not shown to the customer.
It does, which is the point of zero-rating the line rather than deleting it. A covered line bills at $0.00 with no tax, but the part still leaves inventory at real cost and the technician's time is still recorded. The callback shows up as a job with real cost and no revenue, which is what it is. The revenue dashboard aggregates that into a warranty claims cost card: active warranty count, warranty labor cost, warranty material cost, claim count.
No. Opsler records the coverage you granted, not the coverage the manufacturer granted. There is no serial-numbered equipment register, no registration with a manufacturer, no claim submission and no supplier cost recovery. If a compressor is under a manufacturer parts warranty, that is a conversation with the distributor, and the record of it lives in the job notes.
No. Warranty tracking is Pro only, gated at the code level, so the toggle on the job form, the Warranties tab, the claim-job flow and the warranty cost reporting are all locked on Budding. Pro is $25 per seat per month with no seat minimum, and the 14-day trial does not ask for a card.
Put your next warranty on a record with a date on it
Warranty tracking is part of Pro at $25 per seat per month with no seat minimum. The 14-day trial does not ask for a card, which is long enough to grant coverage on a real job and follow it all the way to a zero-rated callback.
Ready to Run Your Business Without the Chaos?
Scheduling, dispatch, estimates, invoicing, customer portal, and a free branded website — start completely free, upgrade to Pro when you scale.
Free forever on the Budding plan. No credit card required.