Operations 15 min read

Auto Repair Order: Every Field, Explained

A complete repair order spec for auto shops: every field, the status lifecycle, and why using the RO number as your PO stops a $4,320/year parts leak.

Auto Repair Order: Every Field, Explained
In this article
  1. What Is a Repair Order? The Record, Not the Receipt
  2. Estimate, Repair Order, Invoice: Three Documents, Three Jobs
  3. The Complete Repair Order Template, Field by Field
  4. The Repair Order Lifecycle, and Where Money Leaks at Each Stage
  5. The PO Number Is the Most Important Field Nobody Fills In Correctly
  6. Five Stores, Five Repair Order Conventions, One Unusable Report
  7. How to Audit Your Repair Orders This Week (Three Reports)
  8. Where the Repair Order Meets Your Vendor Invoices

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.

DocumentWhat it isWho it’s forWhen it’s final
EstimateThe promise: what you expect the job to cost before a wrench turnsThe customerThe moment they authorize it
Repair orderThe record: everything that actually happened, with cost, source, hours, and who did itThe businessWhen the ticket closes and reconciles
InvoiceThe bill: the customer-facing subset of the ROThe customerWhen 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.

GroupFieldWhy it earns its place
IdentifiersRO numberUnique, sequential, never reused. The join key for everything.
IdentifiersRO statusWhere the job is right now. Drives every report below.
IdentifiersStore or location IDWithout it, five stores all produce an RO 1042.
IdentifiersDates opened, promised, closed, invoicedAging, return windows, and work-in-process all start here.
IdentifiersService advisorWho owns the ticket, the discounts, and the follow-up.
IdentifiersJob sourceAppointment, walk-in, tow, fleet, warranty, internal. Explains your mix.
IdentifiersRelated RO number and linked invoice numberTies comebacks, second visits, and the customer document together.
CustomerName, phone, email, preferred contact methodMiss the last one and approval texts go nowhere.
CustomerAccount typeRetail, fleet, warranty, insurance, internal. Sets rate and terms.
CustomerCustomer PO numberFleet accounts issue their own. Not your vendor PO.
CustomerTax statusResale and exempt customers get billed wrong without it.
VehicleYear, make, model, engine, trimEngine and trim are where wrong parts are born.
VehicleFull 17-digit VINThe only field that guarantees the right car.
VehiclePlate and stateHow the customer and your lot identify the car.
VehicleMileage in and mileage outWarranty math, intervals, and proof of what you drove.
VehicleFleet unit number, color, keys and valuables noteBoring until a key goes missing.
VehicleService history linkYour diagnostic head start and your comeback defense.
Job lineConcern, in the customer’s wordsVerbatim. “Noise turning left” is data. Your paraphrase isn’t.
Job lineCauseWhat the technician found. The diagnosis, not the guess.
Job lineCorrectionWhat was done. Those three are the 3 C’s.
Job lineOp code and job statusAuthorized, declined, or deferred. Per job, not per ticket.
Job lineAuthorization recordWho approved it, when, and how.
Parts lineDescriptionPlain language. Customer and bookkeeper both read it.
Parts lineVendor part number and manufacturer numberTwo different numbers. Returns need both.
Parts lineQuantityIncluding the ones ordered twice by accident.
Parts lineSource vendor, or “stock”Blank here breaks every downstream match.
Parts linePO numberThe RO number. The field this whole post is about.
Parts lineVendor invoice numberThe tie from your ticket to their paper.
Parts lineCost eachTrue landed cost, including freight you aren’t billing.
Parts lineSell each and matrix usedDealer, standard, or list. Off-matrix sells hide here.
Parts lineCore amount, core returned, credit receivedThree separate facts. Most shops track one.
Parts lineReturn flag, RMA number, credit receivedA return slip isn’t a credit. Track both states.
Parts lineWarranty flagUnflagged zero-cost warranty parts wreck margin reports.
Parts lineReceived by, date received, non-returnable flagWho signed, when the return window opened, whether to take a deposit.
Parts lineTax charged by the vendorVendors sometimes tax parts you bought for resale.
Labor lineOp code and descriptionSame code as the job line. Consistency is the point.
Labor lineGuide hoursWhat the labor guide says the job takes.
Labor lineBilled (sold) hoursWhat you charged. The gap to guide hours is real money.
Labor lineActual clocked hoursWhat it took. The gap to billed hours is efficiency.
Labor lineTechnician ID and splitTwo techs, two lines. Not one guess.
Labor lineLabor rate and rate typeRetail, fleet, warranty, internal. Different rates, same RO.
Labor lineLabor category and discount reason codeDiagnostic, maintenance, repair, comeback. Unbilled diag hides here.
SubletVendor and descriptionAlignment, machine work, glass, upholstery, ADAS calibration.
SubletSublet PO numberThe RO number again. Sublet is where it’s skipped most.
SubletVendor invoice number and costWhat you were billed for work you didn’t perform.
SubletSell price, date out, date backBill it or donate it. No third option.
Fees & totalsShop supplies, hazmat, disposal, storageEach its own line, each with a rule behind it.
Fees & totalsFreight or shippingBilled or absorbed. Decide on purpose.
Fees & totalsTicket-level discount and reasonSeparate from line discounts, or you double-count.
Fees & totalsParts, labor, sublet, fee subtotals, tax, totalThe arithmetic the customer will check.
Fees & totalsGross profit by line and by ROParts GP and labor GP, visible before the ticket closes.
Declined workDeclined items with date and reasonLiability protection now, a warm lead in ninety days.
Declined workDeferred work with priority and follow-up dateThe list every shop builds and nobody works.
NotesTechnician notesWritten so the next tech can use them, not decode them.
NotesAdvisor notes and customer call logDate, time, who you spoke to, what they said.
NotesInspection photos, video, pre- and post-scan reportsThe evidence behind the recommendation, and your liability defense.
NotesSigned estimate and authorization documentsAttached 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.

  1. Open: created, vehicle checked in, concern captured.
  2. Estimated / awaiting authorization: priced, waiting on a yes.
  3. Authorized / in progress: approved, dispatched, tech working.
  4. Parts ordered / waiting on parts: the most money committed, the least attention paid.
  5. Work complete / quality control: done, checked, ready.
  6. Invoiced: the customer document is generated, payment taken.
  7. 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 ordersSTOCK-070126 (the date).
  • Shop suppliesSUPPLY-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.

