Skip to main content

Importing data

Statement formats, supported banks, brokers and crypto exchanges, duplicate detection, and the optional Wallet by BudgetBakers sync.

Last updated: September 16, 2026

Assetli has no live bank connection. Everything you see was either typed in, imported from a file you downloaded from your bank or broker, or synced from Wallet by BudgetBakers with a token you pasted. This page describes each path.

Bank statements

Formats

The import goes through four layers, tried in this order:

  1. Standards. SEPA XML statements (ISO 20022 camt.053) and OFX files are parsed by dedicated parsers. Most banks in Germany, Austria, France, the Netherlands, Belgium, Spain, Italy and Slovakia export camt.053; Czech banks that follow the Czech Banking Association standard (ČSOB, Komerční banka, Česká spořitelna) also work. Banks in the United Kingdom, the United States and Canada typically export OFX.
  2. Bank-specific CSV parsers for Air Bank, Raiffeisenbank and UniCredit Bank (Czech exports).
  3. Smart CSV detection for any other CSV. Columns are recognised by their content rather than by header names, so a bank we have never seen usually works. Detection only proposes a column mapping; the mapping is applied deterministically.
  4. Assisted mapping. If detection is unsure, you can map columns by hand, or let the AI propose the mapping. The AI receives only the header row and a few sample rows, never the whole statement, and it returns a mapping, not transactions. The mapping is saved with the bank so the next import is free.

PDF statements are not parsed directly. Copy the text from the PDF and use the “Paste text” tab; the Air Bank text layout is recognised.

Supported banks

The bank list in the app carries an export guide for each bank. Banks with a parser or a standard format:

CountryBanks
Czech RepublicAir Bank, Raiffeisenbank, UniCredit Bank, ČSOB, Komerční banka, Česká spořitelna
SlovakiaSlovenská sporiteľňa, VÚB, Tatra banka, ČSOB, 365.bank, Prima banka, mBank, Fio banka, UniCredit, J&T Banka
GermanyDeutsche Bank, Commerzbank, DKB, ING, Sparkasse, Volksbank / Raiffeisen, N26, comdirect
AustriaErste Bank / George, Raiffeisen, Bank Austria, BAWAG P.S.K.
FranceBNP Paribas, Crédit Agricole, Société Générale, LCL, BoursoBank, La Banque Postale
NetherlandsING, Rabobank, ABN AMRO, bunq
BelgiumBNP Paribas Fortis, KBC, Belfius
SpainSantander, BBVA, CaixaBank, Banco Sabadell
ItalyIntesa Sanpaolo, UniCredit, Poste Italiane
United KingdomBarclays, HSBC UK, Lloyds Bank, NatWest, Nationwide, Monzo, Starling Bank
United StatesChase, Bank of America, Wells Fargo, Citibank, Capital One, U.S. Bank, Ally Bank
CanadaRBC Royal Bank, TD Canada Trust, Scotiabank, BMO, CIBC

Polish banks are listed with export guides and go through smart CSV detection. Any bank not listed can still be imported through smart detection or manual mapping.

What happens on import

  • Preview first. The file is parsed and shown with the number of new rows and duplicates before anything is written.
  • Duplicate detection uses the bank’s transaction code when present and a content match (date, amount, description) when it is not. Duplicates are skipped, not overwritten.
  • Transfers between your own accounts are detected and paired.
  • Balances of the target account are recalculated.
  • Every imported transaction carries the import source and an import batch id, so a whole import can be removed later from the account’s “Clean up data” action.
  • Categorisation. Your categorisation rules run on every import for free. AI categorisation is optional, off by default, and counts against the monthly AI operations quota (see Plans and credits).

The Free plan imports up to 500 transactions per month. Premium and Max have no import limit.

CSV import and Wallet sync cannot share an account

An account that receives Wallet by BudgetBakers sync will refuse CSV imports, because the two sources identify the same movement differently and would create duplicates. Use a separate account, or disconnect Wallet first.

Broker trades

Stock and ETF trades are imported per broker account from an export file. Recognised formats:

  • XTB Excel export (the “Cash Operations” sheet).
  • DEGIRO CSV export.
  • Portu CSV export, including portfolios with several strategies.
  • Any other broker via column mapping: the file structure is shown and you assign date, symbol, quantity, price and currency by hand. The mapping supports Czech and German number formats.

Broker accounts can be labelled as XTB, DEGIRO, Interactive Brokers, Fio banka, Portu, Revolut, Trading 212, eToro, Saxo Bank or Other. The label does not limit the import; the file format does.

Trade import also previews first, detects duplicates and recalculates holdings and average cost from the full trade history.

Crypto trades

Crypto accounts represent an exchange or a wallet: Binance, Coinbase, Kraken, Bitstamp, Bitfinex, KuCoin, Bybit, OKX, Gate.io, Gemini, Huobi, Crypto.com, Revolut, Anycoin Direct, Simplecoin, Trezor, Ledger, MetaMask or Other. CSV trade exports are parsed for Binance, Coinbase, Kraken, Bitstamp, Crypto.com, Revolut and Anycoin Direct; other files can be mapped by hand. Prices are updated from CoinMarketCap.

Wallet by BudgetBakers sync

If you already use the Wallet app, you can sync its records instead of importing statements. This is a Premium feature.

  1. In Wallet, generate an API token.
  2. In Assetli Settings, paste the token and map Wallet accounts to Assetli accounts.
  3. Sync manually from the Transactions page, or let the scheduled sync run.

The token is stored encrypted with AES-256-GCM. Assetli only reads from the Wallet API; it never writes to Wallet. Wallet itself may be connected to your bank, but that connection stays between you and Wallet.

Manual entry

Every module has a form for adding records by hand: transactions, trades, property income and expenses, vehicle costs, utility readings, valuables, loans. Records added through the AI assistant or the MCP connection use the same models as the forms.

Importing through the AI connection

With a write-enabled MCP connector you can paste the content of an Air Bank, Raiffeisenbank or UniCredit CSV into the chat and ask the AI to import it. The prepare_bank_import tool returns the same preview as the web (detected bank, new rows, duplicates, sample rows); import_bank_transactions then runs the same import routine as the Bank page. See MCP tools.