Grainline
Mon–Fri 7:30am–5:30pm · closed weekends · diagnostic $120, applied to the repair if you go ahead Book the shop

Auto repair · Des Moines, IA · ASE Master Technician A1–A8 · L1 Advanced Engine Performance

One car. Every entry. Including the ones we got wrong.

An independent shop in Des Moines. Instead of a services list, this page publishes one customer car in full — 148,300 miles of work, what we recommended, what was declined, and which of those declines we turned out to be wrong about.

The ledger

2016 Subaru Outback 2.5i Premium

One owner, second-hand at 61,040 miles, still driving it. We have had it from 61,040 miles to 148,300 — 87,260 miles and 16 entries, $4,089 of work in total.

61,040 2 consequences, marked 148,300

  1. 61,040 mi Mar 2019

    Done

    Intake inspection

    Baseline before we touched anything. Photographed and filed.

    $120

  2. 64,500 mi Aug 2019

    Done

    Oil and filter, tyre rotation

    Routine. Rear pads measured at 6mm.

    $89

  3. 71,200 mi Jun 2020

    Done

    Front brake pads and rotors

    Pads at 2mm. Rotors below minimum thickness, so they went with them.

    $486

  4. 71,200 mi Jun 2020

    Declined

    Rear differential fluid

    We recommended it at the same visit. Customer declined. Fair call — the factory interval is severe-service only.

    not billed

  5. 78,900 mi Apr 2021

    Done

    Battery

    Failed a load test. Replaced before it stranded anyone.

    $214

  6. 84,100 mi Nov 2021

    Declined

    Valve cover gasket, small seep

    A damp seam, no drips, nothing on the driveway. We flagged it and said it could wait.

    not billed

  7. 92,600 mi Sep 2022

    Done

    CVT fluid service

    On the factory schedule at 90,000. Not a flush — a drain and fill, which is what Subaru specifies.

    $328

  8. 96,300 mi Feb 2023

    Declined

    Rear wheel bearing, early noise

    A faint hum on left-hand curves. We recommended replacement. Customer wanted to wait and hear it develop.

    not billed

  9. 103,800 mi Oct 2023

    Came back

    Rear wheel bearing and hub

    It developed. By the time it came back the hub had scored, so the repair was larger than the one declined at 96,300.

    Follows the recommendation at 96,300 miles, which was declined.

    $612

  10. 109,400 mi May 2024

    Done

    Spark plugs, all four

    Factory interval. Two were at the wear limit, two had a season left.

    $268

  11. 112,000 mi Jul 2024

    Declined

    Front sway bar end links

    A light knock over expansion joints. Customer declined. Still quiet three years on — we were early.

    not billed

  12. 121,500 mi Mar 2025

    Done

    Timing belt, water pump, tensioner

    The big one. Done as a set because the labour overlaps almost entirely.

    $1,284

  13. 121,500 mi Mar 2025

    Declined

    Serpentine belt

    We had it apart and recommended doing it while we were in there. Declined. It is still fine.

    not billed

  14. 130,200 mi Nov 2025

    Came back

    Valve cover gasket

    The seep from 84,100 became a drip onto the exhaust. Same gasket, plus cleaning what it had cooked onto.

    Follows the recommendation at 84,100 miles, which was declined.

    $397

  15. 141,700 mi Apr 2026

    Done

    Rear brake pads

    Rotors measured in spec, so pads only. Seventy thousand miles on the rears.

    $291

  16. 148,300 mi Aug 2026

    Open

    Front struts, both sides

    Bounce test fails at the front. Not a safety defect yet. Our recommendation is this winter.

    not billed

How often we were right

5 recommendations declined. 2 of them came back.

We are not calibrated perfectly and this is the evidence. Where we were early, the customer saved the money. Where we were right, waiting cost more than doing it would have. Both columns are on this page because a shop that only publishes the second one is selling, not reporting.

3
Declines that were fine. We were early, and the customer kept the money.
2
Came back worse, for $1,009 between them. Both would have been cheaper done when we first said so.
1
Still open. The struts. We have said this winter, and it is not a safety defect yet.

