Excel TVExcelTV

Vehicle Maintenance Log Template

Illustrated vehicle maintenance log workbook with vehicles tracked, due soon, and overdue cards, a miles-to-next-service panel, and a truck icon

I built this vehicle maintenance log template for the version of the problem I see most often: oil changes are written on a sticker in the windshield, brake work lives in an email from the shop, and nobody can say which truck is closest to its next service without walking the lot. A good log answers that in seconds, and a spreadsheet can do it as long as it calculates instead of just recording.

Download the vehicle maintenance log template - it is a plain .xlsx, no macros, no external data connections, and no sign-up. Open it in Excel or import it into Google Sheets, replace the sample vehicles with yours, and the schedule, vehicle totals, and dashboard recalculate from there.

Plenty of free vehicle logs are printable paper forms or a single flat table. Those are fine for writing things down, but they never tell you what is due. This workbook keeps the service history in one place and works out the next due odometer and next due date for every service on every vehicle, then flags what is overdue. The sample file has six vehicles, twenty service rows, and fifteen fill-ups so you can see every sheet working before you enter anything.

Video walkthrough

Here’s a short video walkthrough of the workbook, with captions, showing how the sheets fit together.

Vehicle Maintenance Log Template walkthrough

Who I built this for

I built this for a small fleet owner, a contractor with a handful of work trucks, a delivery business, a facilities manager, a rental operator, or anyone who keeps a pickup or van on the road for work and wants a log they can trust. It also works for a family with several cars if you want real numbers instead of guesses about what the oil changes cost.

The workbook is designed to answer five questions:

  1. Which vehicles do we run, and what are their odometer readings today?
  2. What was done to each one, when, and at what mileage?
  3. Which services are overdue or coming up?
  4. What are we spending on maintenance, in total and per mile?
  5. Which vehicle costs the most to keep running?

If you already run telematics or a full fleet-management system, this can still serve as a simple review sheet. It is not trying to replace dispatch, driver apps, or inspection forms.

How this differs from my preventive maintenance template

I already have a preventive maintenance schedule template. That one is built around calendar dates for equipment: take the last PM date, add a frequency in days, and flag what is late. It works well for conveyors and compressors, and its asset IDs can be vehicle numbers.

Vehicles need something it does not do: odometer-based intervals. An oil change is due every 5,000 miles or every six months, whichever comes first, and a truck that sits in the yard behaves very differently from one that runs a route every day. This workbook tracks both limits at the same time and keeps the full service history per vehicle, so you can see not just what is due but what each vehicle has cost.

What’s in the workbook, sheet by sheet

The workbook ships with six sheets, in this exact order:

  1. Instructions - setup steps, the color legend, the clean-room disclosure, a Google Sheets note, and limitations.
  2. Vehicles - the register. Each row has a unit ID, vehicle description, type, VIN, in-service date, the odometer reading when the log started, and the current odometer. Calculated columns add miles tracked, total service cost, service count, and cost per mile.
  3. Service Log - every service or repair: date, unit ID, odometer, service type, labor hours, labor rate, parts cost, vendor, and notes. Vehicle and Total Cost are calculated.
  4. Service Schedule - one row per vehicle and service type, with a mileage interval and a day interval. It looks up the last service in the log, calculates the next due odometer and date, and flags Overdue, Due Soon, OK, or No Record.
  5. Fuel Log - optional fill-ups. It calculates price per gallon, miles since the previous fill, and miles per gallon.
  6. Dashboard - vehicles tracked, overdue and due-soon counts, total service cost, cost per mile, fleet miles per gallon, the three costliest vehicles, and the overdue services to book first.

The inputs are blue, the calculated cells are yellow, and the headline results on the dashboard are green. That makes it obvious where your data goes and which cells to leave alone.

How I set up the Vehicles register

