Skip to main content

Appliance Repair Bookkeeping: Per-Job Parts Costing, Truck Stock, and the Warranty vs. Retail Split That Decides Your Real Margin

13 min readMike ThriftMike Thrift
Appliance Repair Bookkeeping: Per-Job Parts Costing, Truck Stock, and the Warranty vs. Retail Split That Decides Your Real Margin

You closed the ticket at $312 — service call, forty minutes of labor, a clutch assembly — and it felt like a good day. Then you look at the bank statement and remember the $1,400 supply-house run two weeks ago, booked as "parts expense," and the $96 in technician payroll for that one job, and the fuel, and the second trip because the first clutch didn't fit. Was that job profitable? If your books can't answer that question for a single ticket, they can't answer it for the 1,800 tickets you'll run this year either.

Appliance repair sits in an awkward accounting position: it is a service business that behaves like a parts retailer, mixed with a low-rate wholesale subcontracting operation (warranty networks) and, increasingly, a subscription business (maintenance clubs). Most bookkeeping advice covers one of those. Your shop is all three at once, and the margin lives or dies in how you separate them.

Here is how to set up books — and the habits around them — that show what each call actually earns.

Why appliance repair breaks generic bookkeeping

The U.S. appliance repair industry generates roughly $7.4 billion a year in revenue and is growing steadily, driven largely by rising replacement costs that push customers toward repair. Entry costs are low and demand is durable, which is why the trade attracts so many solo technicians. But the same structure that makes it easy to start makes it easy to mis-measure:

  • You sell two things on every ticket. Labor and parts have completely different economics. Labor runs at $80–$150 an hour in most markets and carries no cost of goods; parts carry markup — commonly 30–100% over wholesale — plus freight, plus the cash tied up in stocking them.
  • You bill at three different rate cards. Customer-pay work uses your published rate. Manufacturer and extended-warranty networks reimburse at negotiated flat rates that are usually well below retail. Service plans and clubs are prepaid and earned over months.
  • Your inventory moves. Parts don't sit on a shelf in a shop; they ride in vans, get transferred between them, and get consumed at a customer's kitchen sink. A purchase is not an expense — it is a transfer of inventory that only becomes cost when a technician installs it.

Well-run shops in this trade sustain net margins in the 15–25% range; shops with weak pricing and no job visibility routinely fail to clear 10%. The difference is rarely technician skill. It is almost always whether the owner can see per-call profitability — and act on it.

Build a chart of accounts that can see one job

The single highest-leverage change is splitting a few generic accounts into call-type and cost-type detail. You do not need fifty accounts; you need about six revenue and cost lines that stay out of each other's way:

Revenue

  • Service revenue — customer-pay (your labor and trip fees at retail)
  • Parts revenue — customer-pay (billed parts at your marked-up price)
  • Warranty and administrative revenue (claims paid by manufacturers and extended-warranty companies)
  • Service plan and club revenue (prepaid memberships)

