# Banks and data exchange

Bank feeds and file-based payment matching.

**Bank Data Exchange** uses a **Google Sheet** as your bank account's transaction list. It stays in sync with **Banking** and supports **CSV**, **MT940**, and **CAMT.053** statement imports so your team can reconcile with confidence.

To connect a German bank through FinAPI and pay from that account, see [FinAPI](https://help.cortena.ai/guides/integrations/finapi).

## 1. Start from a bank statement file

When you open **Banking** and no bank is connected yet:

1. Drop a file onto the dashed area or click to browse.
2. Supported exports: **CSV**, **MT940** (including `.sta`, `.swi`, `.940`), and **CAMT.053** (`.xml`).
3. Enter a **bank account label**.
4. Cortena creates a Google Sheet in your organisation's **Bank Data Exchange** area and imports your transactions.

You can also keep things up to date by editing the sheet and using **manual bank transaction sync** under **Settings → Integrations**.

![Banking empty state: upload a statement file](https://help.cortena.ai/assets/img/help/banking/01-banking-empty-state-statement-upload.png)

## 2. Manage spreadsheet accounts

In **Settings → Integrations**, for each spreadsheet account you can:

- **Open Google Sheet** · jump to the live workbook
- **Refresh now** · pull the latest rows from the sheet into Banking
- **Remove** · disconnect that spreadsheet-backed account
- **Add Google Sheet** · start from an empty template

![Settings → Integrations: Bank Data Exchange cards](https://help.cortena.ai/assets/img/help/banking/02-settings-integrations-bank-data-exchange.png)

## 3. New bank account from file

After you pick a statement file, Cortena asks for a **bank account label**, then creates the sheet and imports rows. You can append more files later on the same account.

![New bank account from file confirmation](https://help.cortena.ai/assets/img/help/banking/03-new-bank-account-from-file-modal.png)

## 4. What the spreadsheet is for

The Bank Data Exchange Google Sheet is the **editable source** for that bank account's transactions:

- Correct descriptions, references, or fields when the bank export was imperfect
- Structured columns for dates, amounts, currency, counterparty, payment references, and optional running balance
- The sheet remains in your Google workspace; Banking reflects the sheet after sync

## 5. When Cortena syncs

- After a successful statement import
- On a schedule (regular sync)
- When you use **Refresh now**

## 6. Avoiding duplicates

Each transaction line is tied to a stable identifier from your bank export or the sheet. When the same line appears again, Cortena updates it instead of inserting a second copy. Truly new lines are added as new transactions.

Prefer bank-native export files with unique transaction references. Avoid deleting the transaction-ID column or creating colliding manual IDs.

## Quick reference

- **Create account from a file** · Banking or Integrations → drop CSV / MT940 / CAMT.053
- **Append another statement** · upload again on the same account
- **Pull latest sheet edits** · Integrations → **Refresh now**
- **Edit in bulk** · Google Sheet → edit rows → refresh or wait for scheduled sync