Vehicles is the key sheet because every lookup depends on the Unit ID. I used V-101, V-102, and so on because they are short and easy to scan. Yours can be plate numbers, fleet numbers, or truck names. The one rule is that each Unit ID appears once.

Two odometer columns matter. Odometer at Start of Log is the reading on the day you began tracking, and Current Odometer is the reading today. The difference is Miles Tracked, which the workbook uses to turn total service cost into a cost per mile. Update the current odometer whenever you read it, because the schedule compares every interval against that number.

Vehicles sheet showing six sample vehicles with unit IDs, VINs, odometer readings, miles tracked, service cost, and cost per mile

The VINs in the sample are made up. Replace them with your own, or leave the column blank if you do not need it.

How the Service Log keeps the history

Service Log is where finished work goes. I included a unit ID dropdown that reads whatever IDs you type on Vehicles (so your own numbers work the moment you enter them), a service type dropdown that warns instead of blocking when you type a new name, the odometer reading at the time of service, labor hours, a labor rate, parts cost, vendor, and a notes column. Total Cost is Labor Hours x Labor Rate + Parts Cost, so you can see the split between the shop’s time and the parts. The Vehicle column is looked up from the register with INDEX and MATCH; if someone types a unit ID that does not exist, the row shows (unknown unit) instead of quietly breaking a total.

I put hours and rate in separate columns on purpose. Shops quote different rates, and an in-house bay costs less than a dealer. Keeping the rate on each row means one repair at $125 an hour and another at $75 an hour both calculate correctly.

Service Log sheet showing sample services with date, unit ID, odometer, service type, labor hours, labor rate, parts cost, vendor, and total cost

The service type list includes Oil Change, Tire Rotation, Brake Inspection, Transmission Service, Annual DOT Inspection, and Repair. Repair is for unplanned work. It counts toward cost but is not something you schedule.

How the schedule works out what is due next

Service Schedule is the sheet I expect people to live in. At the top are three inputs: an As Of Date, a due-soon window in miles, and a due-soon window in days. The sample uses October 15, 2026, 500 miles, and 14 days. I used a typed date instead of TODAY() so the numbers on this page match the file every time you open it. Change it to today’s date when you use the workbook for real.

For each row you enter a unit ID, a service type, a mileage interval, and a day interval. The workbook then does four things:

  1. Finds the last time that unit had that service in the log, using COUNTIFS to check there is one and SUMPRODUCT(MAX(...)) to return the most recent date and odometer.
  2. Calculates Next Due Odometer = Last Service Odometer + Interval Miles.
  3. Calculates Next Due Date = Last Service Date + Interval Days.
  4. Subtracts the current odometer and the as-of date to get Miles Remaining and Days Remaining.

The status uses whichever limit arrives first. If either Miles Remaining or Days Remaining is below zero, the row is Overdue. If either is inside its due-soon window, the row is Due Soon. Otherwise it is OK, and a row with nothing in the log yet shows No Record.

Service Schedule sheet showing last service, next due odometer, miles remaining, next due date, days remaining, and Overdue, Due Soon, or OK status

An interval of 0 means you do not track that limit. The Annual DOT Inspection row on the box truck uses 0 miles and 365 days, so it is judged on the date alone, and the mileage columns show n/a.

Tracking fuel and miles per gallon

Fuel Log is optional, but I find it useful because a falling miles-per-gallon figure can be an early hint that a vehicle needs attention. Enter the date, unit ID, odometer, gallons, and total cost for each fill-up. The sheet calculates price per gallon, finds the previous fill-up for the same unit, and works out miles since that fill and miles per gallon.

The calculation assumes you fill the tank each time. If you top off partway, the individual numbers bounce around, but the fleet average over many fills still lands in the right place. The first fill-up for each unit shows n/a because there is no earlier reading to compare with. A fill-up with no gallons entered also shows n/a and is left out of the fleet average.

Fuel Log sheet showing sample fill-ups with gallons, total cost, price per gallon, previous fill odometer, miles since last fill, and miles per gallon

