# Bank connections
Let applicants connect their bank instead of uploading statements
Source: https://www.klarefi.com/docs/guides/bank-connections

## Overview

A bank statements question can also take a bank connection. The applicant
presses **Connect your bank**, logs in at their own bank through your open
banking provider, and comes back to the form. Klarefi fetches their accounts
and transactions once, ends the access, and adds a bank statement PDF to the
case. Facts cite that statement the same way they cite an upload.

Uploading stays available next to the button, for banks the provider does not
reach and for applicants who prefer it.

## Providers

Klarefi uses your own provider contract. Add one of these from the connector
catalogue with your client ID and secret:

- **Tink bank connection**: Tink's one-time access to business accounts, with
  one entry per country, because Tink shows the banks of one market at a time.
  Tink deletes the data on its side after 24 hours.
- **Plaid bank connection**: Plaid Hosted Link, with one entry per country so
  you can match your Plaid contract. Klarefi removes the Plaid Item right after
  the fetch, and keeps trying if Plaid refuses. A sandbox entry is available for
  testing.

Register `https://<your Klarefi domain>/api/hosted-intake/bank/callback` as a
redirect URI with the provider. The provider holds the account information
licence; check with them how they want a software supplier in the flow to be
set up before you go live.

## Set it up in a workflow

Open the workflow, select the upload question, and pick the provider under
**Bank connection**. Choose how many months of transactions to fetch: 3, 6, 12
or 24.

## What the operator sees

- The statement PDF in the case documents, labelled with the connector. The
  provider's original response is attached inside the PDF, and its SHA-256 is
  printed in the footer.
- **Activity** lists when the applicant started a connection, when it
  connected, and every failure with the provider's code.

## When it does not work

If the applicant cancels, their bank login fails, the bank is not available or
the provider has a problem, the form says so and offers upload instead. Each
failure is recorded in Activity. Bank connections are not offered to agents on
the REST or MCP surface, because only the applicant can log in at their bank.
