Import from CSV, XLSX and vCard
Bringing transactions, contacts and tasks over from spreadsheets and bank statements: column mapping, duplicates, rolling an import back.
The import wizard brings data into Rivo from files:
| Into | Where the button is | Files |
|---|---|---|
| Transactions | Money → Import (next to Add) | a bank statement or your own spreadsheet: .csv, .tsv, .txt, .xlsx |
| Contacts | Contacts → import from file | vCard from your phone (.vcf) or a .csv/.xlsx spreadsheet |
| Tasks | Registry → Tasks tab → Import | .csv, .tsv, .txt, .xlsx |
Limits: up to 5 MB and 10,000 rows per file — split bigger files. The first 60 columns are read, the rest are dropped.
(The wizard screens themselves are in Russian for now; the steps below describe them.)
Step 1. File
Pick a file or drop it into the window. The format is detected from the content.
- Transactions: date and amount are required, the rest is optional (without a description the counterparty is used). Currency is the account's; amounts are converted to your base currency at that date's rate.
- Contacts: name, phone, email, Telegram, birthday.
- Tasks: task text, due date, priority, done or not.
The same screen has source templates (a file with the same columns opens already mapped) and the import history.
Step 2. Columns and check
- Choose the header row and map columns to fields (required ones are marked
*). - Date format — detect automatically or set: dd.mm.yyyy, mm/dd/yyyy, yyyy-mm-dd.
- For transactions: an account for the whole file, the file's currency, the decimal separator (1 234,56 or 1,234.56), and a checkbox for files where expenses are written as positive numbers.
Bank formats
Statements from popular banks — TBC Bank, Revolut and several Russian banks — are recognised by their headers — columns are mapped automatically, and the line above the file shows “statement format …”. If the bank isn't recognised, pick it in “Statement format”.
- Status. Operations the bank didn't complete (for example
FAILED, or Revolut'sREVERTED,DECLINED,PENDING) are not written and are not counted as errors. Which statuses count as completed — the “Completed statuses” field. - Fee in a separate column (Revolut) is added to the amount: the ledger shows what actually left the account.
- The “+” sign. Some banks mark income with a plus and write debits unsigned — tick “income is marked “+”” for such files.
- Category. A category from the file is used if Rivo has it. Otherwise — your merchant rule, then the catalogue (MCC, bank category, description words); the preview says “by your rule” or “by the catalogue”.
A card number in the statement is not treated as an account — choose the account for the file yourself.
The preview shows every row with a status: new, already imported earlier, looks like an existing one (a possible duplicate), a repeat of another row, or an error. Filters: all, to import, duplicates, errors.
Give the source a name — the mapping is saved as a template on import, and the next file from the same bank opens ready. To save a template without importing, use “Save template”. Your own template wins over a bank format.
Step 3. Result
The import is written in a single transaction. The result shows how many rows were added, left as questions, skipped and failed.
- Failed and skipped rows aren't written — fix the file and upload it again: what's already imported won't be added twice.
- Transactions left as questions (possible duplicates) wait for your decision in the inbox.
Rolling back
An import rolls back as a whole — with the rollback button on the result screen or in the import history.
- Transactions: rows that were already confirmed or matched by the bank aren't deleted but voided — they stay in the ledger crossed out. If a row from the import was already paired into a transfer, unpair it first.
- Contacts and tasks: records edited by hand after the import (or tasks you ticked off) stay.
Unfinished import drafts are deleted after 2 days.
Exporting contacts
Contacts → Export: vCard (.vcf) for iPhone, Android and Google Contacts, CSV for Excel, Google Contacts and CRMs. With nothing ticked, every contact is exported; “Select contacts” in the same menu lets you tick the cards you need. Passport details, the AI summary and attachments are not included — the full section is in the Export archive in settings. An exported file can be loaded back through import from file: the columns map themselves.

