Import your data
Cova reads CSV and Excel exports from other trackers, banks and spreadsheets. You'll see exactly what it will save before anything is written — and you can undo the whole import afterwards.
Coming from a specific app?
Coming from Seedly? Seedly discontinued its app on 31 December 2025 and permanently deleted expense-tracking data after 31 March 2026 — so there's unfortunately nothing left to export. Cova is built for exactly this: Singapore spending and net worth, from here on.
From your bank? Most banks — DBS/POSB, OCBC, UOB, Trust — let you download statements as CSV or Excel from their app or internet banking. Any file with a date and an amount column works; the rest of this page explains how.
What you need
A file with a header row. Only two things are required: a date column, and either an amount column or a debit/credit pair. Everything else — description, category, currency, wallet — is used if present and skipped if not.
Cova reads the header row and works out which column is which, including names like Transaction Date, Payee, Outflow and Money in. If it guesses wrong, every column is a dropdown you can correct.
Dates
Handled: 2026-07-18, 18/07/2026, 07/18/2026, 18 Jul 2026, Jul 18, 2026 and two-digit years.
Amounts
Handled: 1,234.56, European 1.234,56, (45.00) for negatives, currency symbols, and CR/DR suffixes. Separate Debit and Credit columns work as an alternative to a single Amount column.
Direction comes from your Debit/Credit columns, or a Type column, or the sign of the amount. If every amount is positive and there's no Type column, direction is genuinely undecidable — Cova flags it and asks whether they're all income or all expenses.
Currency
A Currency column is read and the original amount kept alongside the converted one. Conversion uses today's exchange rate — historical rates aren't applied, so older foreign transactions are approximate. The preview tells you how many rows this affects.
Categories
Your categories come across as your own — the ones you actually used, like T&O or Sinking fund, not forced into a set someone else picked. Each category in the file is created in Cova; if a name exactly matches one you already have, the two are merged so you don't get duplicates. Income categories like Salary are recognised from the file's Type column and created as income. The preview lists every category next to a dropdown, so you can map or rename any of them first.
Rows with no category are matched on the merchant name where possible (Fairprice → Daily necessities, Grab → Transport).
Wallets
A wallet or account column is brought across as a wallet. Each one can be created new or mapped onto a wallet you already have — the preview asks, so an imported Cash doesn't become a second wallet splitting the same balance.
Preview, then undo
Nothing is saved until you press Import. The preview shows the column mapping, how many rows are new, which wallets and categories will be created, the first ten rows as they'd appear, and every skipped row with the reason and the value that caused it.
Cova also checks every file against what you already have. Re-import the same file — or a newer export that overlaps an older one — and it tells you plainly ("720 of 721 rows are already in Cova") and adds only what's genuinely new. You can't double your history by accident. And after importing, an Undo last import button removes the whole batch cleanly.
If your file won't read
Use Download Cova template on the Import screen, paste your data into those columns, and import that. It's the same format Cova exports, so it always round-trips.
Stuck? Send us the file
If importing is not working, email [email protected] and attach the export (or just the first few rows). We will tell you what needs changing — or fix it and send it back ready to import. You do not have to work it out alone.
Which order? Import first, then connect capture
Most people do both, and the order matters a little. Import your history first, then turn on auto-capture. That way the import covers everything up to today and capture takes over from there, with no gap and nothing counted twice.
If you do it the other way round, or your export overlaps a few days that capture already brought in, Cova still checks each incoming row against what you already have — same date, same amount, same merchant — and skips the repeats. That check works across both routes, not just file against file.
Transfers between your own accounts
If your old app recorded transfers between wallets, an export usually contains two rows for each one: money out of one wallet and into another. Imported as-is they look like a real expense and a real income, which inflates both totals.
Cova flags rows that look like transfers so you can mark them, and marked transfers are left out of your spending and income figures while still moving your wallet balances. If your totals look too high after an import, transfers are the first thing to check.
The Cova template — what the columns are
If your file will not read, the surest fix is to paste your data into Cova's own template (Download Cova template on the Import screen). The columns are:
- Date —
2026-07-26, or26/07/2026, or26 Jul 2026. - Amount — negative for money out, positive for money in (
-12.80,3500). Or use separate Debit and Credit columns instead. - Merchant — the shop, person or description. Optional but useful.
- Category — optional; anything Cova does not recognise is created as your own category.
- Account — optional; the wallet it came from.
- Currency — optional; a 3-letter code such as
SGDorIDR. Leave blank for SGD.
Only Date and an Amount (or a Debit/Credit pair) are actually required.
If the file will not read
- Bank statements often have a few rows above the header. DBS, OCBC and UOB exports usually start with account name, number and date range before the real column titles. Delete those rows so the header is the first row, then import again.
- PDF statements do not work. Cova reads CSV and Excel. If your bank only offers PDF, look for a "download as CSV / Excel" option in transaction history rather than the statements section.
- Odd characters (
é,â€") mean the file was saved in a different encoding. Open it in Excel or Google Sheets and re-save as CSV — that usually fixes it. - A single column of text means the file uses semicolons or tabs instead of commas. Cova detects this automatically in most cases; if not, re-save as a standard CSV.
- Multi-sheet workbooks — Cova reads the first sheet. Move your transactions there, or save that sheet on its own.
The preview is always shown before anything is saved, so you can check and correct it — nothing is written to your account until you confirm.
Undoing an import
Undo last import removes the most recent batch, whole and cleanly. It applies to the last import only — if you have imported several files, undo them one at a time, most recent first. There is no time limit; a batch stays undoable until you import another one.