Frequently asked questions

What is a repair order in an auto shop?

A repair order (RO) is the internal job record your shop management system creates for one vehicle on one visit. It holds the customer and vehicle details, the concern-cause-correction for each job, every parts line with its cost and source, every labor line with hours and technician, sublet work, fees, declined work, and the authorization record. The customer never sees most of it. That's the point. The RO is the business's record of the job, not the customer's receipt.

What's the difference between a repair order and an invoice?

The repair order is the record; the invoice is the bill. The RO tracks everything that happened on the job, including what each part cost you, which vendor it came from, and how many hours the tech actually clocked. The invoice is the customer-facing subset of that: what they authorized, what was done, and what they owe. One RO produces one invoice, but the invoice deliberately leaves out your cost, your margin, and your internal notes.

What information should be on a repair order?

Nine groups of fields: identifiers (RO number, status, dates, store, advisor), customer and billing, vehicle (full VIN, plate, mileage in and out), a job line per concern with the 3 C's, parts lines (part number, vendor, PO number, cost, sell, core and return flags), labor lines (op code, guide hours, billed hours, actual hours, tech, rate), sublet, fees and totals with gross profit, and declined or deferred work plus notes and attachments. The field-by-field table in this post is the full spec.

Should the RO number be used as the PO number on parts orders?

Yes, and it's the highest-value convention in a repair shop back office. When every part bought for a job carries that job's RO number in the vendor's PO field, any charge on any vendor invoice can be traced to a ticket in seconds. When it's blank or says 'Mike,' reconciliation stops being a match and becomes a search. Stock orders and shop supplies need their own conventions, like STOCK-070126, so they stay identifiable too.

How long should a repair order stay open?

Most ROs should close within a few days of the vehicle leaving. Anything open past 14 days deserves a look, and anything past 30 days deserves an actual investigation. Long-open ROs hide parts that were bought and never sold, blow past vendor return and core windows, and misstate your work-in-process. Run an open-RO-by-age report weekly and keep the tail short.

Do I need a repair order template if I already have shop management software?

You don't need a Word or Excel template, but you do need a field standard. Every shop management system ships with a default RO layout, and most shops never audit whether the fields that matter (PO number, part source, core flag, guide hours, tech ID, declined work) are required, visible, and actually being filled in. Use the specification in this post as a checklist against your current setup and turn on what's missing.

Why do deleted repair orders matter to my books?

Deleting an RO removes the sell side of the job. It does not remove the vendor invoice for the parts you already bought. That part now sits in cost of goods sold with nothing on the revenue side to explain it, and the audit trail that would have told you why is gone. Void ROs with a reason code instead of deleting them, restrict delete permissions to one or two people, and run a deleted-RO report weekly.

Stop guessing at parts margin.

WickedFile reconciles every parts invoice against your repair orders, so the matrix you set is the matrix that runs.

Book a demo
500 free pages · No credit card · Connects to your SMS