Unbilled work in an auto repair shop is any part installed, labor done or sublet paid for that never made it onto a closed repair order. You find it with four monthly matches: parts bought against parts billed, lift time against billed hours, sublet invoices against sublet lines, and cars in the bays against ROs opened. Run the same four checks at every shop and compare them as percentages, so you can see which location is leaking and where.
Most of what ranks for this is written for one shop and one leak (usually parts), and often ends in a software demo. This guide is for owners with two or more shops who can't be at each one and want to know what's happening at every location without reading every RO.
Quick answer
- Parts: purchases − returns − inventory growth − parts on open ROs should equal parts cost on closed ROs. The gap is your unbilled parts.
- Labor: compare hours a lift was occupied with hours billed, and look for lift time with no RO open.
- Sublet: every sublet invoice should match a sublet line on a closed RO.
- Cars with no RO: count cars into each bay and match them to ROs the next morning.
- Compare shops on gap % of purchases or of hours, against each shop's own last 3 months.
Where does unbilled work come from?
Usually it's process, not people taking things. A tech grabs a hose from the shelf and the advisor never adds it. A diagnosis runs an hour over and the extra time stays off the RO. Kaizen CPAs, an accounting firm for repair shops, puts it the same way: "It's a process issue" (Kaizen CPAs).
| Where it leaks | What it looks like | Which check finds it |
|---|---|---|
| Parts pulled from stock | Small parts (hoses, clips, bulbs, fluids) installed but never added | Parts match |
| Parts ordered for a job | Part bought on a PO, installed, RO closed without it | Parts match |
| Diagnostic and research time | Time looking up procedures or chasing a fault, never billed | Labor match |
| Extra labor on the job | Job runs long, billed at the quoted hours with no note | Labor match |
| Sublet | Alignment, machine work or tow paid to a vendor, not passed on | Sublet match |
| Cars with no RO | A friend's car, a "quick look", a job the shop never wrote up | Cars vs ROs |
FenderBender's list of operations shops should bill for includes time spent researching parts and time spent ordering them (FenderBender). Whether you bill those is your call. What matters is that you decide it once, for every shop, and write it down.
How do you find parts used but not billed?
Do it monthly, per shop, from your shop system and your supplier invoices.
- Parts purchased this month (all supplier invoices, at cost).
- Minus return credits received.
- Minus the increase in on-hand stock (or plus a decrease), from the inventory count.
- Minus parts sitting on open ROs at month end.
- The result is the cost of parts that should be on closed ROs this month.
- Compare it with the parts cost actually on closed ROs. The difference is the gap.
WickedFile describes the full accounting version of this (physical value against the parts inventory account on the books) in its parts reconciliation guide. For an owner, the simple version above is enough to tell which shop to look at.
Kaizen's back-of-napkin math shows why it's worth doing: "If you miss just $10/day in parts, that's over $3,600/year lost" (Kaizen CPAs). That's at cost. At your parts markup, the lost sales are several times that.
How do you find labor and lift time that wasn't billed?
Billed hours will always be lower than the hours a lift is occupied. Cars wait for parts, techs road test, a car sits on the lift over lunch. That's normal, and it's what technician efficiency vs productivity measures.
The unbilled-labor signals are narrower:
- Lift time with no open RO. A car on the lift for 50 minutes and no RO opened in that window.
- Jobs that run far past book time with no note. Fine once. A pattern at one shop or one tech is a conversation.
- Diagnostic time on cars that leave without a sale. If your policy is to charge for diagnosis, those ROs should carry a diag line.
Lift time comes from your shop system's clock-in data if techs clock jobs, or from a camera on each bay if they don't. A camera doesn't depend on anyone pressing a button, which is why we use it.
How do you check sublet?
Pull every sublet vendor invoice for the month (towing, alignment if you send it out, machine shop, glass). Each one should match a sublet line on a closed RO for the same vehicle. Unmatched invoices are either not yet billed (RO still open) or never billed. It takes 15 minutes a month per shop and catches the most expensive single items.
How do you catch cars worked with no RO?
This is the one your shop system can't see at all, because nothing was entered.
Count cars into each bay (a camera on the bay door or over the lift does this), then match each visit to an RO opened at that shop around the same time. The unmatched visits go on a short list with a snapshot of each. Most will have an innocent answer: a comeback, a warranty re-check, a test drive, a manager's car. Log the reason. What's left is the work nobody wrote up.
We wrote the step-by-step for quick lubes in matching bay cameras to POS tickets. The method is the same in a repair shop; the time windows are longer.
Worksheet: one month, three shops
(Made-up numbers, not real store data.)
| Shop A | Shop B | Shop C | |
|---|---|---|---|
| Parts purchased (cost) | $48,000 | $36,500 | $52,300 |
| Return credits | $1,800 | $900 | $1,100 |
| Increase in on-hand stock | $1,200 | $300 | $400 |
| Parts on open ROs at month end | $2,100 | $1,600 | $2,800 |
| Should be on closed ROs | $42,900 | $33,700 | $48,000 |
| Parts cost on closed ROs | $42,300 | $33,200 | $45,100 |
| Parts gap | $600 (1.3% of purchases) | $500 (1.4%) | $2,900 (5.5%) |
| Unmatched sublet invoices | 0 | 1 | 4 |
| Bay visits with no RO (after reasons logged) | 2 | 3 | 11 |
How to read it:
- Shops A and B are in the same range. Some gap is normal (counting errors, timing of credits). Watch the trend, not the dollar.
- Shop C is off on all three lines at once. That usually means the RO isn't being built while the work happens. Ask the manager three things: who adds parts to the RO, when sublet invoices get matched, and what the 11 visits were. Bring the snapshots.
Set each shop's normal range from its own last three months before you compare shops against each other. A shop that's always at 3% and is now at 3% is a different conversation from one that jumped from 1% to 3%.
What do you do with a gap?
| What you see | Most likely cause | First fix |
|---|---|---|
| Parts gap, small parts mostly | Shelf stock not added to ROs | Shop-supply policy; advisor adds parts before the car leaves the bay |
| Parts gap, ordered parts | PO not tied to an RO | Every PO gets an RO number at order time |
| Lift time with no RO | Work started before write-up | No car on a lift without an open RO |
| Unmatched sublet | Invoice arrives after RO closed | Weekly sublet match; hold RO open until sublet is in |
| Bay visits with no RO, after reasons | Work nobody wrote up | Review the clips with the shop manager the same week |
Keep the tone about process. Shop owners rarely talk about "theft"; they want to know what's happening at every shop. That's also the fastest way to get a manager to fix it. Our guide on holding store managers accountable has the weekly call format.
How often should you run these checks?
- Weekly: cars with no RO (from the bay counts) and lift time with no RO. These go stale fast.
- Monthly: the parts match and the sublet match, per shop, with the gap as a % of purchases.
- Quarterly: a full physical count at each shop. Tekmetric's parts guide suggests a full inventory check at least weekly to find unbilled parts (Tekmetric); that's more than most multi-shop owners keep up with, so start monthly and tighten at the shop that leaks.
If you also sell tires, the received-vs-billed version for tires is in our tire inventory audit.
How Trilix fits
We build these checks so nobody runs them by hand. Camera analytics on the bay cameras you already have count cars into each bay and time the lift, then match each visit to an RO in your shop system every morning. Supplier invoices, ROs and your books come together on one owner dashboard, with the parts and sublet match by shop and a flag on anything outside its range. It sits on top of the shop system you run today. More on how this works for repair shops on our tire and auto repair page.
Want to see where work isn't making it onto the RO at each shop?
We'll look at your shop system, supplier invoices and bay cameras and show you what the checks would flag.
