Import transactions from a CSV file
Bring in a bank or card statement, or an accounting ledger, from a CSV file, without connecting the bank.
Start an import
On Activity, choose Add, then Import CSV. (The + button on the dashboard opens the same menu.) Most banks let you download transactions as a CSV file from their website.
The steps
- Upload: say what the file is (Bank statement, Credit card statement, or Accounting ledger), choose the account it belongs to, or + New to make one, then drop in the file.
- Map Columns: tell it which column is the date, the description, and the amount. If your file has separate columns for money out and money in, choose "My file has separate debit / credit columns". Flip amount signs if charges come in as positive numbers.
- Categories (accounting ledgers with a category column only): match each of the file's categories to one of yours, or let Cash categorize them.
- Preview: check the first rows, then Import.
- Done: see how many were imported, already present, or failed.
Don't have a file ready? The Upload step has a template you can download and fill in.
What it handles
- Title lines above the header, and total lines at the bottom, are skipped.
- Dates like 2026-03-01, 3/1/2026 and 3/1/26.
- Amounts with $ or other currency signs, commas, minus signs, or parentheses for negatives.
- Payments and transfers are kept and marked as transfers, so a card payment is not counted as income or expense.
- A row with no payee still comes in, named from its memo.
- A row with a date or amount it cannot read is counted as failed and skipped.
After the import
- Cash categorizes the new transactions, as he does for a connected bank. Rows whose category you matched come in already categorized.
- Importing the same file twice is safe: an exact repeat on the same account, date, amount and description is skipped and counted as already present.
- Rows that look like, but do not exactly match, an existing transaction come in and are flagged as possible duplicates for you to check.
- If the account has no starting balance yet, you may be asked for its balance on the earliest date in the file. You can skip it.
On your phone
Importing a CSV file is done on the web.