Maintenance log

On our previous boat, we were (just barely) able to remember when all mechanical systems needed service as the hours mounted and time passed. But that system broke down when we got the current boat. There are far more systems, many of the intervals vary greatly, and when running offshore, up-to-date service is even more important. We knew we needed some form of automation to help track all the systems and their varying maintenance schedules.

Many approaches to maintenance logs exist and, in fact, entire businesses have been built on tracking service items and notifying when service is needed. We are fairly hands-on and, for long-range cruisers, even though it takes time to understand all the systems, this feels like time well spent. One thousand miles from shore, there won’t be someone else flying in to help. A good approach for maintenance and service tracking is to use a database, and drive all tracking and notification from a software application built upon the database. We still may take this route someday in the future, but didn’t feel like taking the time to write this complete application up front. Instead we elected to use an Excel-based spread sheet model. Just as many exotic financial instruments are first implemented in spreadsheets and only migrate to full applications when they are successful and need to scale, we went first to Excel. It’s actually working out remarkably well.

The log contains one entry per service item, where each item has an associated number of hours and/or number of months between service intervals. For example, in the screenshot below, the cells highlighted in blue indicate the main engine oil and filter are due to be changed every 6 months or 375 hours. This information is entered per service item, one time only. Service intervals can be expressed in only hours or only months. In the screen shot below, the start batteries need to be tested every 12 months, but have no hour-based service interval, and the harmonic balancer should be changed every 8,000 hours, but has time-based service interval.

The top of the sheet lists the current number of hours for each piece of equipment. For example, the number of main engine hours, 5,208, are highlighted in yellow below. When we update the number of hours on a piece of equipment, the log tells us when the next service is due in 1) hours for each item that depends on that piece of equipment and/or 2) months based on the current date. In this case, the cells highlighted in green indicate that the main engine oil and filter are due to be changed in 4 months or 93 hours.

Service items

As service work is performed, we enter the date and/or number of hours on the associated equipment when the work was done. In the screen shot below, the main engine oil and filter were last changed on 2015/01/09 at 4,926 engine hours. This data, combined with the current date and the main engine hours at the top of the spreadsheet, are used to calculate the months and/or hours left before the next service is required.

Work done

The most useful aspect of the spreadsheet is the highlighting of a service item near due or overdue. In the screenshot below, we’ve incremented the number of main  engine hours by 200 to 5,408. The main engine oil and filter change is now overdue by 107 hours, and that service item now shows in red. In addition, the service item to clean the air filter is orange. This indicates that the service item is near due, but is not yet overdue. The orange coloring uses the warning thresholds that we’ve highlighted in blue below. In this case, we want to display a service item in orange if it is within 1 month or 50 hours of being due.

Service items are grouped based on the equipment they depend on, if any, and the warning threshold. For the wing engine below, we have a warning threshold of 1 month and 15 hours. We could also choose, for example, to add another main engine group with a different warning threshold, such as 25 hours.

Warning thresholds

When a service item is near due or overdue, the normal way to change the text color back to black is to perform the service and update the date and/or associated equipment hours when the work was done. But sometimes this either isn’t feasible or necessary. That is where the Acknowledge column comes in. The screenshot below shows that the stabilizer fin zincs are 37 hours overdue for a change, but that’s best done in the yard. So we’ve entered “ACK:Yard” there and that changes the color from red to green. This still highlights the item as not done, but showing it in green will keep it visually separate from items that we really do want to handle as they become due. The “ACK:” portion of the text is all that is necessary for the acknowledgement, anything after that is for descriptive purposes only.

Extending a due date is different from an acknowledgement. The bottom cleaning currently is due after 3 months, but on inspection it’s still pretty good, so we’ve entered “M:1” below to extend the due interval by 1 month. In Seattle we used to change our zincs every 6 months.  But since we’re not in marinas as frequently, we’re able to go longer as we’re no longer supporting other boats in the marina. So we instead check the zincs periodically and extend the due interval if they are in good shape. Below we’ve extended the due interval for the zinc change by 12 months using “M:12”, and it shows as 11 months overdue. The 12-month extension makes the zinc change due in April of 2015, 1 month from now. Since that is within the 1-month warning threshold for that service item group, the zinc change shows in orange. We’ll check the zincs soon and either change them or extend the due interval again.


In a similar vein, we also created an expiration schedule spreadsheet for non-maintenance items that we need to track, such as renewing our passports or drivers licenses. These are grouped based on the amount of lead-time needed to process each item.

Expiration schedule

The text color changes are implemented using conditional formatting. We have added extra columns, normally hidden, that extract some of the data from the service items plus their warning threshold and base hours. This puts the relevant data for a service item on a single row and simplifies the conditional formatting formulas.

Implementation details

The full spreadsheets are at:

Update 11/23/2018: For those who have additional pieces of machinery to track, such as a second generator, we’ve posted our most current version of the spreadsheet that has been updated to include four “other machinery” entries at Updating the Maintenance Log.


If your comment doesn't show up right away, send us email and we'll dredge it out of the spam filter.

