Articles · App ExamplesUpdated September 2026

A car maintenance log app that knows what is due.

A car maintenance log app has one job: answer "what is due, and when" for one specific car, without you doing the arithmetic. That takes more than a list of oil changes. It takes the vehicle identified properly, a rule for each service with two clocks, one counting miles and one counting months, and a receipt on every line so the history is worth something when you sell the car or make a warranty claim. That is the test this page applies, and it is the same test that runs through the rest of our app examples: the job first, the tool second.

Below: the fields, the service intervals from a real manufacturer schedule, how to decode a VIN for free, what the FTC says about receipts and warranties, and where the off-the-shelf options stop.

See what a car maintenance log app needs to record

The short version

Two clocks per service, and a receipt on every line.

A car maintenance log app needs the vehicle (VIN, year, make, model, engine, starting odometer), a rule for each service (a mileage interval and a time limit, from the maintenance guide for that exact car), and an entry for each visit (date, odometer, service, shop, cost, parts, receipt photo). Reminders fire on whichever clock runs out first. Everything people actually want from the app, what is due next, cost per mile, a history to hand a buyer, is calculated from those three things. The rest of this page is the detail, with a real schedule to copy the shape from.

The fields

What a car maintenance log app needs to record.

Three tables, really. The vehicle is entered once. The rules are entered once per service and edited rarely. The entries are what you add every time something is done. Most apps collapse these into one long list of visits, which is why they can show history but cannot say what is due.

The vehicle, once

Entered on the day the log starts and rarely touched again.

  • VIN, all 17 characters, decoded rather than typed
  • Year, make, model, trim and engine, from the decode
  • Odometer reading and date on the day the log starts
  • Fuel type and transmission, from the decode
  • Plate and a nickname, if there is more than one car

The rules, per service

One row per service, copied from the maintenance guide for that exact car.

  • Service name, from a fixed list rather than free text
  • Mileage interval
  • Time limit in months
  • A second interval for severe conditions, if the guide has one
  • Last done: odometer and date, which start both clocks

The entries, per visit

One row every time something is done, by a shop or by you.

  • Date and odometer at the time of service
  • Which rule it satisfies, so the clocks reset
  • Who did it: the shop, or DIY
  • Cost, split into parts and labor if you want cost per mile
  • Parts fitted, and whether they were new, aftermarket or recycled
  • A photo of the receipt, and what the shop found or you declined

The field that gets skipped is the odometer at the time of service. A log with dates but no mileage cannot run the mileage clock, and a log with mileage but no dates cannot run the calendar one. Both belong on every entry, or the reminder logic in the next section has nothing to work with.

The rules

Service intervals: what "due" actually means.

Every manufacturer schedule is written the same way: a mileage interval and a time limit, whichever comes first. Toyota's guide for the 2025 Camry says it plainly: scheduled maintenance every 5,000 miles or six months, and if you drive 5,000 miles in less than six months, go at 5,000 miles; if six months arrive first, go at six months. It even tells low-mileage drivers to mark a calendar. A car maintenance log app is that calendar, with the odometer counted alongside it.

One service, two clocks

Odometer clock7,400 of 10,000 miles since the last oil change
Calendar clock11 of 12 months since the last oil change

Due in about a month, by the calendar, even though the odometer says 2,600 miles to go. The reminder fires on the earlier clock.

A real schedule

One manufacturer's intervals, as the app would store them

These are the standard rows from Toyota's 2025 Camry Warranty & Maintenance Guide, read off its maintenance log charts. Your car's guide will have different numbers. The shape is what matters: two clocks, and a separate column for severe conditions.

ServiceMileage clockCalendar clockDirt, dusty or muddy roads
Rotate tiresEvery 5,000 miles6 monthsSame
Engine oil and oil filterEvery 10,000 miles12 monthsEvery 5,000 miles
Cabin air filterEvery 10,000 milesMileage only in the chartSame
Engine air filterEvery 30,000 milesMileage only in the chartInspect every 5,000 miles
Brake pads and discsInspect every 5,000 miles; measure thickness and disc runout every 30,0006 months for the inspectionSame
Engine coolantFirst at 100,000 miles, then every 50,000120 months first, then every 60Same
Spark plugsAt 120,000 milesMileage only; required under the emissions control warrantySame

Intervals from Toyota's 2025 Camry Warranty & Maintenance Guide, maintenance log pages 40 to 45. The guide also says to replace the oil and filter after 12 months even when the maintenance reminder has not appeared, and to perform the severe-conditions items only if the majority of your driving is done under those conditions.

Try it

How often is each service due for you?

