StashAway statement to CSV and QIF
Turns StashAway monthly statement PDFs into CSV files you can import into a personal finance app, one set per portfolio. The PDFs are read in this browser and never uploaded.
Drop statement PDFs here
or click to choose files. Add every month you have; you pick which months to export below.
No statements yet.
Most apps don't skip duplicates when importing CSVs, so export only months you haven't imported yet. Load the statement for the month before From as well: the monthly adjustment builds on its closing balance.
Portfolios
Detected from the statements, including renames (a portfolio whose opening balance equals the closing balance of one that disappeared). Override only if something's off: rename the exported account, change its type, merge it into another portfolio, or leave it out. Saved in this browser.
What the files contain
- Balance only (the default, and always used for cash-like portfolios): one Transactions CSV with deposits, withdrawals, dividends, fees and one Returns (month-end adjustment) row per month. Imported into an account that starts at 0, its running balance equals each statement's closing balance. USD amounts are converted at the statement's month-end rate, with the original amount in the description.
- Balance + trade log (investment portfolios): the Balance only file plus every buy and sell as a 0.00 line, e.g.
Buy 1.5 VWRA @ USD 120.00 (USD 180.00). A trade swaps cash for units inside the portfolio, so it doesn't change the balance; you get the full activity list without your app having to look up tickers or track holdings. - With holdings (investment portfolios, when selected at the top): a Trades CSV with every buy and sell, a Transactions CSV with the cash movements, and a Month-end balances CSV with each statement's closing value. Your app values the holdings itself, so record the month-end balances as balance updates to keep totals exact.
- Combined CSV: the same data for all portfolios in one file, with a leading
accountcolumn, for apps whose import can split rows across accounts (a multi-account import). The account names match the Accounts CSV, so import that first and every row maps to the right account. With holdings, this is a zip with a combined trades file and a combined transactions file; month-end balances stay per portfolio. - Columns: trades
date, ticker, qty, price, currency, name(negative qty = sell, price in the trade's currency); transactionsdate, amount, currency, namewith inflows positive (deposits, dividends and gains +; withdrawals, fees and losses −); month-end balancesdate, balance, currency. Dates areYYYY-MM-DD. - QIF (Balance only and Balance + trade log): the same transactions, including the monthly returns adjustments, as a Quicken Interchange Format file per account, starting with an Opening Balance record (the balance just before the first entry), so no separate starting balance or column mapping is needed. Trade lines aren't included (they don't change the balance), and With holdings has no QIF: QIF's bank format can't carry units and prices. QIF has no currency field: import each file into an account of that currency. Dates are
YYYY-MM-DD; the name is the payee (P) and the notes the memo (M). - Accounts CSV (also in the zip): one row per exported portfolio with
Account type, Name, Balance, Currency, Balance Date, for apps that create accounts from a file. Investment or Savings, named like the files (StashAway followed by the portfolio name), with the balance just before the first exported entry: 0 for a full history, or the previous month's closing balance when you export from a later month. Import it first, then the other files into those accounts. - If your app looks tickers up, check the matches: a ticker can belong to a different company on another exchange, so the same ticker on two exchanges can be two unrelated securities.
How portfolios are grouped
- Each portfolio in the statements becomes one account, named after its latest name. Names are compared as written, apart from "™" and a "StashAway " prefix.
- A renamed portfolio is followed automatically, whether StashAway or you renamed it: when a new name opens with exactly the closing balance of a portfolio that disappeared that month, it is the same portfolio.
- Two portfolios with the same name are told apart by reporting currency, with the currency added to the account name, e.g. Name (SGD) and Name (USD).
- Portfolios under Investment Portfolios are investment portfolios; those under Cash Management are cash-like and get deposits, withdrawals, fees and rebates only, without fund switches. Fixed-term (Guaranteed) placements are grouped into one cash-like Guaranteed account.
- FX conversions inside a portfolio and fixed-deposit placements are skipped as internal.
- Use Portfolios above to change any of this.