The Invoice Isn't the Record

The dealership hands you a paper invoice. You fold it, put it in the glove box, and eighteen months later when you're selling the car and the buyer asks for service history, you find three invoices, a torn receipt from the tire shop, and nothing from the oil change place that closed down. You have no idea when the brake fluid was flushed or what the rotors measured last time they were on the rack.

The invoice documents a transaction. This template documents the car. Those are not the same thing.

Car Field as the Multi-Vehicle Pivot

Car is a free-text identifier — "2018 Tacoma," "Wife's Accord," "F-150 work truck." All vehicles share the same database, and Car is the filter. Every service record for every vehicle in the same place, searchable, sortable by car, by date, by service type.

The Done checkbox is for scheduled maintenance that hasn't happened yet. Add a record for the 60,000-mile transmission service three months before it's due. Set Done = false. It shows up in the unfinished list as a reminder. When the service is complete, check Done, fill in Date, Mileage, Price, Location. The pending-versus-completed pattern is more useful than a separate reminder app because it lives with the service history it belongs to.

Brake Thickness: The One Measurement That Actually Matters

Every other field in this template is administrative — date, price, location. Brake Thickness is diagnostic. Brake pads wear from approximately 10-12mm new to a minimum of 2mm before replacement. Rotors have a minimum thickness specification cast into their hat. A technician who measures 4.5mm on fronts and 3mm on rears at 42,000 miles is reading a different replacement timeline than one who measures 7mm fronts and 6mm rears at the same interval.

The field is text, not a number, because brake thickness isn't a single value. A full measurement reads: "FL 4.5 / FR 4.5 / RL 5.0 / RR 4.5, rotors at spec" or "fronts 3mm, near min, rotors 24.8mm vs 24.0mm min." A free-text field accommodates the full measurement string, the qualifier about rotor condition, and the tech's shorthand. Two decimal fields for front and rear would lose that context.

Tracking brake thickness across service intervals tells you wear rate per mile — which depends on driving pattern, brake pad compound, and rotor condition. After three measurements at known mileages, you can project the remaining service life with reasonable confidence instead of waiting for the squeal indicator.

Mileage and the Cost Curve

Mileage recorded at each service entry builds the interval picture: oil change every 4,200 miles or every 7 months — whichever comes first, visible in the data. Price builds the cost curve across the vehicle's life. A water pump replacement at 95,000 miles at $480, a timing belt at 105,000 at $620, a radiator at 122,000 at $380. When those entries are aggregated, the annual maintenance cost calculation is arithmetic, not estimation.

Location records the shop, dealer, or "DIY." When a problem recurs after a specific shop visit, Location is the filter that isolates that shop's work from the rest of the history. Notes captures the tech's verbal findings: "noted minor power steering leak, monitor," "left front CV boot cracked, quoted for next visit." The things that don't make it onto the invoice but matter six months later when the next shop asks if there's anything they should know.