---
title: "GoCardless Banking"
space: "ERPNext"
url: "https://www.prilk.com/docs/erpnext/integrations/banking/gocardless-banking"
updated: "2026-05-15"
---

# GoCardless Banking

GoCardless Banking connects ERPNext to your real bank via the GoCardless
Bank Account Data API (formerly Nordigen). It supports **2,500+ banks
in the UK and EU** through Open Banking — including all major Dutch
banks (ABN AMRO, ING, Rabobank, Bunq, Knab, Triodos, ASN, SNS,
RegioBank, Volksbank).

Transactions sync automatically every night; no manual CSV exports
from your bank's portal.

## What you'll need

- A **GoCardless Bank Account Data** account (separate from a regular
  GoCardless payments account — sign up at
  [bankaccountdata.gocardless.com](https://bankaccountdata.gocardless.com)).
- Your bank's online-banking credentials (you'll be redirected to your
  bank for authentication during setup, not asked to share creds with
  ERPNext).
- A configured ERPNext **Bank Account** for each bank account you want
  to sync.

GoCardless's Bank Account Data API is free for small volumes — see
their pricing page for current limits.

## One-time setup: connect to GoCardless

1. Open **GoCardless Banking Settings** in the awesomebar.
2. Paste your **Secret ID** and **Secret Key** from the GoCardless
   bankaccountdata dashboard.
3. Click **Generate Access Token**. The app exchanges the secret pair
   for an access token + refresh token, valid for ~24 hours / 30 days
   respectively. They auto-refresh on a daily schedule from then on.

## Connecting a bank account (per bank)

1. Go to **GoCardless Banking Agreement** → **New**.
2. **Bank** — search and pick your bank from the live list (fetched
   from GoCardless, so you'll see exactly what they currently support).
3. **Save**. The form generates a **Requisition Link**.
4. Click the link — you'll be redirected to your bank's online-banking
   login (your real bank, not GoCardless). Authenticate.
5. Your bank redirects back to ERPNext via the OAuth callback. The
   agreement transitions to *Authenticated*, and GoCardless Banking
   Accounts are created for each bank account in scope.

## Per-account configuration

After authentication, each discovered account becomes a **GoCardless
Banking Account** record. Open each one and:

- **Link Bank Account** — pick the matching ERPNext Bank Account
  record. This is the link that lets transactions flow into ERPNext.
- **Automatic Sync** — tick this to include the account in the daily
  scheduled fetch. Untick it for accounts you only want to sync
  manually.
- **Sync Frequency** — daily is the default; the GoCardless API caps
  free-tier requests at 4 fetches per account per 24 hours, so daily
  is the sweet spot.

## Fetching transactions

Three ways:

1. **Wait for the daily schedule.** Every account with *Automatic Sync*
   ticked syncs once a day, typically overnight.
2. **Manual fetch from the account form.** Open a GoCardless Banking
   Account, click **Fetch Transactions**. Useful when you want to see
   today's transactions before tomorrow's scheduled run.
3. **Bulk manual fetch.** Run *Fetch Transactions for All Accounts*
   from GoCardless Banking Settings to refresh every account at once.

Each fetch:

- Pulls transactions from the GoCardless API (up to the past 90 days
  on first sync; incremental after that).
- Creates ERPNext **Bank Transaction** records, deduplicating by
  GoCardless transaction ID.
- Sets each new transaction's status to *Unreconciled*.

## After transactions arrive

Once in ERPNext as Bank Transactions, the transactions are ready for
reconciliation. If you've also installed [Advanced Bank
Reconciliation](./advanced-bank-reconciliation), the
auto-reconcile job runs as part of the daily schedule and matches
most transactions against your existing payments.

If not, use the standard **Bank Reconciliation Tool** from ERPNext.

## Token management

GoCardless access tokens expire after about 24 hours. The app:

- Stores access + refresh tokens in **GoCardless Banking Settings**
  (the secret is encrypted at rest).
- Refreshes the access token daily via a scheduled task before it
  expires.
- Regenerates from secret pair if the refresh token has also expired
  (after ~30 days of disuse).

If you ever see authentication errors in the integration request log,
the manual fix is: open GoCardless Banking Settings → click **Generate
Access Token** again. The scheduler should handle this without
intervention in normal operation.

## Limitations

- **EU/UK only.** GoCardless's Bank Account Data API doesn't cover the
  US, APAC, or LATAM. For those, use CSV / camt.053 import into
  ERPNext directly.
- **Read-only.** This app fetches transactions; it doesn't initiate
  payments. For Dutch SEPA payments out, see the SEPA Payments feature
  of erpnext_netherlands.
- **90-day initial history.** First sync pulls 90 days max — older
  transactions need a CSV / camt.053 import to backfill.
- **Bank-specific quirks.** A handful of EU banks return inconsistent
  transaction descriptions or apply rolling delays. If your bank's
  data looks off, check the integration request log for the raw
  response.