Pick how far you drive in a year. The intervals are the 2025 Camry ones from the table above, so the numbers are an illustration of the rule, not a schedule for your car.

ServiceThe guide saysFor you, about everyWhich clock wins
Rotate tires5,000 miles or 6 months5 monthsThe odometer
Engine oil and oil filter10,000 miles or 1 year10 monthsThe odometer
Cabin air filter10,000 miles10 monthsThe odometer
Engine air filter30,000 miles2.5 yearsThe odometer
Brake pad thickness and disc runout30,000 miles2.5 yearsThe odometer
Engine coolant, first replacement100,000 miles or 10 years8.3 yearsThe odometer
Spark plugs120,000 miles10 yearsThe odometer

Notice how the calendar takes over at low mileage. An app that only counts miles never tells a 6,000-mile-a-year driver that the oil is due.

The vehicle

Start with the VIN, not a dropdown.

Year, make and model typed from memory are how a log ends up describing a car that does not quite exist: the wrong engine, the wrong trim, a year off. The VIN on the door jamb or the registration identifies the exact vehicle, and it can be decoded for free.

What the 17 characters mean

1
H
G
C
M
8
2
6
3
3
A
0
0
4
3
5
2
1 to 3
Manufacturer and vehicle type
4 to 8
Vehicle attributes
9
Check digit
10
Model year
11
Plant
12 to 17
Sequential number

Positions fixed by the federal VIN rule, 49 CFR 565.15. Position 9 is a check digit computed from the other 16, which is why a typed VIN can be validated before it is decoded, and position 10 is the model year, which is why NHTSA recommends sending the year along with the VIN.

The free decoder

What NHTSA's vPIC API returns

NHTSA runs a public VIN decoder, vPIC, built from the information manufacturers file with the agency about how they assign VINs. There is no API key. One GET request to vpic.nhtsa.dot.gov/api/vehicles/DecodeVinValues/{VIN}?format=json returns a flat record of about 150 fields. We ran it while writing this page, against a sample VIN, and these are the ones a maintenance log actually uses:

FieldValue returned
MakeHONDA
ModelAccord
ModelYear2003
TrimEX-V6
BodyClassCoupe
EngineCylinders6
DisplacementL2.998832712
FuelTypePrimaryGasoline
TransmissionStyleAutomatic
PlantCityMARYSVILLE
ErrorCode0
  • Formats: JSON, XML or CSV, chosen with the format parameter.
  • Partial VINs work, with an asterisk for characters you do not have, and NHTSA recommends sending the model year too.
  • A batch endpoint, DecodeVINValuesBatch, takes up to 50 VINs in one call, which is the fleet onboarding path.
  • Empty fields mean NHTSA has no data for that variable, not that the car lacks the feature; the response says so itself.
  • Traffic is governed by an automated rate control, so decode once when a vehicle is added and store the result.

The endpoint list, parameters and examples are on NHTSA's vPIC API page. What the decoder does not know is your car's service schedule; that still comes from the maintenance guide, which is why the rules table above is entered by hand.

The evidence

Receipts, shops, and the warranty.

The reason the receipt photo is a required field, not a nice extra, is the warranty. The FTC's consumer guidance on auto warranties says you do not have to use the dealer for repairs or maintenance to keep your warranty in effect, that it is illegal for a dealer to deny coverage because routine maintenance or repairs were done by someone else, and that the warranty stays in effect if you use aftermarket or recycled parts. In the same breath it tells you to keep records of oil changes, tire rotations, belt replacements, new brake pads and inspections, because those records are how you show the vehicle was properly maintained if you ever need the warranty. Read the FTC's auto warranty guidance. It adds one more thing worth building a field for: a service contract may require you to follow all of the manufacturer's routine maintenance recommendations, and skipping them can void it.

So each entry should capture what a claims adjuster would ask for: the shop's name, the date, the odometer reading printed on the invoice, the line items, and which parts were new, aftermarket or recycled. The shop keeps its own copy of the same visit in its own system, which is what an auto repair shop app is for. Your log is the owner's copy, and the receipt photo is the bridge between the two.

For DIY work the receipt is the parts receipt, and the entry should say so. An oil change you did yourself with a dated parts receipt and an odometer reading is a record; one you remember doing "sometime in the spring" is not.

The workflow

How to keep track of car maintenance, in six steps.

