Import CSV Data

You can import your data from a CSV file. The CSV must include a header row. The CSV file should have the following columns:

Required columns:

  • Date (String)
    yyyy-MM-dd, yyyy-MM-dd HH:mm, yyyy-MM-dd HH:mm:ss, yyyy-MM-dd HH:mm:ssZ, or yyyy-MM-dd'T'HH:mm:ssZ format. If parsing fails, the date defaults to the current time.

  • Category (String)
    Matching is case-insensitive. If not found, Expenses falls back to No Category when available; otherwise it uses the first category for the flow type.

  • Price (Double)
    -: expense, +: income. If empty or invalid, it is treated as 0 (expense). If you need to use , as a decimal separator, wrap the value with double quotes like "-12,34".

  • Notes (String)
    The value can be empty, but the column must exist.

Optional columns:

  • Currency (String)
    If missing or empty, it uses the sheet currency. Values are uppercased.

  • Rate (Double)
    Fixed exchange rate. Only positive values are used. Ignored if Currency matches the sheet currency.

  • Rate Type (String)
    Case-insensitive; spaces or hyphens are treated like underscores. Allowed values: auto_refresh, custom, default.

  • Merchant (String)
    Useful for tracking where a transaction happened. The value is trimmed before importing. Existing merchant names are matched case-insensitively so Expenses can reuse their saved casing. You can also use Merchant Name as the column header.

  • Paid By (String)
    Useful for shared sheets. The value is matched against sheet participants by name or record ID. You can also use Me for the current user. If the column is missing, the value is empty, or it doesn’t match a participant, the imported item is left unassigned. In non-shared sheets, this column is ignored.

Exchange rate behavior (when Currency differs from the sheet currency):

  • Rate Type = auto_refresh: always use auto-refresh.
  • Rate Type = custom: use Rate if provided; otherwise auto-refresh.
  • Rate Type = default: use Rate if provided; otherwise use the sheet reference rate.
  • Rate Type empty: use Rate if provided; otherwise use the sheet reference rate.

Example:

Date,Category,Price,Currency,Rate,Rate Type,Notes,Merchant,Paid By
2024-03-31,Groceries,-1000.0,JPY,,default,Weekly shopping,Supermarket,Alice
2024-03-30,Salary,2500.0,USD,1.08,custom,Monthly salary,Company,
2024-03-29,Transport,-300.0,,,,,Metro,Me
...
┏━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓
┃    ┃ Date       ┃ Category    ┃ Price         ┃ Currency ┃ Rate Type ┃ Notes           ┃ Merchant    ┃ Paid By ┃
┡━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩
│    │ 2024-03-31 │ Groceries   │      -1,000.0 │ JPY      │ default   │ Weekly shopping │ Supermarket │ Alice   │
│    │ 2024-03-30 │ Salary      │       2,500.0 │ USD      │ custom    │ Monthly salary  │ Company     │         │
│    │ 2024-03-29 │ Transport   │        -300.0 │          │           │                 │ Metro       │ Me      │
...

If you still have questions, we're here to help. Please get in touch and we'll respond shortly.