Back to Blog

How to Import Data from CSV Files

Subscribe for new posts with tips and insights →

What do you call a bookkeeping vampire? Accountant Dracula.

If you've been tracking your finances in a spreadsheet, you don't have to start from scratch. Cashflow Companion lets you import your existing data using CSV files. This guide explains how to format your data and import it into the app.

Before you start: Formatting CSV files by hand can be tedious. If privacy isn't your top concern, consider pasting your bank or credit card statements into an AI tool (like ChatGPT or Claude) and asking it to format the data into a CSV matching the templates below. It can save significant time. On the other hand, if you don't need detailed historical data, you can skip the CSV entirely and manually enter a few key data points directly in the app's UI—the forecast and balance sheet features work great with just your current numbers.

Download Templates

Get started quickly with these ready-to-use templates:

Income & Expenses Balance Sheet Balance History Transaction History

Four Types of Data You Can Import

Cashflow Companion supports four different CSV import types, each serving a specific purpose:

  1. Income & Expenses: Your recurring income sources and bills
  2. Balance Sheet Accounts: Your assets and liabilities with historical values
  3. Cash Balance History: Historical checking account balances for the home screen chart
  4. Transaction History: Past occurrences of your income and expense items

Importing Income and Expenses

This import type lets you add all your recurring income and expenses at once. This is the data that powers the cashflow forecast on the home screen.

Required Columns

Column Required Description
title Yes Name of the income or expense (e.g., "Salary", "Rent")
amount Yes Dollar amount (no $ sign needed)
type Yes Either "Income" or "Expense"
start_date Yes First occurrence date (M/D/YYYY format)
recurrence No "Monthly", "Annual", or leave blank for custom
every_x_days No For custom recurrence (e.g., 14 for bi-weekly)
snap_to_weekday No TRUE to move weekend dates to closest weekday

Example

title,amount,type,start_date,recurrence,every_x_days,snap_to_weekday
Salary,5000,Income,1/30/2026,Monthly,,TRUE
Bonus,1500,Income,1/30/2026,Annual,,TRUE
Paycheck 2,1794,Income,8/22/2025,,14,
Rent,1400,Expense,9/1/2025,Monthly,,TRUE
Car Payment,600,Expense,8/3/2025,Monthly,,TRUE
Power Bill,200,Expense,7/27/2025,Monthly,,TRUE
Tip: For bi-weekly paychecks, leave the recurrence column blank and put 14 in the every_x_days column. The app will schedule the item every 14 days from the start date.

Understanding snap_to_weekday

Many bills technically fall on a specific day of the month, but banks process them on the nearest business day if that day lands on a weekend. Setting snap_to_weekday to TRUE tells the app to automatically adjust these dates in your forecast, giving you a more accurate picture of when money will actually move.

Importing Transaction History

This import type lets you bring in the historical occurrences of your income and expense items—what actually happened in the past. This is useful if you want the app to have a complete record of previous payments, paychecks, and bills rather than just future projections.

Important: Each income or expense item must already exist in the app before you can import its history. The title in your CSV must match the existing item's name exactly—including capitalization and spacing. For example, if your item is named "Double Cash Card" in the app, your CSV must use "Double Cash Card," not "double cash card" or "Double cash card."

Required Columns

Column Required Description
date Yes Date the transaction occurred (MM/DD/YYYY format)
title Yes Name matching an existing income or expense item exactly
amount Yes Dollar amount (no $ sign needed)
type Yes Either "income" or "expense"

Example

date,title,amount,type
08/19/2025,Double Cash Card,2871.00,expense
09/17/2025,Double Cash Card,1534.00,expense
10/17/2025,Double Cash Card,3298.00,expense
11/19/2025,Double Cash Card,947.00,expense
12/17/2025,Double Cash Card,2106.00,expense
01/19/2026,Double Cash Card,1753.00,expense
01/20/2026,RH Card,3415.00,expense
12/19/2025,RH Card,1982.00,expense
01/19/2026,RH Card,2647.00,expense
12/09/2025,Amazon Card,718.00,expense
11/09/2025,Amazon Card,1245.00,expense
Tip: You can mix different items and types in the same CSV file. The app will match each row to the correct item by its title. If a title doesn't match any existing item, that row will be skipped during import.