Worked example from the sample workbook

The sample workbook tracks six synthetic vehicles as of October 15, 2026. Here is one row from Service Schedule, recalculated from the generated workbook. The F-150, unit V-101, had its last oil change at 42,000 miles on June 12, 2026, with a 5,000-mile and 180-day interval, and its odometer now reads 46,500.

FieldResult
Last service odometer42,000
Interval miles5,000
Next due odometer47,000
Current odometer46,500
Miles remaining500
Next due date2026-12-09
Days remaining55
StatusDue Soon

The truck has 55 days left on the calendar but only 500 miles left on the odometer, so mileage is the limit that arrives first, and 500 miles is inside the 500-mile window. That is why it says Due Soon.

A service row works the same way. That oil change took 1.5 labor hours at $90.00 an hour plus $64.00 in parts, so Total Cost is $199.

The Dashboard output for the whole fleet is:

MetricResult
Vehicles tracked6
Overdue services3
Due soon services2
Total service cost$5,891
Miles tracked68,400
Service cost per mile$0.086
Fleet miles per gallon14.8
Fuel spend$1,571

The three overdue services are a tire rotation on the F-150, a tire rotation on the Transit van, and an oil change on the ProMaster. They are overdue for different reasons. The F-150 tire rotation is 1,500 miles past its limit. The Transit rotation is still 800 miles from its mileage limit, but its 180 days ran out ten days ago. The ProMaster oil change is 300 miles past its limit even though it has 17 days left on the calendar. That is the case for tracking both limits: any single-limit schedule would miss one of these.

The two due-soon services are the F-150 oil change from above and the box truck’s annual DOT inspection, which is 13 days away.

The costliest vehicles are the Freightliner box truck at $2,225, the Silverado at $1,878, and the Transit van at $571. The Silverado costs the most per mile, at $0.192, because a $1,015 alternator repair landed on a truck that has not covered many miles in the log. That is the conversation I want the dashboard to start: the overdue list tells you what to book this week, and the cost ranking tells you which vehicle to start questioning.

Dashboard sheet showing six vehicles tracked, three overdue services, two due soon, $5,891 service cost, $0.086 cost per mile, 14.8 miles per gallon, and the three costliest vehicles

How to use this in Google Sheets

This workbook works as a vehicle maintenance log google sheets file. Import the .xlsx directly:

  1. Download the workbook from the Excel template link.
  2. Open Google Sheets.
  3. Choose File > Import > Upload.
  4. Select the downloaded .xlsx file.
  5. Choose Insert new sheet(s) or create a new spreadsheet from the upload.
  6. Review Service Schedule and Dashboard after import.

No formula substitutions are needed. The formulas are limited to SUM, SUMIF, SUMIFS, COUNTIF, COUNTIFS, SUMPRODUCT, MAX, IF, IFERROR, AND, OR, N, ISNUMBER, INDEX, MATCH, LARGE, and arithmetic. Those exist in both Excel and Google Sheets, and the dropdowns for unit IDs and service types are standard data validation.

After an import I always check the visual formatting. Colors, row heights, and the status highlighting can render slightly differently between the two spreadsheet engines. The calculations are plain; the appearance is the only part I would review before sharing the file with a team.

How to customize the template safely

Start by replacing the sample rows on Vehicles. Keep the same columns and keep each Unit ID unique. Then replace the Service Log with your own history. If you only have recent records, start the log there and set Odometer at Start of Log to the reading from that date, so the cost per mile compares like with like.

Next, build your schedule. Add one row per vehicle and service type and set the two intervals from your owner’s manual or your shop’s recommendation. If you want a service on the calendar only, use 0 miles. If you want it on mileage only, use 0 days.

Change the due-soon windows at the top of Service Schedule to fit how far ahead you book work. A van on a daily route may need a 1,000-mile window, while a seasonal truck may need 30 days. They are plain input cells, so you can change them without touching a formula.

