explaingit

afwassysteem/gocardless-ofx-gnucash

Analysis updated 2026-05-18

0PythonAudience · generalComplexity · 2/5Setup · moderate

TLDR

A Python script that downloads bank transactions through the GoCardless API and converts them into OFX files ready to import into GnuCash.

Mindmap

mindmap
  root((Gocardless-ofx-gnucash))
    What it does
      Fetches bank transactions
      Writes OFX files
      Deduplicates imports
    Tech stack
      Python
      GoCardless API
    Use cases
      Import into GnuCash
      Track bank accounts
      Migrate old state files
    Audience
      Personal finance users
      GnuCash users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Import transactions from a GoCardless-connected bank into GnuCash without manual entry.

USE CASE 2

Automatically deduplicate transactions across repeated runs so your books stay clean.

USE CASE 3

Switch to the author's sister Enable Banking project if GoCardless will not accept new signups.

USE CASE 4

Run the tool in Dutch or English depending on your preference.

What is it built with?

Python

How does it compare?

afwassysteem/gocardless-ofx-gnucash0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity2/52/54/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

GoCardless no longer accepts new user signups, so new users need the Enable Banking version of this script instead.

No license information is provided in the README.

In plain English

This is a Python script that pulls your bank transactions through the GoCardless Bank Account Data API and writes them out as OFX files, a format that GnuCash and similar finance software can import directly. It supports any bank connected through GoCardless and comes with menus and instructions in both Dutch and English. The README notes upfront that GoCardless has stopped accepting new users, so people who cannot create a GoCardless account are pointed toward a sister project by the same author that does the same job through a different provider called Enable Banking instead. For those who already have GoCardless access, setup involves installing the Python requirements, copying an example settings file, and filling in a secret ID and secret key generated from the GoCardless website. Running the script lets you pick a bank from a saved list of favorites or search for any supported bank by country code. The first time you connect to a new bank you log in through a link in your browser, handled by GoCardless itself rather than the script, and that connection is then remembered locally so you do not need to repeat the login for a period that is usually around ninety days. The first import for an account pulls ninety days of transaction history by default, and every run after that only fetches new transactions, checking transaction IDs so nothing gets duplicated in GnuCash. Output lands as one OFX file per account with new activity. If you used an earlier version of the script that kept a fixed list of banks in its settings file, the script automatically converts your old saved connections to the new favorites format on first run, so you do not need to log in again. The README also warns that the settings file and saved connection data contain sensitive information that should never be shared or committed to version control, and that GoCardless limits how many API calls each connection allows per day.

Copy-paste prompts

Prompt 1
Help me install this script and set my GoCardless secret ID and secret key in the .env file.
Prompt 2
Explain why GoCardless might not let me sign up and what the Enable Banking alternative script does instead.
Prompt 3
Walk me through how the 90 day history import and deduplication work in this project.
Prompt 4
Show me how the script migrates an old state.json into the new favorites format.

Frequently asked questions

What is gocardless-ofx-gnucash?

A Python script that downloads bank transactions through the GoCardless API and converts them into OFX files ready to import into GnuCash.

What language is gocardless-ofx-gnucash written in?

Mainly Python. The stack also includes Python.

What license does gocardless-ofx-gnucash use?

No license information is provided in the README.

How hard is gocardless-ofx-gnucash to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gocardless-ofx-gnucash for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.