Skip to main content
CSV import lets you bring transaction data into Breadbox from any financial institution, even if it isn’t supported by Plaid or Teller. You download a CSV file directly from your bank’s website and upload it through the Breadbox import wizard. There’s no API credential setup required.

When to use CSV import

Use CSV import when:
  • Your bank or credit union isn’t available in Plaid or Teller.
  • You want to import historical transactions from before you linked a Plaid or Teller connection.
  • You’re migrating data from another personal finance tool.
  • You have a one-time export you want to add to your history.
CSV import doesn’t support automatic syncing. You need to manually download and re-import a new file each time you want to add transactions. If your bank is available on Plaid or Teller, those providers are a better choice for ongoing use.

Download a CSV from your bank

Most banks let you export transactions from their website or mobile app. Look for an Export, Download, or Statement option in your transaction history or account activity section. Choose CSV or Spreadsheet format where available. The specific steps vary by institution. Common locations include:
  • Chase: Account activity → Download account activity
  • Bank of America: Activity → Download
  • Wells Fargo: Account activity → Download transactions
  • Capital One: Transactions → Download
  • Amex: Statements & Activity → Download
Save the file to your computer before starting the import wizard.

Import wizard

Start a CSV import from ConnectionsConnect New BankCSV Import in the admin dashboard.
1

Select a family member and upload your file

Choose the family member this account belongs to from the dropdown. Then upload your CSV file. Breadbox accepts .csv, .tsv, and .txt files up to 10 MB. It automatically detects the delimiter (comma, tab, semicolon, or pipe) and handles encoding and byte-order marks.Files must contain at least one data row in addition to a header row. Files with more than 50,000 rows are rejected.
2

Map columns and preview

Breadbox reads the column headers from your file and asks you to map them to the required fields. If your bank matches one of the pre-built templates (Chase, Bank of America, Wells Fargo, Capital One, or Amex), the mapping is filled in automatically.Set the amount sign convention to match how your bank exports amounts:
  • Positive = debit (money out) — matches Plaid’s convention and is the default.
  • Positive = credit (money in) — Breadbox negates the amounts automatically so they’re stored consistently.
Give the account a name (for example, “Chase Checking CSV”). This name appears in your connections list.A preview table shows the first 10 rows with parsed dates and amounts. Any rows with unparseable values are flagged inline so you can correct the mapping before importing.
3

Review the summary and confirm

Breadbox shows a summary: total row count, date range, account name, and family member. Click Import to start the import.
4

Review the results

After the import completes, Breadbox shows how many transactions were added, how many matched existing records (and were updated), and how many rows were skipped due to errors such as missing required fields or unparseable dates.

Required and optional fields

Breadbox requires three fields to import a transaction. All other fields are optional. Required fields
FieldWhat it maps toNotes
DateTransaction dateSee supported date formats below
AmountTransaction amountSee amount handling below
DescriptionTransaction nameTrimmed; max 500 characters
Optional fields
FieldWhat it maps toNotes
CategoryPrimary categoryStored as-is; not mapped to Plaid categories
Merchant nameMerchant nameTrimmed; max 200 characters

Pre-built bank templates

Breadbox includes templates for the following banks. When your column headers match a template, Breadbox auto-fills the column mapping for you.
Date column: Transaction Date
Amount column: Amount
Description column: Description
Category column: Category
Sign convention: Negative = debit (charges), Positive = credit (payments)
Date format: MM/DD/YYYY

Supported date formats

Breadbox tries to detect the date format in your file automatically by sampling the first 20 date values. It picks the format that successfully parses at least 90% of them. If no format succeeds, you’ll see an error asking you to check the date column mapping. Supported formats (in order of priority):
  1. MM/DD/YYYY — e.g., 01/15/2024
  2. YYYY-MM-DD — e.g., 2024-01-15
  3. M/D/YYYY — e.g., 1/5/2024
  4. MM-DD-YYYY — e.g., 01-15-2024
  5. DD/MM/YYYY — e.g., 15/01/2024
  6. YYYY/MM/DD — e.g., 2024/01/15
  7. Mon DD, YYYY — e.g., Jan 15, 2024
  8. Month DD, YYYY — e.g., January 15, 2024

Amount sign conventions

When you upload a file, you set the sign convention to match how your bank exports amounts:
  • Positive = debit (default): amounts are stored as-is. Positive values mean money going out.
  • Positive = credit: Breadbox negates the amounts. Positive CSV values become negative in the database, representing money coming in.
Breadbox always stores amounts using Plaid’s convention — positive values are debits (money out), negative values are credits (money in). This keeps CSV transactions consistent with Plaid and Teller data.
If you change the sign convention and re-import the same file, the transactions will be treated as new (different amounts → different identity hashes) and duplicated in your database. Make sure your sign convention is correct before importing.

Deduplication

Re-importing the same file is safe. Breadbox generates a unique identity for each transaction from its date, amount, and description. If a row with the same identity already exists, it’s updated rather than inserted as a duplicate. This means you can re-import a file multiple times without worrying about duplicate transactions. However, if two transactions on the same day share the same amount and description — for example, two identical $5.00 charges at the same merchant — they’ll be treated as one transaction.

Limitations compared to Plaid and Teller

FeaturePlaid / TellerCSV
Automatic syncYesNo — manual upload only
Balance trackingYesNo — balances are not imported
Webhook supportYesNo
Re-authentication flowYesNot applicable
Deduplication precisionExact (provider transaction ID)Hash-based (date + amount + description)

Add more transactions to an existing CSV connection

After your first import, you don’t need to create a new connection when you download a fresh CSV. From the connection detail page, CSV connections show an Import More button. This opens the import wizard with your connection pre-selected, so you skip the member selection and account naming steps. New transactions are added and existing ones are updated using the same deduplication logic.