This is the order the data has to go in, whether the log is an app, a spreadsheet, or a notebook. Skipping step four is the usual reason a new log fires no reminders for a year and then fires all of them at once.

  1. 1

    Decode the VIN and store the result

    One call to vPIC when the car is added. Save the year, make, model, trim, engine and fuel type as fields on the vehicle so nothing downstream depends on the API being up.

  2. 2

    Enter the odometer and the date, today

    This is the anchor for every calculation. Without it the app cannot say how far or how long it has been since anything.

  3. 3

    Load the rules from the maintenance guide

    One row per service with its mileage interval and its time limit. Copy them from the guide for that year and model, not from a generic default, and keep them editable.

  4. 4

    Backfill last done for each rule

    From receipts or the stamped service booklet where you have them. Where you do not, use the purchase date and mileage and mark the value as estimated, so the first reminder is early rather than missed.

  5. 5

    Set the reminder on the earlier clock

    For each rule, next due is the smaller of last-done odometer plus the interval and last-done date plus the months. Give the reminder a lead time in miles and days so it lands before the visit, not on the day.

  6. 6

    Log every visit with the odometer and the receipt

    Each entry names the rule it satisfies, which moves last done forward and resets both clocks. The receipt photo is what turns the entry into evidence.

Step five is where a log becomes an app. Computing "next due" is arithmetic; getting that number onto a phone screen two weeks before the visit, whether or not the app is open, is a platform feature with its own setup. That part is covered separately in push notifications for service reminders, and it is worth reading before deciding whether the reminder is a notification, a calendar entry, or an email.

Picking an approach

Six ways to keep a car maintenance log, compared.

None of the fields above need a fancy tool. Most of the common options make at least one of them hard to get consistently, and the one they most often drop is the calendar clock.

ApproachVIN decodeBoth clocks per serviceRules from your car's guideReceipts on the entrySeveral cars and driversWho maintains it
Glovebox bookletNoyou do the arithmeticyes, it is the guidestapled in, if at allone booklet per caryou, in pen
SpreadsheetNoif you write the formulasif you type them ina link to a folderone tab per caryou, and it drifts
Consumer maintenance appsome dousually miles, sometimes bothgeneric defaults, editableYesoften a paid tierthe vendor
Manufacturer's own appfor its own carsYesfor that brand onlydealer visits onlythat brand onlythe manufacturer
Fleet management softwareYesYescustom per assetYesYesthe vendor, priced per vehicle
Custom-built log appYesYeswhatever you enterYesYesyou

One neighboring category is a different job wearing a similar name. If the number you actually care about is the monthly total across fuel, insurance, parking and repairs rather than what is due next, that is a budget tracker app with a car category, not a maintenance log. The two share the cost field and nothing else; a maintenance log without the odometer and the rules is just a list of what you spent.

Free vs. paid

Is there a free car maintenance log app?

For one car, yes. The glovebox booklet is free, a spreadsheet is free, and consumer apps commonly offer a free tier for a single vehicle. The cost shows up with the second car, the second driver, or the first time you want the reminder to fire on the calendar as well as the odometer, which tend to be the paid features. Building your own is not free either: Newly has no free plan and starts at $25 a month, which is the honest comparison against a paid tracker's subscription or a fleet tool's per-vehicle price, not against a free one.

When to build your own

Building a car maintenance log app around your own cars.

The reason to build your own is rarely price. It is fit. A household with four cars on three different schedules, a small business with six vans and a driver on each, a classic that counts engine hours instead of miles, or someone who wants the log kept next to their fuel and insurance records does not fit an app built for one owner and one car, and bending it to fit is how a coolant change gets missed. That gap, a routine no off-the-shelf tool quite matches, is what Newly is for: describe the vehicles, the rules, the reminders and who gets them, and it builds a real native app around that routine rather than around a vendor's template.

Two product facts to plan around, both from the docs on App Store submission: the iOS build is compiled and submitted to App Store Connect under your own Apple Developer Program membership, you test it through TestFlight before Apple's review, and v2 does not produce Android release builds. If the other driver in the house carries an Android phone, that settles how they get their reminders: a shared calendar entry or a printed schedule, not an app they would have to install.

FAQ

Car maintenance log apps, answered.

Three things. The vehicle: VIN, year, make, model, engine, and the odometer reading on the day the log starts. The rules: one row per service with its mileage interval and its time limit, taken from the maintenance guide for that exact car, so the app knows an oil change on a 2025 Camry is due at 10,000 miles or 12 months, whichever comes first. The entries: date, odometer, service performed, who did it, cost, parts, and a photo of the receipt. Everything else people want from the app, what is due next, cost per mile, a history to hand a buyer, is calculated from those three.

Start with the two clocks, then the receipts.

A car maintenance log app earns its place the day a reminder fires before the damage rather than after. Get the rules and the fields right on paper first, then look at what other people have built around routines like yours.