Help
Getting Data In

CSV Import

Import your bank statement history with a CSV file upload.

CSV Import

The CSV import is the fastest way to load historical transactions. Export a statement from your bank's website and upload it — Satsuma auto-detects your bank's column format.

Before you start — get a CSV from your bank

Every bank is different, but the process is usually the same:

  1. Log in to your bank's website (not the mobile app — most banks only offer CSV export on desktop)
  2. Find your account activity or statements section
  3. Look for a Download, Export, or Save as option — usually near the date filter
  4. Choose CSV as the format (not PDF, not OFX/QFX/QBO)
  5. Set the date range to however far back you want to import

Common bank-specific paths:

  • Chase — Accounts → Download Activity → CSV
  • Bank of America — Accounts → Download → Microsoft Excel format (it's a CSV despite the name)
  • Wells Fargo — Accounts → Download Account Activity → Comma Delimited File
  • Discover — Manage → Download Your Transactions → CSV (uses positive = spending — Satsuma detects this automatically)
  • American Express — Statements & Activity → Export → CSV
  • Capital One — All Transactions → Export → CSV

If your bank isn't listed, search "export transactions CSV [your bank name]".


Step 1 — Upload

  1. Go to Transactions → Import
  2. Select your CSV file (up to 10 MB). You can drag and drop, or click to browse.
    • You can upload multiple files at once as long as they have identical column headers (e.g. 3 months of Chase statements exported separately)
  3. Choose the account this statement belongs to — the account must already exist in Satsuma. If it doesn't, create it first.
  4. Date format — auto-detected after upload, shown as YYYY-MM-DD, MM/DD/YYYY, etc. Override if it detected incorrectly.
  5. Amount format — also auto-detected. Options:
Format What it means Who uses it
Single column (negative = spending) Purchases are negative numbers Most banks
Single column (positive = spending) Purchases are positive numbers Discover
Separate Debit / Credit columns Two separate positive-number columns Some credit unions
  1. Update existing transactions (optional) — leave this off normally. Turn it on if you want to re-apply category mappings to rows you've already imported.
  2. Click Continue

Step 2 — Map columns

Satsuma reads your column headers and pre-fills the mapping. Review each field and adjust if anything looks wrong:

Field Required What it maps to
Transaction Date ✓ When the purchase happened
Description ✓ Merchant name or transaction note
Amount (signed) ✓ unless using Debit/Credit A single positive/negative amount column
Debit Amount ✓ if no Amount column Money out
Credit Amount ✓ if no Amount column Money in
Category — Your bank's own category label (maps to Satsuma categories)
Transaction Type — e.g. "Sale", "Payment", "Refund"
Reference / Check # — Bank's internal ID (strengthens duplicate detection)
Posted Date — Settlement date; rarely needed

A live preview of your first 5 rows updates as you change the mapping, so you can see exactly what will be imported.

Click Continue once the preview looks right.


Step 3 — Preview & import

Satsuma shows 10 sample rows with auto-detected categories applied. Check that amounts are the right sign (purchases negative, deposits positive) — if they're flipped, change the Amount format dropdown at the top and the preview will update.

Category mapping (if your CSV has a category column): A table shows every unique category value from your CSV. For each one you can pick the matching Satsuma category. These mappings are saved as rules — future imports with the same category labels are categorized automatically without asking again.

Click Import to run.

The result toast tells you: "N imported, M duplicates skipped" — or flags any rows that had errors.


What happens after import

  • Transactions are created with source = csv
  • Auto-categorization runs immediately on any uncategorized rows (rules → bank category → merchant directory → local AI model)
  • The matching engine runs to check if any of your new transactions pair with existing receipts
  • Anything that needs a decision lands in the Review queue

Duplicates

Satsuma fingerprints every row using: account + date + amount + description + transaction type. Re-importing the same file, or importing overlapping date ranges, will not create duplicates — those rows are silently skipped.

Related Articles