Importing Data from CSV

Learn how to prepare, test, and import historical Snapshot data from a CSV file.

What Is CSV Import?

CSV import is useful when you already have historical financial information in a spreadsheet or another system and want to bring Snapshot-related values into BananaBird.

CSV import does not create your Account, Asset, or Income definitions. The corresponding items must already exist in BananaBird so the CSV columns can be matched to them.

Each CSV row represents a Snapshot date and can contain Account balances, Asset values, Income amounts, contribution or withdrawal activity, and an optional Snapshot note.

Test Your CSV First

Before importing a CSV file, use Test File.

BananaBird analyzes the file without applying the planned changes and reports issues such as invalid dates, unresolved column names, duplicate Snapshot dates, invalid numeric values, and other formatting problems.

The test summary also shows which Snapshots and values would be created, updated, or left unchanged.

Review the test results before running the actual import, especially when importing a large amount of historical data.

CSV File Structure

The first column must be named Date, and the file must contain at least one additional data column.

BananaBird accepts dates in the following formats:

  • 2025-03-26
  • 03-Mar-26
  • 03-Mar-2026
  • 3-Mar-26
  • 3-Mar-2026

Each non-date data column should correspond to an existing Account, Asset, or Income source.

Blank rows are ignored. Duplicate Snapshot dates in the same CSV are not allowed.

Matching CSV Columns

BananaBird tries to match each data column name to an existing Account, Asset, or Income source with the same name.

If the same name exists in more than one category, prefix the column name to tell BananaBird exactly what it represents:

account: Checking
asset: House
income: Salary

These prefixes can also be used when the name would otherwise be unique.

Columns that cannot be matched to an existing item are skipped and reported during testing.

Entering Values

Data values must be numeric. Currency symbols and thousands separators are accepted, so values such as $1,250.00 are valid.

Blank cells are ignored.

Account balances should not be left blank. Every Snapshot should contain the Account balance for that checkpoint, even if the value is unchanged or $0.00.

For Income or contribution and withdrawal activity, a blank cell is appropriate when no activity occurred during that Snapshot period.

Contributions & Withdrawals

A Transfer column can appear immediately after an Account column to record contribution or withdrawal activity associated with that Account.

Date,Account: TFSA,Transfer

If there was no contribution or withdrawal activity for that period, leave the Transfer cell blank.

Snapshot Notes

A CSV file may contain one optional Notes column.

When a new Snapshot is created, the note is saved with that Snapshot. When a Snapshot for that date already exists, BananaBird can update its note from the CSV.

If the CSV does not contain a Notes column, existing Snapshot notes are left unchanged.

What Happens During Import?

For each valid date in the CSV, BananaBird uses the existing Snapshot for that date or creates one if it does not already exist.

New Snapshots created by CSV import are created as Submitted Snapshots.

Matching Account or Asset values, Income amounts, and contribution or withdrawal amounts are created or updated. Values that already match the imported data are left unchanged.

CSV import can overwrite existing values for matching Snapshot dates and items. Export a current JSON backup first if you may want to restore the previous state later.

Warnings, Errors & Skipped Data

BananaBird reports problems it finds while testing the file. Depending on the issue, a row or column may be skipped.

Examples include invalid or missing dates, duplicate dates, values that cannot be interpreted as numbers, unresolved column names, ambiguous names, and improperly positioned Transfer columns.

If a row contains more or fewer values than the header, BananaBird adjusts the row width and reports a warning.

Sample CSV

BananaBird provides a sample CSV that you can use as a starting point when preparing your own import file.


Still have questions?

If you can't find the answer you're looking for, get in touch and we'll help.

Contact Support