# Plaid

:::caution Coming soon
This integration is under development. The frontend architecture is complete; backend implementation is pending. Estimated availability: Q2 2026.
:::

Connect your bank accounts directly to Frihet through Plaid. Import transactions and balances in real time to reconcile invoices with bank movements automatically.

## What it does

With Plaid connected:

- **Connect bank accounts** — Link accounts from any Plaid-supported bank
- **Import transactions** — Bring bank movements into Frihet automatically
- **Reconcile invoices** — Match bank payments with issued invoices
- **Check balances** — View your account balances from the Frihet dashboard
- **Multi-bank** — Connect multiple accounts from different banks

## Requirements

- **Bank account compatible with Plaid** — Most European and US banks are supported
- **Frihet Pro or higher**
- **Server-side configuration** — This integration requires active server services (included in your plan)

:::info Server configuration
Unlike other integrations where you enter an API key directly, Plaid uses a secure flow through the Plaid Link SDK. The bank connection is made through a secure Plaid window — Frihet never sees your banking credentials.
:::

## Connect your bank to Frihet

### Step 1: Start the connection

1. Go to **Settings** → **Integrations**
2. Find **Plaid**
3. Click **Connect bank**

### Step 2: Select your bank in Plaid Link

1. The **Plaid Link** secure window will open
2. Search for your bank by name
3. Log in with your banking credentials (directly in the Plaid window — Frihet doesn't see them)
4. Complete the security verification if your bank requires it (SMS, bank app, etc.)
5. Select the accounts you want to link

### Step 3: Verify connection

1. Back in Frihet, you'll see the connected accounts
2. Frihet will automatically import recent transactions
3. Verify that movements appear in your dashboard

## How it works

The Plaid integration follows a multi-layer secure flow:

1. **Plaid Link SDK** opens a secure window where you enter your banking credentials
2. Plaid authenticates directly with your bank (Frihet never sees your credentials)
3. Plaid generates an **access token** that allows Frihet to query transactions and balances
4. This token is stored encrypted (AES-256-GCM) on Frihet's servers
5. Frihet's backend uses the token to query Plaid data periodically
6. Transactions are imported and available for reconciliation

## Synced data

| Data | Direction | Frequency |
|------|-----------|-----------|
| Transactions | Bank → Plaid → Frihet | Periodic (daily) |
| Account balances | Bank → Plaid → Frihet | On demand |
| Account name | Bank → Plaid → Frihet | On connection |
| Transaction category | Plaid → Frihet | With each transaction |

## Use cases

### Automatic payment reconciliation

You issue an invoice for $2,500 to a client. When the payment arrives in your bank account, Frihet detects the transaction imported by Plaid and suggests matching it with the pending invoice.

### Cash flow management

Connect your business accounts and check balances from Frihet without logging into online banking. Get a unified view of your liquidity alongside your outstanding receivables.

### Expense categorization

Imported transactions include Plaid's automatic categorization. Frihet can suggest expense records based on bank movements so nothing slips through.

## Security

The Plaid integration is designed for maximum security:

- **Banking credentials** — Frihet never sees them. They're entered directly in the Plaid secure window
- **Token encryption** — The access token is stored encrypted with AES-256-GCM
- **Secure communication** — All traffic between Frihet, Plaid, and your bank goes over HTTPS
- **Plaid certified** — Plaid is SOC 2 Type II and PCI DSS compliant, regulated as a fintech provider
- **Revocable** — You can disconnect your account at any time from Frihet or from your online banking

## Supported banks

Plaid supports thousands of financial institutions. Some examples:

- Major banks across Spain, Germany, France, Italy, Netherlands, UK, and US
- Neobanks: Revolut, N26, Wise

The full list is available directly in Plaid Link when starting the connection.

## Troubleshooting

### "My bank doesn't appear in Plaid Link"

- Plaid doesn't support every bank. Check coverage at [plaid.com/institutions](https://plaid.com/institutions)
- Some smaller banks or credit unions may not be available
- Alternative: use the Revolut integration or manual transaction import

### "The connection drops after a while"

- Some banks require periodic re-authentication for security
- When this happens, Frihet will notify you to reconnect via Plaid Link
- This is a bank requirement, not a Frihet error

### "Recent transactions aren't importing"

- Transactions can take 24-48 hours to become available through Plaid
- Plaid depends on each bank's speed to report movements
- Pending (unconfirmed) transactions may not appear

### "I want to disconnect my bank"

1. Go to **Settings** → **Integrations** → **Plaid**
2. Click **Disconnect**
3. The access token is deleted from Frihet
4. Optionally, revoke access from your online banking

## Next steps

- [See the REST API for programmatic access](../desarrolladores/api-rest.md)
