CRM demo — 30 minutes Demo →
Features

Bank statement import and Finmap migration

Upload a bank statement or Finmap export as a single file. The CRM finds dates, amounts and counterparties, assigns expenses to categories and never doubles up transactions.

  • Updated Oct 1, 2026
  • 6 min read

How bank statement import works

Bank statement import turns a bank's file into CRM records: each row becomes a transaction on an account, expenses are assigned to categories and incoming payments are matched to clients. The "Statement / Finmap import" button is on the Transactions screen in the Money section.

The CRM finds the header row on its own, anywhere in the first 30 rows of the file. Bank details and any heading above the table are skipped. Headers are recognized in English, Ukrainian, Russian and partly Polish: "Booking date", "Дата операції", "Призначення платежу", "Nazwa kontrahenta" and so on.

Which columns and formats are recognized

WhatHow the CRM reads it
File format.xlsx, .csv (and .txt); CSV in UTF-8 or windows-1251
DateDD.MM.YYYY, YYYY-MM-DD, DD/MM/YY, Excel dates
AmountSigned, or split into "In / Out" or "Credit / Debit"; spaces as thousands separators, comma or dot for decimals
Transaction typeExpense, income, transfer
Currency and accountTransaction currency; "from" and "to" accounts for transfers
Counterparty"Payee", "Merchant", "Отримувач" and similar; if there's no such column, the description is used
Payment referenceTransaction description
Category and subcategorySubcategory → expense category, category → category group
ProjectThe transaction's project

If the CRM reads a column wrong, you can remap it by hand. Before upload, you see a preview of the first 6 transactions and any rows missing a date or amount, which will be skipped.

The source is detected automatically: Finmap by its company-currency amount column, a Monobank statement by its MCC column, a PrivatBank statement by its card and category columns (Monobank and PrivatBank are Ukrainian banks). Bank categories such as "Supermarkets" are deliberately not turned into expense categories. Your categories are yours, not the bank's.

Importing from Finmap or a bank: 4 steps

  1. Export the file. From Finmap, export your transactions. From your bank, download a statement for the period as Excel (.xlsx) or CSV. Re-save an old .xls file as .xlsx or .csv.
  2. Upload it to the CRM. Go to Money → Transactions → Statement / Finmap import. Check how the columns were detected and remap if needed. Choose whether new counterparties with incoming payments should be added as clients ("Incoming payments from new counterparties — add as clients"; on by default for agencies).
  3. Review. The "Review" button runs a dry run without saving anything: how many transactions are new, how many were already there, income, expenses, transfers, and which accounts and categories will be created. Then upload.
  4. Undo if something's wrong. In "Previous uploads" (the last 30), the owner clicks Cancel on an upload. Its transactions and any payments and expenses created from them are removed. Accounts and categories stay.

What moves over from Finmap

A Finmap export carries your whole accounting structure, not just amounts:

  • accounts: new ones are created automatically, with the currency taken from the file;
  • categories and subcategories: they become category groups and expense categories, and new categories are added to the reference list;
  • counterparties and projects;
  • transfers between your own accounts: recorded as two "own transfer" transactions, so they count as neither income nor expense.

Expenses are assigned to categories straight away. Incoming payments are matched to clients by counterparty name; a payment without a client is booked to a category as "other income". After the move, the monthly P&L uses the same categories you're used to in Finmap. For a side-by-side look, see 95sales vs Finmap.

Re-uploading without duplicates

Every transaction gets a fingerprint built from the account, date, amount, counterparty, description and a counter for identical rows in the file. If you upload the same file again, or a statement with an overlapping period, transactions already in the CRM aren't duplicated. The Review step tells you in advance how many are new.

Large files are uploaded in parts: the browser sends transactions in batches of 300 rows, so a full year's statement goes through in a few requests. There's no monthly transaction limit.

What happens to transactions after upload

The CRM assigns bank statement transactions using its own rules: remembered counterparties, employees and services. A rule is remembered once you've assigned a counterparty by hand. Anything that can't be matched lands in Transactions → Parse, for you to sort.

Foreign currency amounts are converted to your base currency at the rate on the upload date, not the transaction date. Counterparties from statements are collected in a Counterparties list showing money in, money out, number of transactions and main category.

Who needs statement import: examples

Clinic. Say a private clinic takes payments by card terminal and bank transfer, and pays expenses from two cards. Once a week the bookkeeper uploads the statements, and budget vs actual shows real spending on ads and rent.

Agency. An agency that kept its finances in Finmap moves its history in one file. Accounts, categories, projects and counterparties carry over, and incoming payments are matched to clients in the CRM.

Service business. For a service business with accounts at several banks, import replaces stitching statements together in Excel by hand.

Where statement import is available

Available in 95sales CRM — we'll show you in a demo. Statement and Finmap import works together with the monthly P&L, budget vs actual, the management balance sheet and counterparties. Our team can handle the Finmap move during setup; see the guide how to move from Excel or Finmap to finance in a CRM.

★★★★★ Live in 1 day · a separate database for your center

Demo and estimate for your center — $0.

Demo on your examplepatient journey, care and money — as it would work for you
Included
Loss estimatehow many leads, calls and dollars leak without a CRM
Included
Launch planmigration, roles, telephony — step by step
Included
Trial accesstry the CRM with your team before deciding
Yours
Total for demo and estimatean implementation consultant usually charges $300+
$300 $0

You pay nothing and owe nothing.

We discuss a subscription only if you want one after the demo. The price is known before you start.

FAQ

What clinics ask

How do I move my data from Finmap to a CRM?

Export your transactions from Finmap as Excel or CSV and upload the file to 95sales CRM. Accounts, categories, counterparties, projects and transfers carry over automatically.

Which bank statement formats are supported?

.xlsx and .csv files from any bank. Re-save old .xls files first; PDF, MT940 and CAMT aren't supported.

What happens if I upload the same statement twice?

Nothing gets duplicated. Each transaction has a fingerprint, and ones already loaded are skipped.

Can I undo a bad import?

Yes. The owner clicks Cancel on the upload in "Previous uploads", and its transactions plus any payments and expenses created from them are removed.

Do I have to map statement columns by hand?

Usually not. Date, amount, counterparty, reference, category and project are detected automatically. If the CRM gets one wrong, you can remap it.

Is there a limit on the number of transactions?

There's no monthly transaction limit. A large file simply uploads in several parts.