For a vehicle or row beyond the sample, copy the calculated cells down from the row above. The formulas that total the logs already reach row 50 on Vehicles, row 60 on Service Schedule, and row 200 on Service Log and Fuel Log, so new rows flow into the dashboard once their calculated columns are in place.

If you reimburse employees for personal-vehicle mileage, that is a different calculation, and the expense report template covers it. Keep that separate from this log, which tracks the vehicles you maintain yourself.

Limitations to know before relying on it

A few limitations are worth stating plainly:

  • It depends on the odometer you enter. The schedule compares every interval with the Current Odometer on Vehicles. If that number is stale, Miles Remaining is stale too.
  • Service type names must match. The schedule finds the last service by matching unit ID and service type exactly. A typo means the row shows No Record. The dropdowns help prevent that, and the service type dropdown will warn you if you type a name that is not in the starter list.
  • It is not fleet-management software. There are no automated reminders, driver assignments, receipt photos, or telematics feeds.
  • Calculated columns need copying down. Totals reach well past the sample rows, but the calculated cells in a new row need to be copied from the row above.
  • Fuel economy assumes full tanks. Individual miles-per-gallon figures swing if you do not fill up each time.
  • Top-3 ties are not specially broken. The dashboard uses LARGE plus MATCH, so if two vehicles have exactly the same service cost, the first one in the list appears for both ranks.

I built the file this way because a maintenance log should be easy to check. The formulas are visible, the sample data is synthetic, the inputs are separated from the calculations, and every dashboard number ties back to ordinary rows on the other sheets.

Grab the vehicle maintenance log template, replace the sample vehicles with your own, and let the schedule tell you which one to book next.

Tags:#vehicle maintenance log template#vehicle maintenance log template excel#fleet maintenance spreadsheet#truck maintenance log template#vehicle service schedule spreadsheet

Written by

Allen Hoffman

Contributor, Excel TV

  • Lookup Functions
  • Data Manipulation
  • Keyboard Shortcuts
  • Workflow Efficiency
Allen Hoffman is a contributor to Excel TV focused on practical Excel techniques for everyday data work. His tutorials cover topics including lookup functions, data manipulation, cell formatting, keyboard shortcuts, and workflow efficiency. Allen's writing aims to make common Excel tasks clearer and faster, with step-by-step guidance suited to analysts and professionals who use Excel regularly in their work.

Read more articles by Allen Hoffman

Editorial standards

Fact Checking & Editorial Guidelines

Every article on Excel TV is held to a published editorial standard. The goal: accurate, current, and useful — without filler.

  1. Expert review.Drafts on technical Excel topics are reviewed by a contributor with hands-on, working knowledge of the feature being covered.
  2. Source validation.Claims about Excel behavior are tested in current Microsoft 365 builds. Third-party product claims are sourced from the vendor's own documentation.
  3. Disclosure.Affiliate links, sponsorships, and any commercial relationships that influenced a piece are disclosed in-line and at the foot of the article.
  4. Updates.Articles are revisited when Microsoft ships changes that affect the content. The most recent revision date is shown on every post.

Spot a problem? Email editor@excel.tv and we will look at it.

Subject-matter review

Reviewed by Subject Matter Experts

Technical Excel articles are reviewed by contributors with verifiable, hands-on experience in the topic — not generalist editors.

  • Qualified reviewers.Reviewers include Microsoft Excel MVPs, working business-intelligence practitioners, and Excel TV editorial staff. See each author's page for credentials.
  • Current to a known Excel build.Procedural articles state which Excel version they were validated against. Where Microsoft has since changed behavior, the article carries an inline update note.
  • Clarity check.Reviewers verify steps are reproducible by a reader at the assumed skill level — not just technically correct in a vacuum.

Want to contribute or review for Excel TV? See the about page.