If you’ve been keeping your boat’s maintenance history in Excel, Numbers, or another spreadsheet, you can bring it into Ballast rather than typing it in again. Ballast reads an Excel workbook (an .xlsx file), which Excel, Numbers and Google Sheets can all save, or a CSV file, a plain-text copy of a spreadsheet.
This takes three steps: tidy up a copy of your spreadsheet so Ballast can read it, save that copy as an Excel workbook, then import the file in Ballast. The steps below are for an Excel workbook, the easier of the two because your dates come through as they are. If you’d rather use a CSV file, follow them too, then see Using a CSV file instead for what’s different.
Short on time? Download the template as an Excel workbook or a CSV file, paste your records into it, and skip to saving it.
Each row of the spreadsheet becomes one entry in your boat’s service log, with a date, a title, notes, and which engine the work was on and what its hour meter read.
A spreadsheet brings in the service log and nothing else. To-dos, custom properties, photos and documents can’t be imported this way, so add them in Ballast afterwards. An engine the spreadsheet names is matched to your boat’s engine of that name, or added if your boat doesn’t have one.
The entries are added to your boat’s log. Nothing already on your boat is changed or deleted.
Work on a copy of your spreadsheet, not the original. You’ll be renaming columns and tidying rows, and your original should stay the way you like it. In Excel or Numbers, choose File ▸ Duplicate, or Save As with a new name.
If your log is spread across several sheets or tabs, for example one per year, put all the rows onto one sheet. Ballast reads only the first sheet of a workbook.
One row holds the column names, above your records, and Ballast recognizes these five:
| Column name | What goes in it | Needed? |
|---|---|---|
date | The day the work was done. | Yes |
title | A short name for the job, like “Oil change”. | No |
notes | What was done, parts used, anything you want to remember. Can be as long as you like. | No |
engineName | Which engine the work was on, like “Main” or “Port”. | No |
engineHours | The engine’s hour meter reading at the time, like 1204.5. | No |
Rename your existing column headings to match the names above:
Date, Engine Hours and engine_name are all fine. Hours and Engine work too.Hours and Engine Hours, stop the import, because Ballast can’t tell which one you meant.notes column first.date and notes is fine.Here’s what a finished sheet looks like:
| date | title | notes | engineName | engineHours |
|---|---|---|---|---|
| 2024-04-12 | Spring haul-out | Bottom paint, new zincs on shaft and rudder. | ||
| 2024-05-03 | Oil change | Changed oil and filter. 4.5 qt 15W-40. | Main | 1204.5 |
| 2024-08-19 | Impeller | Replaced raw water impeller. | Main | 1288 |
| 2024-09-02 | Outboard service | Lower unit oil and spark plugs. | Dinghy | 86 |
Every row needs a date, and any cell your spreadsheet treats as a date comes through as the right day, however it’s displayed and wherever in the world the file was made.
Look down the column for dates that sit on the left of their cell: those are text, not dates. Retype them so your spreadsheet recognizes them, or write them year-month-day with dashes, like 2024-05-03.
Ballast won’t import a file with an undated row, and tells you which row it is. If you don’t know exactly when some work was done, give it your best guess, like the first day of the month, and say so in the notes.
Hours must be a number, however it’s displayed. Remove any “hrs” or other text by hand, and leave the cell empty when there’s no reading.
Hours are kept only on a row that also names an engine, so fill in engineName wherever you have engineHours.
Each engine name in the spreadsheet is matched to the engine of that name on your boat, or becomes a new engine if there isn’t one. Spell each engine the same way on every row, and the way your boat already names it. Capitals don’t matter, so “main” and “Main” are one engine, but spelling does: “Main Engine” and “Main” are two.
An engine’s hours go up to the highest reading your log records for it, and never down.
Delete any totals, subtotals, headings or notes rows mixed in with your records. Every row except the column names becomes an entry. Empty rows are fine; Ballast skips them.
Excel: an .xlsx workbook is what Excel saves already, so just save your copy. If it’s an older .xls file, choose File ▸ Save As and set the format to Excel Workbook (.xlsx).
Numbers: choose File ▸ Export To ▸ Excel.
Google Sheets: choose File ▸ Download ▸ Microsoft Excel (.xlsx).
Put the file somewhere the Files app can see it:
Importing adds your spreadsheet’s entries to your boat. Nothing already there is deleted, so you can import into a boat you’ve been using. When the import is done, Ballast tells you how many entries and engines it added.
Import a spreadsheet once. Importing the same file again adds its entries again, so you’d have two of each. If you find a mistake afterwards, fix the entry in Ballast rather than importing again.
On iPhone:
On iPad: open the tab with your boat’s name, tap •••, and tap Import Spreadsheet….
On a Mac: choose File ▸ Import Spreadsheet…
Open the Log tab and compare it with your spreadsheet. The number of entries Ballast said it added should match your number of rows. Check that engine names came through as you expected: on your boat’s screen, look for engines you didn’t mean to add, like both a “Main” and a “Main Engine”. If an entry came in wrong, edit it or delete it like any other.
A CSV file is plain text, so it loses what your spreadsheet knows about dates and numbers. Everything above still applies, with three differences.
In a CSV file, every date must be written year-month-day with dashes: 2024-05-03. Ballast won’t read 5/3/2024, 3 May 2024 or 2024-05-03 10:30 from a CSV, and the import stops with an error.
A spreadsheet saves dates to a CSV the way it shows them, so change how the date column is displayed before saving:
yyyy-mm-dd in the Type box, and click OK.Then look down the column. A date that stays in its old form or sits on the left of its cell is text, not a date, so formatting doesn’t change it. Retype it by hand.
In a CSV file, hours must be a plain number: 1204.5, not 1,204.5. In Excel, select the column, choose Format ▸ Cells ▸ Number, and turn off Use 1000 Separator.
Excel: choose File ▸ Save As, and set the file format to CSV UTF-8 (Comma delimited). It’s called File Format on a Mac and Save as type on Windows.
Numbers: choose File ▸ Export To ▸ CSV. Under Advanced Options, set Text Encoding to Unicode (UTF-8).
Choose UTF-8 in either app. Other CSV options work too, but accented letters and symbols such as é or ° may come through garbled.
Excel may warn that some features will be lost. That’s expected: CSV keeps only the text in your cells. Click Keep Current Format or Yes.
If your computer is set to a region that writes numbers with a decimal comma, like 1204,5, Excel may separate columns with semicolons instead of commas. To check, open the CSV file in TextEdit or Notepad: the first line should read date,title,notes,…. If you see semicolons, save from Numbers instead, or change the list separator in your computer’s region settings.
“Row 12 has no date.” That row of your spreadsheet has something in it but no date. Give it a date, or delete the row if it’s a total or a note, then save the file again. Nothing was imported.
“This spreadsheet has no date column.” No row near the top names a date column. Check that your column names are within the first 11 rows, on the first sheet, and rename your date column. Nothing was imported.
“This Excel file couldn’t be read.” The file isn’t an Excel workbook Ballast can open, or it’s damaged. Open it in your spreadsheet app and save it again as an Excel workbook (.xlsx), or save it as CSV. Nothing was imported.
“The data couldn’t be read because it isn’t in the correct format.” A date or an hours figure is in a form Ballast can’t read. Check the date column for dates typed as text, which need the 2024-05-03 form, and the engineHours column for text like “hrs”. In a CSV file, also check that every date is written 2024-05-03 and every hours figure has no commas. Nothing was imported, so fix the file and try again.
“The columns “Hours” and “Engine Hours” are the same.” Two column names mean the same thing. Rename or delete one of them, then save the file again. Nothing was imported.
Entries came in with no title, notes or engine. The column names don’t match. Check the spelling against the table above: engineName or Engine Name, not Engine Model. Importing again would add the entries a second time, so either delete the ones that came in and import the corrected file, or fix them in Ballast.
There’s an engine you didn’t expect. The spreadsheet spells an engine differently from your boat, or one engine two ways. Choose the right engine on the entries that came in on the extra one, then delete it.
Still stuck? Hail us with a description of what happened. It helps if you can attach the first few rows of your file.