Importing Balance Sheet Accounts

This import type lets you add your assets and liabilities, including historical values. This is useful if you've been tracking your net worth in a spreadsheet and want to preserve that history.

Required Columns

Column Required Description
name Yes Account name (e.g., "401k", "Mortgage")
type Yes Either "Asset" or "Liability"
date Yes Date of this value snapshot (M/D/YYYY)
balance Yes Account value on this date
asset_class No Category for assets (e.g., "Stocks", "Real Estate", "Vehicles")

Example

name,type,date,balance,asset_class
401k,Asset,1/28/2026,40702,Stocks
401k,Asset,12/30/2025,40297.75,Stocks
401k,Asset,11/29/2025,40145.50,Stocks
House,Asset,8/30/2025,350000,Real Estate
Car,Asset,11/19/2025,27000,Vehicles
Car Loan,Liability,1/17/2026,34325,
Mortgage,Liability,1/3/2026,245076,
Student Loans,Liability,1/17/2026,14769,
Tip: Include multiple rows for the same account with different dates to import historical data. The app will use this to show how each account has changed over time, and to calculate your net worth history.

Asset Classes

The asset_class column determines how your assets appear in the Asset Allocation pie chart. Common categories include:

  • Stocks: Brokerage accounts, 401k, IRA, other investment accounts
  • Real Estate: Home equity, rental properties
  • Vehicles: Cars, trucks, motorcycles
  • Cash: Savings accounts, money market funds
  • Bonds: Bond funds, treasury securities

You can use any category name you want. The app groups assets by whatever text you enter in this column.

Importing Cash Balance History

This import type lets you populate the balance history chart on the home screen. If you've been tracking your checking account balance over time, you can import that history to see long-term trends.

Required Columns

Column Required Description
Date Yes Date of the balance snapshot (M/D/YYYY)
Balance Yes Checking account balance on this date

Example

Date,Balance
1/1/2025,2000
2/1/2025,2345
3/1/2025,2654
4/1/2025,2789
5/1/2025,2909
6/1/2025,3100

This is the simplest import format. Just two columns: the date and your balance on that date. The app uses this data to render the history chart, showing how your available cash has changed over time.

How to Import

  1. Open Cashflow Companion and tap Settings in the bottom navigation
  2. Tap Import Data
  3. Choose the type of data you want to import:
    • Import Income & Expenses
    • Import Accounts
    • Import Cash Balance History
    • Import Transaction History
  4. Select your CSV file from the Files app
  5. Review the import summary and confirm
Tip: You can tap "View Template" in the app to see the exact format expected for each import type. The app will also show you a preview of what will be imported before you confirm.

Preparing Your Data

From Google Sheets (Free)

Don't have Excel or Numbers? No problem. You can create CSV files for free using Google Sheets. See our complete guide: How to Create a CSV File for Free with Google Sheets.

From Excel or Numbers

  1. Open your spreadsheet
  2. Make sure your column headers match the expected names exactly
  3. Go to File → Download → Comma-separated values (.csv)
  4. Save the file to iCloud Drive, Dropbox, or another location accessible from your iPhone

From Numbers

  1. Open your spreadsheet in Numbers
  2. Go to File → Export To → CSV
  3. Choose your save location

Troubleshooting

Import fails or shows errors

  • Check that your column headers match exactly (they're case-sensitive)
  • Make sure dates are in M/D/YYYY format (e.g., 1/30/2026, not January 30, 2026)
  • Remove any currency symbols from amounts (use 5000, not $5,000)
  • Check for empty rows at the end of your file

Some items are missing

  • Verify all required columns are present
  • Check that "Income" and "Expense" or "Asset" and "Liability" are spelled correctly
  • Make sure each row has values in all required columns

Start Fresh or Add to Existing Data?

When you import data, it adds to your existing items rather than replacing them. This means you can import in stages: first your income and expenses, then your balance sheet accounts, then your balance history.

If you want to start completely fresh, you can delete existing items before importing. Go to the relevant section (Income/Expenses, Balance Sheet) and remove items you want to replace.

Ready to import your data?

Download Cashflow Companion and bring your financial history with you.

Download Subscribe for New Posts