Every shop has one repair order that’s been open since March. Nobody remembers the car. There’s a $180 part on the ticket, and the only note on the entire job says “Mike said to order it.” Mike hasn’t worked here since April.
That ticket is still the most honest document in your building. The repair order is the only thing in your shop that knows the whole truth about a job. Everything else is a highlight reel.
Here’s the thesis, and the rest of this post is evidence for it: the customer invoice is the story you tell. The repair order is the evidence.
This is written for the owner or the new manager, not the customer. It covers what a repair order is, every field that belongs on one, the status lifecycle and where money leaks at each stage, and the single field (the PO number) that decides whether your back office can reconcile anything at all. A 400-RO-a-month shop with a broken PO habit is quietly donating about $4,320 a year to its parts vendors. The math is below.
Read it in eight minutes. Fix your RO template this week.
What Is a Repair Order? The Record, Not the Receipt
A repair order is the internal job record your shop management system opens for one vehicle on one visit. One car, one trip, one number.
It holds which car it is, what the customer complained about, what the tech found, which parts came from which vendor at what cost, who turned the wrench and for how long, what you sent out, what the customer declined, and what you’re calling them about in ninety days.
Your customer sees maybe forty percent of that.
Some shops and some systems say “work order” instead. Same document, different label. RO Writer and NAPA TRACS lean one way, Tekmetric and Shop-Ware the other, and nobody at the counter has ever been confused by either. Use the word your team already says.
There’s a documentation baseline worth knowing. California’s Bureau of Automotive Repair, in its Write It Right guidance, says the work order must carry the authorized estimate for the specific job, the repairs the customer requested and authorized, and the odometer reading. Records are kept three years under a unique transaction identifier. Requirements vary by state, so check yours. For what the law requires on the customer-facing document (itemization rules, authorization, disclosures, getting paid), that’s a different post: what every auto repair shop invoice needs to include. This one stays inside the shop.
Estimate, Repair Order, Invoice: Three Documents, Three Jobs
Most confusion about repair orders is really confusion about which of three documents you’re holding.
| Document | What it is | Who it’s for | When it’s final |
|---|---|---|---|
| Estimate | The promise: what you expect the job to cost before a wrench turns | The customer | The moment they authorize it |
| Repair order | The record: everything that actually happened, with cost, source, hours, and who did it | The business | When the ticket closes and reconciles |
| Invoice | The bill: the customer-facing subset of the RO | The customer | When it’s paid |
Which answers a question I get constantly: do I need a separate auto repair estimate template?
No. In every modern shop management system, the estimate is the repair order in an earlier status. You maintain one document with states, and the estimate is state one: the RO’s first draft. If you’re writing estimates on a separate pad and re-keying them later, you’ve created two versions of the truth and volunteered to reconcile them by hand.
Authorization, change orders, and the paper trail that keeps you out of a chargeback fight all live in the invoice post above. Go there for that. Come back here for the fields.
The Complete Repair Order Template, Field by Field
This is the part worth printing. It isn’t a Word document. It’s a specification. Open your shop management system, walk the list, and turn on, require, or fix whatever’s missing.
I grew up filing these in my dad’s shop before I could drive, and I still catch myself calling this “the parts part.” A service writer once informed me that isn’t the technical term. I informed him it was, as of that morning.
| Group | Field | Why it earns its place |
|---|---|---|
| Identifiers | RO number | Unique, sequential, never reused. The join key for everything. |
| Identifiers | RO status | Where the job is right now. Drives every report below. |
| Identifiers | Store or location ID | Without it, five stores all produce an RO 1042. |
| Identifiers | Dates opened, promised, closed, invoiced | Aging, return windows, and work-in-process all start here. |
| Identifiers | Service advisor | Who owns the ticket, the discounts, and the follow-up. |
| Identifiers | Job source | Appointment, walk-in, tow, fleet, warranty, internal. Explains your mix. |
| Identifiers | Related RO number and linked invoice number | Ties comebacks, second visits, and the customer document together. |
| Customer | Name, phone, email, preferred contact method | Miss the last one and approval texts go nowhere. |
| Customer | Account type | Retail, fleet, warranty, insurance, internal. Sets rate and terms. |
| Customer | Customer PO number | Fleet accounts issue their own. Not your vendor PO. |
| Customer | Tax status | Resale and exempt customers get billed wrong without it. |
| Vehicle | Year, make, model, engine, trim | Engine and trim are where wrong parts are born. |
| Vehicle | Full 17-digit VIN | The only field that guarantees the right car. |
| Vehicle | Plate and state | How the customer and your lot identify the car. |
| Vehicle | Mileage in and mileage out | Warranty math, intervals, and proof of what you drove. |
| Vehicle | Fleet unit number, color, keys and valuables note | Boring until a key goes missing. |
| Vehicle | Service history link | Your diagnostic head start and your comeback defense. |
| Job line | Concern, in the customer’s words | Verbatim. “Noise turning left” is data. Your paraphrase isn’t. |
| Job line | Cause | What the technician found. The diagnosis, not the guess. |
| Job line | Correction | What was done. Those three are the 3 C’s. |
| Job line | Op code and job status | Authorized, declined, or deferred. Per job, not per ticket. |
| Job line | Authorization record | Who approved it, when, and how. |
| Parts line | Description | Plain language. Customer and bookkeeper both read it. |
| Parts line | Vendor part number and manufacturer number | Two different numbers. Returns need both. |
| Parts line | Quantity | Including the ones ordered twice by accident. |
| Parts line | Source vendor, or “stock” | Blank here breaks every downstream match. |
| Parts line | PO number | The RO number. The field this whole post is about. |
| Parts line | Vendor invoice number | The tie from your ticket to their paper. |
| Parts line | Cost each | True landed cost, including freight you aren’t billing. |
| Parts line | Sell each and matrix used | Dealer, standard, or list. Off-matrix sells hide here. |
| Parts line | Core amount, core returned, credit received | Three separate facts. Most shops track one. |
| Parts line | Return flag, RMA number, credit received | A return slip isn’t a credit. Track both states. |
| Parts line | Warranty flag | Unflagged zero-cost warranty parts wreck margin reports. |
| Parts line | Received by, date received, non-returnable flag | Who signed, when the return window opened, whether to take a deposit. |
| Parts line | Tax charged by the vendor | Vendors sometimes tax parts you bought for resale. |
| Labor line | Op code and description | Same code as the job line. Consistency is the point. |
| Labor line | Guide hours | What the labor guide says the job takes. |
| Labor line | Billed (sold) hours | What you charged. The gap to guide hours is real money. |
| Labor line | Actual clocked hours | What it took. The gap to billed hours is efficiency. |
| Labor line | Technician ID and split | Two techs, two lines. Not one guess. |
| Labor line | Labor rate and rate type | Retail, fleet, warranty, internal. Different rates, same RO. |
| Labor line | Labor category and discount reason code | Diagnostic, maintenance, repair, comeback. Unbilled diag hides here. |
| Sublet | Vendor and description | Alignment, machine work, glass, upholstery, ADAS calibration. |
| Sublet | Sublet PO number | The RO number again. Sublet is where it’s skipped most. |
| Sublet | Vendor invoice number and cost | What you were billed for work you didn’t perform. |
| Sublet | Sell price, date out, date back | Bill it or donate it. No third option. |
| Fees & totals | Shop supplies, hazmat, disposal, storage | Each its own line, each with a rule behind it. |
| Fees & totals | Freight or shipping | Billed or absorbed. Decide on purpose. |
| Fees & totals | Ticket-level discount and reason | Separate from line discounts, or you double-count. |
| Fees & totals | Parts, labor, sublet, fee subtotals, tax, total | The arithmetic the customer will check. |
| Fees & totals | Gross profit by line and by RO | Parts GP and labor GP, visible before the ticket closes. |
| Declined work | Declined items with date and reason | Liability protection now, a warm lead in ninety days. |
| Declined work | Deferred work with priority and follow-up date | The list every shop builds and nobody works. |
| Notes | Technician notes | Written so the next tech can use them, not decode them. |
| Notes | Advisor notes and customer call log | Date, time, who you spoke to, what they said. |
| Notes | Inspection photos, video, pre- and post-scan reports | The evidence behind the recommendation, and your liability defense. |
| Notes | Signed estimate and authorization documents | Attached to the RO, not living in a drawer. |
If your system can’t hold a field on that list, that’s worth knowing. If it can and you aren’t using it, that’s worth fixing this week. The written processes that produce a clean RO are what keep those fields populated after the enthusiasm wears off.
The Repair Order Lifecycle, and Where Money Leaks at Each Stage
Every RO moves through the same states. The names differ by system; the sequence doesn’t.
- Open: created, vehicle checked in, concern captured.
- Estimated / awaiting authorization: priced, waiting on a yes.
- Authorized / in progress: approved, dispatched, tech working.
- Parts ordered / waiting on parts: the most money committed, the least attention paid.
- Work complete / quality control: done, checked, ready.
- Invoiced: the customer document is generated, payment taken.
- Closed: reconciled and finished.
Two off-ramps also exist: declined and voided. Notice which word isn’t on that list: deleted.
Each stage leaks differently. A part gets ordered before the yes and never comes off the ticket when the answer is no. A hotshot arrives with a delivery ticket nobody matches. The tech’s extra 0.4 hours never reaches a labor line. A discount lands with no reason code and nobody asks why.
Two failures do more damage than the rest combined.
The RO that stays open for 90 days. Nothing good happens to an RO after day 30. It doesn’t age like wine. It ages like a core in a bucket. Parts bought against that ticket sit past the vendor’s return window and past the core window. The job’s cost is stuck in work-in-process, so the month’s parts gross profit is a work of fiction. And when someone finally closes the ticket to tidy up the list, nobody re-checks whether the four parts on it ever got sold. They just close it. The leak closes with it.
The deleted RO. This one is worse because it looks like housekeeping. Deleting an RO removes the sell side of the job. It does not remove the vendor invoice for the parts you already bought. Vendors have excellent memories and no sense of humor. That part now sits in cost of goods sold with nothing on the revenue side to explain it, and the record that would have told you why is gone.
The fix is a permissions change, not a purchase. Void with a reason code instead of deleting. Restrict delete rights to one or two people. Run a deleted-and-voided report every week and actually read it.
The PO Number Is the Most Important Field Nobody Fills In Correctly
Here’s the heart of it.
The PO field on a vendor invoice is the one genuinely free-text box in the entire parts supply chain. The vendor’s system accepts anything you say. Which is why, nine times out of ten, it contains anything.
I have seen a PO number that just said Mike. Mike is not a repair order. Mike is a guy who likes hot rods and drinks his coffee black.
I’ve also seen “brakes,” “will call,” a phone number, a customer’s last name, the previous customer’s last name, and (my favorite) an RO number from a different store in the same group.
The rule is one sentence: the repair order number is the PO number. Every part bought for that job, from every vendor, every time. Counter pickups. Phone orders. Hotshots. Sublet. No blanks, no “misc.”
Three purchases genuinely aren’t for a job, and they need conventions of their own so they stay identifiable:
- Stock and inventory orders →
STOCK-070126(the date). - Shop supplies →
SUPPLY-070126. - Work on your own shop vehicles → open an internal RO and use its number. “SHOP” is not a number.
Why does one field carry this much weight? Because it’s the only join key between money going out and money coming in. The vendor invoice knows what you were billed. The RO knows what you sold. The PO number is the string tying them together. Fill it in and reconciliation is a match. Leave it blank and reconciliation becomes a search: a bookkeeper, a stack of PDFs, and a hunch.
So here’s my one strong opinion for the day: a PO number that doesn’t point back to a repair order isn’t a PO number. It’s a wish.
I’ll back it with a story and two numbers.
A few months ago, a customer at a shop I know decided not to repair their vehicle and wanted to sell it. One of the service advisors bought the car himself, which was already against the rules. Then he ordered the parts through the shop, did the work, and never paid for them. The lesson isn’t “watch your advisors.” It’s that every part a business buys needs a legitimate business reason attached to it, and the PO number is what carries that reason. Without it, that purchase looked exactly like every other line on the statement. With an RO number required on every order, it would have looked like what it was: a part with no job.
Now the math. It’s illustrative. Plug in your own numbers.
Take a shop closing 400 ROs a month. Assume a conservative 1.5% of tickets carry a part that got bought and never sold on the job. Average part cost $60.
- 400 × 1.5% = 6 parts a month
- 6 × $60 = $360 a month
- $4,320 a year, per shop
- Across a five-store group: roughly $21,600 a year
That’s the cost side alone. Marked up, it’s meaningfully more revenue you never billed.
Why does the tie break so easily? Because you aren’t reconciling one relationship. In the 2026 Ratchet+Wrench Industry Survey of more than 430 shop owners and managers, 47% of shops reported using five or more regular parts vendors each month. Five vendors, five invoice formats, five PO fields, five delivery drivers, and one advisor ordering under pressure with a car on the lift. Every handoff is a chance for the RO number not to get typed.
There’s a second, smaller number nobody counts: what an untraceable PO costs in back-office time. Say each vendor statement carries a dozen lines your bookkeeper can’t tie to a ticket, and each takes eight minutes to chase: call the vendor, pull the invoice copy, find the vehicle, guess the RO. That’s 1.6 hours per vendor, or eight hours a month across five. At a $28/hour loaded rate, about $224 a month, or $2,700 a year. It’s also the eight least valuable hours in your building. Five stores: roughly $13,400 a year of month-end archaeology. (Illustrative again, but every controller reading this just nodded.)
The habit that fixes it costs nothing. Say the RO number first when you order: “PO is 48213, I need front pads for a 2019 Camry.” Then check the delivery ticket against the RO before signing for it. That’s the whole change. For the other counter habits worth tightening at the same time, we broke down the parts-ordering mistakes that quietly cost shops money. And the core flag on your parts line is only worth having if somebody owns the core return and credit workflow.
Five Stores, Five Repair Order Conventions, One Unusable Report
In a single shop, a sloppy RO convention is annoying. At five stores, it’s a reporting outage.
Here’s what happens to a group that grows by acquisition. Store 1 has run since 2009 and is somewhere north of RO 84,000. Stores 2 through 5 arrived with their own systems and each restarted numbering at 1000. The group now contains five ROs numbered 1042, and a bookkeeper holding a vendor invoice marked “PO 1042” has a one-in-five chance of guessing right. (Which is fine, as long as nobody ever needs to find one. Somebody always needs to find one.)
Four things have to be standardized across stores, and none are expensive:
- RO numbering. Prefix by store (
03-1042) or run one group-wide sequence. Pick one, never revisit it. - Statuses. The same seven states meaning the same seven things, so “open ROs over 30 days” is one number instead of five arguments.
- Op codes. Same code, same job, same guide hours. Otherwise you can’t compare a tech in Store 2 to one in Store 4.
- The PO convention. One rule, one format, including the STOCK and SUPPLY prefixes. Five conventions is the same as none.
The centralized back office is where this works or doesn’t, and the multi-location back-office playbook covers who owns which task once the group outgrows one bookkeeper.
How to Audit Your Repair Orders This Week (Three Reports)
Budget an hour. All three run out of your shop management system.
1. Open ROs by age. Sort descending. Flag everything past 14 days, investigate everything past 30. Then total the parts cost sitting on ROs older than 30 days. That’s money already spent on jobs you haven’t billed, and some of it is past the return window.
2. Deleted and voided ROs, last 90 days, with the user. You’re looking for volume, and for whether one person accounts for most of it. Neither answer is automatically bad. Both deserve a conversation.
3. Last month’s parts purchases with the PO field exported. Pull every parts purchase by vendor, export the PO column, and count how many rows hold a value that matches a real RO number. That percentage is your reconciliation ceiling. If it’s 60%, then 40% of your parts spend can’t be traced to a job no matter what software you buy.
Bonus, if you have twenty more minutes: closed ROs with a parts line at zero sell price. Some are legitimate warranty parts. The rest are parts you bought, installed, and forgot to charge for.
Where the Repair Order Meets Your Vendor Invoices
This is where WickedFile fits, and I’ll be specific about the boundary.
The repair order is the record vendor invoices get reconciled against. It’s the only document in your business that can answer “why did this money leave?” for a parts purchase. A vendor invoice tells you what you were billed. A statement tells you what’s owed. A bank feed tells you what left the account. Only the RO says whether the part was sold to a customer, put on the shelf, returned, or used internally. And parts reconciliation is the discipline of proving which one happened, every time.
WickedFile reads RO data out of your shop management system and compares it against vendor invoices, credits, statements, card and bank activity, and QuickBooks, then surfaces the exceptions: the invoice with no matching RO, the PO number that points nowhere, the part bought against a ticket and never sold, the core credit that never landed, the long-open and deleted ROs that need eyes on them.
What it is not: it is not a shop management system. It does not write repair orders, number them, dispatch them, or manage them. It doesn’t estimate, it doesn’t talk to your customers, and it has no opinion about your op codes. Your SMS runs the shop. WickedFile checks the shop’s math against the money.
And here’s the honest part. If your PO field is blank half the time, don’t buy software yet. Nothing on earth can reconcile to a field nobody filled in. Fix the convention first: a whiteboard, one sentence at the parts counter, and two weeks of somebody caring. Then automate the checking, because doing it by hand every month is how good back-office people quit.
Write the invoice for your customer. Write the repair order for the version of you who gets asked about that job eight months from now. He’ll be extremely grateful. He still won’t laugh at my jokes.
