← Tilbage til self-hosters
Beancount-guide

Synkronisér din bank ind i Beancount.

En trin-for-trin-guide til plaintext-regnskab: hent dine banktransaktioner fra EU og Storbritannien direkte ind i din Beancount-hovedbog. 3 €/måned, intet eIDAS-certifikat, ingen rate limit-mur, og krypteret så kun du kan læse det.

€3/md. — 1 konto inkluderet · Intet kreditkort påkrævet

Opsætning på 5 minutter

Fra bank til hovedbog i fem trin.

  1. Installér importeren

    Hent beangulp-importeren fra PyPI. Den følger med det klient-SDK, den skal bruge, så det er den eneste afhængighed, du skal tilføje.

    bash

    pip install beancount-openbanking-io
  2. Eksportér dine credentials

    Eksportér credentials.json fra open-banking.io-dashboardet — den kobler en API-nøgle sammen med den dekrypteringsnøgle, kun du har, så importeren kan læse dine data lokalt.

    bash

    # Dashboard → Settings → API keys → "Export credentials"
    # downloads credentials.json. Keep it next to your ledger.
    mv ~/Downloads/credentials.json ./credentials.json

    list_accounts.py

    from beancount_openbanking_io import Client
    
    client = Client("credentials.json")
    for account in client.accounts():
        print(account.id, account.currency, account.name)

    Det andet uddrag udskriver alle de konto-id'er, du kan mappe. Kopiér de id'er, du vil synkronisere — dem indsætter du i konfigurationen i næste trin.

  3. Map konti i en konfigurationsfil

    Opret en *openbanking.yaml-fil ved siden af din hovedbog. Peg den mod dine credentials, og map hvert bankkonto-id til en Beancount-konto. currency, counterpart og assert_balance er valgfrie pr. konto.

    myfinances.openbanking.yaml

    # Any file ending in *openbanking.yaml is picked up by the importer.
    credentials: credentials.json
    
    accounts:
      - id: "a1b2c3d4-0000-1111-2222-333344445555"
        account: Assets:Bank:Checking
        currency: EUR                       # optional — inferred from the bank if omitted
        counterpart: Expenses:Uncategorized # optional — default second posting
        assert_balance: true                # optional — append a balance assertion
    
      - id: "f6e5d4c3-9999-8888-7777-666655554444"
        account: Assets:Bank:Savings

    Ethvert filnavn, der ender på openbanking.yaml, genkendes automatisk af importerens identify()-trin — hold én fil pr. hovedbog, eller flere hvis du deler dit regnskab op.

  4. Kør importen

    Kobl importeren ind i et beangulp-script på én fil, træk så transaktionerne ud og føj dem til din hovedbog. Kør det i hånden, fra en Makefile eller på en cron-plan.

    import.py

    #!/usr/bin/env python3
    import beangulp
    from beancount_openbanking_io import OpenBankingImporter
    
    importers = [
        OpenBankingImporter(),
    ]
    
    if __name__ == "__main__":
        beangulp.Ingest(importers).main()

    bash

    python import.py extract myfinances.openbanking.yaml >> ledger.beancount

    beangulps extract udskriver Beancount-posteringer til stdout — omdirigér dem ind i din hovedbog eller til en midlertidig fil, du gennemgår før du fletter.

  5. Læs resultatet

    Du får rigtige Beancount-transaktioner med fortegn på beløbene, et obio-id på hver postering til deduplikering og en valgfri saldo-assertion til sidst i hver kørsel.

    ledger.beancount

    2026-06-28 * "Netto" "Card purchase"
      obio-id: "txn_9f2c7a1e5b"
      Assets:Bank:Checking  -42.18 EUR
    
    2026-06-29 * "ACME A/S" "Salary June"
      obio-id: "txn_1b8e4d9077"
      Assets:Bank:Checking  +2450.00 EUR
    
    2026-06-30 balance Assets:Bank:Checking  8137.55 EUR

    Det er sikkert at køre igen: beangulp deduplikerer på obio-id-metadataen, så samme vindue importeres aldrig dobbelt. Send outputtet gennem smart_importer for automatisk at kategorisere den anden postering.

Hvorfor det passer til plaintext-regnskab

Bygget, som din hovedbog allerede fungerer.

Krypteret — vi kan ikke læse det

Transaktioner krypteres på din enhed med en nøgle, kun du har. Vi gemmer kryptotekst, så dit kontoudtog ligger aldrig i læsbar form på vores servere.

Intet eIDAS-certifikat

Intet PSD2- (eIDAS-)certifikat at købe eller registrere, og ingen bankapplikation at indsende først. Forbind din bank og begynd at importere.

Ingen mur på 4 forespørgsler om dagen

Ingen grænse på fire forespørgsler pr. konto om dagen at planlægge udenom. Træk data ud så ofte, dit regnskab har brug for.

Spiller godt sammen med dine værktøjer

Almindeligt beangulp-output — send det gennem smart_importer til automatisk kategorisering, eller fava, bean-check og dine egne scripts. Ingen lock-in.

Erstatter du GoCardless eller Nordigen?

Deres gratis privat-niveau stoppede for nye self-hostere, og grænsen på fire forespørgsler pr. konto om dagen ødelægger rutine-importer til Beancount. open-banking.io er erstatningen til 3 €/måned — intet certifikat, ingen daglig mur, og krypteret så kun du kan læse det. (Bankforbindelsen leveres af vores licenserede leverandør, Enable Banking.)

Få din bank ind i Beancount.

Forbind en bank i EU eller Storbritannien på få minutter, og hold din hovedbog synkroniseret — for 3 € om måneden.

Få tidlig adgang

Intet kreditkort påkrævet