Cost of goods sold

  • Parts cost (what installed parts cost you, at purchase price)
  • Direct technician labor (wages plus payroll taxes and workers' compensation allocated to the job)
  • Freight and parts acquisition costs

Assets

  • Parts inventory — shop
  • Truck stock — Van 1, Van 2, and so on, one account (or sub-account) per vehicle

With that skeleton, every invoice your field-service software exports can be posted into the right buckets automatically, and a per-job profit and loss falls out the other side. Most modern field platforms — the Housecall Pro, Jobber, and ServiceTitan family of tools — can tag each invoice line as labor or parts and each ticket as customer-pay or warranty. If your software supports exporting a job-costing report, your accounting system just needs to receive it faithfully; the industry-specific setup guides for plain-text ledgers include patterns for exactly this kind of per-job tagging.

One rule makes the whole system work: a part is an asset until a technician installs it. The day you buy $1,400 of water valves and door switches, nothing is expensed. You debit inventory. When the van is loaded, you move cost from shop stock to truck stock. When the valve goes into a washer, you finally recognize parts cost — matched against the parts revenue on that same ticket. Accountants call this matching; you can call it "knowing what the job cost."

Truck stock is inventory, not a supply expense

Truck stock deserves its own section because it is where appliance repair books rot fastest. The failure pattern looks like this: the owner restocks vans on a company card, the bookkeeper codes it to "supplies" or "auto expenses," and months later nobody can tell whether parts markup is actually being captured. Revenue looks high, gross margin is a mystery, and year-end inventory is a guess.

Treat every van as a stocking location and run a simple monthly rhythm:

  1. Load = transfer. Restocking a van debits "Truck stock — Van 3" and credits "Parts inventory — shop" at cost. No expense, anywhere.
  2. Install = cost. Each invoice's part lines post to parts cost at purchase price, against parts revenue at billed price. The gap is your true parts margin, and it should be visible by part category — a $9 door switch billed at $28 and a $180 control board billed at $215 tell very different stories about your pricing matrix.
  3. Cycle-count each van monthly. Count what is physically on the truck against what the system says. Variances are shrinkage: parts broken on installation, left behind, given away, or quietly walked off. Shrinkage that is never measured is a permanent tax on your margin.
  4. Purge dead stock quarterly. A drum bearing that has ridden in a van for fourteen months is cash in a rolling warehouse with negative yield. Return it, sell it, or write it off — but do not let it sit and inflate your asset balance.

The size of your truck stock is not a bookkeeping question, but your books answer it. The industry's average first-time fix rate runs only 68–74%, against a best-in-class target of 85% or better, and the most common cause of a second trip is that the right part was not on the truck. Every callback costs you a slot that could have been a first-visit, full-price job — plus fuel and, often, unpaid diagnostic time on the revisit. Your books can price that trade-off: if expanding van stock from $1,200 to $2,000 per truck lifts first-visit completion even five points, the incremental profit usually dwarfs the carrying cost. That is a decision you can only make if parts cost, freight, and shrinkage are tracked separately from the decision you are trying to evaluate.

The warranty vs. retail split is your most important number

Here is the uncomfortable arithmetic of the trade. Technicians who log both call types report average profit around $200 per customer-pay call versus roughly $75 per completed warranty call — a gap of more than two and a half times. The reasons are structural:

  • Rate. Warranty networks reimburse labor at pre-negotiated flat rates — a fixed number of tenths of an hour at a per-hour rate the network set, not the $80–$150 retail rate you publish.
  • Parts. Most networks reimburse parts at your documented cost, or cost plus a small handling percentage — none of the 30–100% retail markup.
  • Terms. Claims are submitted, reviewed, and paid on 30-to-60-day cycles, so warranty work is also your largest receivable and your largest source of write-offs when a claim is denied for documentation errors.

None of this makes warranty work bad. It fills the calendar in slow weeks, builds route density in your service area, keeps technicians sharp on newer machines, and for many shops it is a reliable base load of volume. What is bad — and common — is mixing it invisibly with retail work until the blended business looks profitable while the retail side subsidizes the warranty side.

So track the mix explicitly, and give it a management rule:

  • Know your break-even per call. Loaded technician cost per hour (wages, taxes, workers' comp, benefits), van cost per mile, insurance, and software divided across billable hours. For most shops this lands well above the warranty labor rate — which is fine, as long as you know it.
  • Set a minimum network rate. When a manufacturer portal or third-party administrator offers a territory at a given rate card, you can compare it to your break-even in minutes instead of discovering the loss at tax time.
  • Cap the mix. Many profitable shops hold warranty and administrative work to a minority of total calls — enough to fill gaps, never enough to set the blended rate. What that cap is depends on your local market, but you cannot enforce a cap you do not measure.
  • Bill warranty claims like a creditor. Track claims submitted, approved, and paid as a receivable aging by payer. A network that stretches from 45 days to 90 is effectively cutting your price; you would notice a customer doing that.

Revenue timing: four things most shops book wrong

  • The diagnostic or trip fee is earned the moment the visit happens, even if the customer declines the repair. It belongs to visit-day revenue, not "when they finally pay."
  • Deposits for special-order parts are not revenue. The customer's deposit is a liability until the part arrives and is installed. Recognize it on completion, or you will show a phantom profit spike the month customers pre-pay and a phantom slump when the work lands.
  • Maintenance clubs and service plans are prepaid subscriptions. Book the annual fee as deferred revenue and recognize it monthly. It also means a club member's "free" priority visit has a real cost your per-job reports should carry — funded by that month's recognized portion.
  • Denied claims need a home. When a network rejects a claim, decide immediately: rebill the customer, appeal, or write it off. Unresolved claims that sit in receivables for a year quietly overstate both revenue and assets.

A worked example, start to finish

A no-spin washer, customer-pay. Your published rate is $110 an hour.

LineAmount
Service call / diagnostic fee$89
Labor, 1.2 hours at $110$132
Clutch assembly, billed$168
Ticket total$389

Costs, matched to the job: clutch assembly at cost $62, allocated inbound freight $3, technician labor 1.2 hours fully loaded at $80/hour = $96, van and fuel allocation for the call $18. Total job cost $179. Gross profit $210 — about 54%, before overhead. Healthy.

The same repair through a warranty network: labor reimbursed at a contract rate of 0.9 hours times $58 = $52, the clutch at documented cost $62 plus 10% handling = $68, and a $12 claim-processing stipend. Revenue $132 against the same $179 of cost — a loss of $47 before overhead, or a break-even at best once you count the two hours from claim submission to payment posting. This is not an argument against warranty work; it is an argument for knowing which of your two businesses each ticket belongs to. Price your retail work, staff your routes, and evaluate your networks with those two columns separated — the tax preparation and year-end guides walk through pulling this per-call detail into clean schedule-ready totals.

The month-end close, in about an hour

With the accounts split correctly, a monthly close is short:

  1. Reconcile field software to revenue. Invoices in the platform versus revenue posted. Batch deposit services (card processors net their fees) get reconciled to the bank, with processor fees as their own expense line — not buried in revenue.
  2. Post parts activity. Purchases to inventory, usage report to cost of goods sold, cycle-count variances to shrinkage.
  3. Age the warranty receivable. Claims submitted, approved, paid, denied — a four-column view that takes ten minutes and tells you which networks to renegotiate or exit.
  4. Check utilization. Payroll hours versus billable hours per technician. If payroll says 160 and jobs say 118, either your routing has too much windshield time or your job logging is missing labor — both are expensive, in different ways.
  5. Read five numbers. Average ticket by call type, revenue per completed call, first-time fix rate, truck-stock turn, and warranty mix as a share of calls. Trend them month over month. That dashboard — not the bank balance — is the actual instrument panel of the business.

Tax details worth getting right

  • Inventory simplification is not an instruction to stop tracking. Small taxpayers may qualify for simplified inventory treatment under the Section 471(c) safe harbor, which can let qualifying businesses handle parts more like materials and supplies. But that is a tax-filing convenience, not a management system — keeping real inventory accounts for job costing costs you nothing at tax time and earns its keep all year.
  • Sales tax applies unevenly. Most states tax billed parts; some tax labor on repairs as well. Configure the tax rules in your field software per jurisdiction, because a sales-tax audit examines your invoices line by line, and blended "we charge tax on the whole ticket" habits over- or under-collect.
  • Vans and tools depreciate — currently fast. With 100% bonus depreciation restored for property acquired after January 19, 2025, plus Section 179 expensing, service vans, shop equipment, and diagnostic tools can generally be written off in the year placed in service. Keep the purchase, placed-in-service date, and business-use percentage documented per asset.
  • Vehicle method is a one-way door. Take standard mileage on a van the first year, and you preserve the choice to switch to actual costs later; start with actuals and you are locked in for that vehicle. Track both for the first year if you are unsure.

Keep Your Books as Tight as Your Wiring

Every lesson in this article — matching parts cost to tickets, tracking truck stock, separating warranty from retail — comes down to one idea: the profit is in the details, and the details are only visible in books structured to show them. Beancount.io gives you plain-text accounting with complete transparency: every transaction is a line you can read, audit, and version-control, whether you track a single van or a fleet. Get started for free and see your real margin per call, not just your bank balance.

Share this article