21 comments on “Maintenance log
  1. Ricardo Febry says:

    Hello James,
    Nice spreadsheet and thank you for sharing. I just bought a sailboat with a diesel engine.
    You say that
    “…When we update the number of hours on a piece of equipment, the log tells us when the next service is due in 1) hours for each item that depends on that piece of equipment and/or 2) months based on the current date. In this case, the cells highlighted in green indicate that the main engine oil and filter are due to be changed in 4 months or 93 hours…”

    I am looking for how updating C1 cell automatically updates H14, but I do not see C1 referenced in the H15 formula. Is C1 value used just for manual tracking?

    Also, what is the 4.34 multiplier referencing or correcting for?

    Thank you!!

    • Glad you find the spreadsheet helpful.

      The hours at the top (C1 etc) are used for the calculation of “Hours left” in column I (based on the values in hidden column O).

      The calculation for “Weeks left” in column H only depends on the last service data and the “Months due” value in column C, so won’t use hours from C1 etc. The 4.34 multiplier is to convert from months to weeks.


  2. Bryan says:

    SO nice of you two to share this! I was going to sit down and build something like this from scratch, but you just saved me hours. : )

  3. Mac Carter says:


    My version of your spreadsheet (modified for my vessel) seems to have lost its ability to color code items based on date timing (yellow, red, etc.). I cannot find the location for the conditional formulas that control the text colors. Could you please clarify where I can find the formulas?

  4. Paul Chaplin says:

    Hi James

    just found your maint log schedule. tried to import it onto my iMac and a number of formula wouldn’t transfer , any suggestions ?

    • It sounds like some incompatibility between the Excel or whatever you are using on your iMac. When you say “import” it sounds like you might not be using Microsoft Excel. If you aren’t, that or Office365 should open the spreadsheet without problem. If you are using Microsoft Excel might try latest patches or installing the new version. If that isn’t practical, Google docs will probably read the spreadsheet:

  5. Mac Carter says:

    James, just found this blog and your maintenance spreadsheet. I’ve been looking for a good tool for tracking maintenance on our 34′ PDQ power catamaran. Question… could you please clarify to purpose of the “Base Hours” column?

    • Hi Mac. Glad to hear the spread sheet might be useful to you. The “base hours” column is explained in the blog: “We have added extra columns, normally hidden, that extract some of the data from the service items plus their warning threshold and base hours. This puts the relevant data for a service item on a single row and simplifies the conditional formatting formulas.” (

      We’re just picking up the current engine hours from the top left hand corner of the spread sheet and repeating it as a hidden column. This just makes it easier to code the rest of the spread sheet and can be and should be ignored. If you just copy full rows or delete full rows, everything will work fine. Base hours is essentially just a programming convenience to make the spread sheet simpler to write.

    • Mac Carter says:

      James, thanks for your reply. Another question… what do you do for a maintenance “log”? (a chronological history)

      • The maintenance log probably should have been done using a database application but the excel version is easy to use and serves to remind me to do what needs to be done. We have a separate boats log where I keep all boats movements, consumption, uses, anomalies, events, and maintenance. The excel spreadsheet reminds to get the work done and the ships log is where the record is kept.

        • Greg Cyr says:

          Hi James,

          Thanks for providing your maintenance log. We are the new owners of a Kadey Krogen Whaleback and are slowly getting our heads wrapped around all the systems. Your log will be a great help in keeping things maintained properly. Do you have an example of your Ships Log that you’d be willing to share? I did search the blog and couldn’t turn it up.

          BTW, I really enjoy your blog. Very inspiring to us as we start to plan our travels.

  6. Hi James
    Thks for your entry – valuable and highly useful.
    I am presently considering a secondhand 47′ and would be interested in stalling the Matron equipment here. Have received the ‘N2K Builder_UM_1 116’ and wonder if you are willing to post your DIRONA details here as well. It would give me a good comparison and be of great help in evaluating details and cost. Was your installation done from the PAE factory or did you do it yourself??
    Your are welcome to reply by mail directly.
    Thks for your entries -interesting and great for a NordhavnDreamer.
    Best regards

    • Hi Erik. Sure, I’m happy to post more data on the Maretron system but I don’t have a current n2kbuilder example. What we could post is the n2kanalyzer output showing all the attached devices and the underway and at rest screens. I’ll plan to do a blog posting with that data — let me know if that will cover your interests.

      The NMEA backbone was installed at the yard but all devices where attached since delivery of the boat. I don’t think I gained much in running the backbone NMEA cable at the boat yard. Later this week, I’ll get a blog post up with the data you are after.

      • Erik Andersen says:

        Hello James – great will look forward to this and am convinced this will cover for the time being. Will test the builder meanwhile..

  7. renaldi says:

    Thank for posting

  8. Peter Le Lievre says:

    Thanks for posting these spreadsheets. They are just what I am looking for as I start the maintenance plan for Sorpresa. This summer we’ll leave SFO and up for Desolation Sound. Old news for you but we’ve never been!
    Kind regards,
    PS> Glad you missed the Sydney storms.

    • Glad to hear that the maintenance log will work for you. Enjoy Desolation Sound, we have been up there many times and really enjoy it. Our favorites were sunny winter days where the weather was nice, it’s comfortable on deck, the circling mountains are snow capped, and there is not another boat for miles. It’s like a trip back in time to a period when far fewer boats visited.

      While you are up that way, you should get the Waggoner Cruising guide ( and, if you like to get a bit off the beaten path, our cruising guide might help as well:

      –James Hamilton
      –Location: Great Barrier Reef (//

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.