Open the Deferral Guide →

What we charge and how

Book time, and which book.

Labour is billed from published book time, not from a stopwatch. If the guide says an operation is 2.4 hours, that is what the invoice says whether it took us 1.8 or 3.1. That is normal across the trade and almost never explained, so here it is in writing along with which guide we use.

Labour rate, guide and fee schedule
ItemFigure
Labour rate$139 / hour
Labour guideMitchell 1
Diagnostic, first hour$120
Diagnostic applied to repairYes, in full
Shop supplies3% capped at $25
Parts markupListed on the invoice

Free code reads

A code is a symptom, not a part.

A scan tool reads a code in about ninety seconds and plenty of places will do it for nothing. That is worth exactly what it costs, because a code names a symptom or a circuit — never a part.

Common OBD-II codes, what they state, what gets replaced, and what else causes them
CodeWhat it states What gets replacedWhat it also is
P0420 Catalyst efficiency below threshold, bank 1 Catalytic converter, $1,100–$1,900 A lazy upstream oxygen sensor, an exhaust leak before the sensor, or a misfire cooking the converter
P0171 System too lean, bank 1 Mass airflow sensor, $290–$480 An intake leak, a weak fuel pump, or a dirty MAF that only needed cleaning
P0300 Random or multiple cylinder misfire Coils and plugs, $400–$700 A vacuum leak, low fuel pressure, or one injector — the code will not tell you which
P0442 Small evaporative emission leak Purge valve, $180–$320 The fuel cap, roughly a third of the time, at no cost at all

Reading the code is free here too. Finding which of those it actually is takes a technician and a couple of hours, and that is what the diagnostic fee buys.

Who drives to us

Des Moines and the metro.

South side

Indianola Hills, Gray’s Lake, Southwestern Hills

East

East Village, Capitol Park, Pleasant Hill

North

Beaverdale, Merle Hay, Highland Park

Metro

West Des Moines, Ankeny, Urbandale, Altoona

Customers

What the metro says.

“They talked me out of a repair twice. The third time they said do it now, so I did it now, and I did not argue.”

Rosalind Achebe · Beaverdale

“The invoice listed the book hours next to the parts. First shop I have used where I could check the arithmetic myself.”

Emeka Lindqvist · West Des Moines

“Chain place told me catalytic converter, eighteen hundred dollars. Grainline found an exhaust leak ahead of the sensor. Three hundred and change.”

Fern Adeyemi · Ankeny

“They keep the whole history. I asked what the car had had done in 2021 and got an answer in about four seconds.”

Casimir Oduya · East Village

Common questions

Before you book.

Why publish a car where you were wrong?

Because a shop that only shows the times it was right is showing you an advert. Four of the seven things this customer declined were fine to decline. If we hid that, the two that were not fine would mean nothing.

Is book time fair?

It is the trade standard and it cuts both ways — you pay the same when a bolt shears and the job takes us an extra hour. What is not fair is not being told which guide is being used, so ours is on this page.

Why charge for a diagnosis when the code is free?

The code is not the diagnosis. P0420 is caused by the converter often enough that people replace it, and by three cheaper things often enough that replacing it first is how you spend the money twice. The fee buys the hours that tell those apart, and it comes off the repair.

Do you work on cars you did not sell parts for?

Yes. Bring your own parts if you want to — we will fit them, and we will say plainly that the warranty then covers our labour and not the part.

Will you tell me if something can wait?

Every recommendation we make comes with what happens if it does not get done, in words. Sixteen entries on this page and four of them are things we said could wait.

Do you do state inspections?

Iowa does not require periodic safety inspections for passenger vehicles, so there is nothing to sell you there. If you want a pre-purchase inspection on a car you are buying, that is $145 and takes about ninety minutes.

Book the shop

What is it doing?

Symptoms are more useful to us than a code. Fields marked with an asterisk are required.

This demo form posts nowhere. Point site.formAction at your own endpoint.