MariBank statement to CSV and QIF
Turns MariBank (Singapore) monthly Deposit and Investment Statement PDFs into CSV files you can import into a personal finance app: one set for your savings account and one per fund. 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.
Accounts
Detected from the statements: the savings account, and each fund you've held. Override only if something's off: rename the exported account, change its type, merge it into another account, or leave it out. Saved in this browser.
What the files contain
- Savings (bank account): one Transactions CSV with every transaction: name is the counterparty or description (e.g. Buy - Mari Invest, Payout, Interest), notes are the channel and reference. Each month is checked against the statement's starting and ending balance; nothing is adjusted. Monthly interest is dated the last day of the month.
- Funds, Balance only (default): one Transactions CSV per fund with money moved in from savings (buys) and out to savings (sells), dividends reinvested into the fund, and one Returns (month-end adjustment) row per month, so the running balance equals the fund's market value on the statement.
- Funds, Balance + trade log: the same, plus every buy and sell as a 0.00 line with units and unit price.
- Funds, With holdings: a Trades CSV (the fund name is used as the ticker), the cash movements, and a Month-end balances CSV with the market value to record as balance updates.
- Cash payouts from a fund appear once, in Savings, where the money arrives.
- 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: one row per exported account (
Account type, Name, Balance, Currency, Balance Date), with the balance just before the first exported entry. Combined CSV: all accounts in one file with a leadingaccountcolumn, for multi-account imports; import the Accounts CSV first so the names match. - Columns: trades
date, ticker, qty, price, currency, name(negative qty = sell); transactionsdate, amount, currency, name, noteswith inflows positive; month-end balancesdate, balance, currency. Dates areYYYY-MM-DD.