CSV Import - grumnuts/dosh GitHub Wiki

CSV Import

Dosh can import transactions from a CSV file exported from your bank. The import wizard walks you through mapping columns, reviewing detected duplicates, and confirming the import.

Starting an Import

  1. Go to Accounts and select the account to import into
  2. Click Import
  3. Upload your CSV file

Column Mapping

Dosh does not assume a fixed CSV format. After uploading, you map your CSV's columns to Dosh's fields:

Field Required Description
Date Yes Transaction date
Amount Yes Transaction amount (positive or negative)
Payee No Who the transaction is with
Description No Additional description or reference

Supported date formats:

  • DD/MM/YYYY
  • MM/DD/YYYY
  • YYYY-MM-DD

Duplicate Detection

Before confirming, Dosh checks each row against existing transactions in the account. Matching uses the following strategy:

  • When a payee is present: matches on date + amount + payee (case-insensitive). Two legitimate same-day same-amount transactions with different payees are not incorrectly flagged.
  • When no payee is present: falls back to matching on date + amount only.

Flagged duplicates are pre-deselected in the preview. You can:

  • Leave deselected — skip importing this row
  • Re-select — force import if the duplicate flag is a false positive

Rules Applied Automatically

When you confirm the import, the Rules Engine is applied to each imported transaction. Rules can automatically set the payee, category, description, or other fields based on conditions you've configured.

This means if you've set up a rule like "any transaction with payee containing 'Woolworths' → set category to Groceries", it will be applied automatically during import.

Reviewing & Confirming

The preview table shows all rows with their mapped fields and any duplicate flags. Deselect rows you don't want to import, then click Confirm Import to save.

After import, transactions are immediately visible in the account and the budget totals update accordingly.

Tips

  • Export your CSV from your bank's online portal — look for "Download transactions" or "Export to CSV"
  • Import the same file multiple times safely — duplicates will be flagged and can be skipped
  • Set up Rules before importing to auto-categorise your transactions