ynabber

Configuration

This document is generated from configuration structs in the source code using go generate. Do not edit manually.

Ynabber

Ynabber moves transactions from reader to writer in a fan-out fashion. Every writer will receive all transactions from all readers.

Environment variable Type Default Description
YNABBER_DATADIR string . DataDir is the path for storing files
YNABBER_LOG_LEVEL string info LogLevel sets the logging level (error, warn, info, debug, trace)
YNABBER_LOG_FORMAT string text LogFormat sets the logging format (text, json)
YNABBER_READERS []string nordigen Readers is a list of sources to read transactions from.
YNABBER_WRITERS []string ynab Writers is a list of destinations to write transactions to.

Enablebanking

EnableBanking reads bank transactions through the EnableBanking Open Banking API. It connects to various European banks using PSD2 open banking standards to retrieve account information and transaction data.

Environment variable Type Default Description
ENABLEBANKING_APP_ID string - AppID is the EnableBanking application ID
ENABLEBANKING_COUNTRY string - Country is the country code (e.g., NO, SE, DK)
ENABLEBANKING_ASPSP string - ASPSP is the bank identifier (e.g., DNB, Nordea, SparBank)
ENABLEBANKING_REDIRECT_URL string https://martinohansen.github.io/ynabber/ok.html RedirectURL is the URL where the user will be redirected after authorization
ENABLEBANKING_PEM_FILE string - PEMFile is the path to the private key file for JWT signing
ENABLEBANKING_SESSION_FILE string - SessionFile is the path where the session is stored for reuse
ENABLEBANKING_FROM_DATE Date - FromDate is the start date for transaction retrieval (YYYY-MM-DD format).
ENABLEBANKING_TO_DATE Date - ToDate is the end date for transaction retrieval.
When omitted, it resolves dynamically to the current UTC date on each run.
ENABLEBANKING_INTERVAL time.Duration - Interval is the time between fetches (0 means run once and exit)
ENABLEBANKING_PAYEE_STRIP []string - PayeeStrip contains words to remove from payee names.
Example: “foo,bar” removes “foo” and “bar” from all payee names.
ENABLEBANKING_PAYEE_STRIP_REGEX PayeeRegex - PayeeStripRegex is a comma-separated list of regular expressions whose
matches are removed from payee names. Use it to strip dynamic prefixes
or codes that PayeeStrip can’t express. Patterns cannot contain a
literal comma.
Example: “^Dk-Nota\S+\s+” turns “Dk-Nota61221 Remouladen” into
“Remouladen”.

Nordigen

Nordigen reads bank transactions through the Nordigen/GoCardless API. It connects to various European banks using PSD2 open banking standards to retrieve account information and transaction data.

Environment variable Type Default Description
NORDIGEN_BANKID string - BankID identifies the bank for creating requisitions
NORDIGEN_SECRET_ID string - SecretID is the client ID for API authentication
NORDIGEN_SECRET_KEY string - SecretKey is the client secret for API authentication
NORDIGEN_PAYEE_SOURCE PayeeGroups remittance,name,additional PayeeSource defines the sources and order for extracting payee
information. Multiple sources can be combined with “+” to merge their
values. Groups are separated by “,” and tried in order until a non-empty
result is found.

Available sources:
* remittance: uses the remittanceInformation fields
* name: uses either the debtorName or creditorName field
* additional: uses the additionalInformation field

Example: “name+additional,remittance” will first try to combine name and
additional fields, falling back to remittance if both are empty.
NORDIGEN_PAYEE_STRIP []string - PayeeStrip contains words to remove from payee names.
Example: “foo,bar” removes “foo” and “bar” from all payee names.
NORDIGEN_PAYEE_STRIP_REGEX PayeeRegex - PayeeStripRegex is a comma-separated list of regular expressions whose
matches are removed from payee names. Use it to strip dynamic prefixes
or codes that PayeeStrip can’t express. Patterns cannot contain a
literal comma.
Example: “^Dk-Nota\S+\s+” turns “Dk-Nota61221 Remouladen” into
“Remouladen”.
NORDIGEN_TRANSACTION_ID string TransactionId TransactionID specifies which field to use as the unique transaction
identifier. Banks may use different fields, and some change the ID format
over time.

Valid options: TransactionId, InternalTransactionId,
ProprietaryBankTransactionCode
NORDIGEN_REQUISITION_HOOK string - RequisitionHook is an executable that runs at various stages of the
requisition process. It receives arguments: <status> <link>
Non-zero exit codes will stop the process.
NORDIGEN_REQUISITION_FILE string - RequisitionFile specifies the filename for storing requisition data.
The file is stored in the directory defined by YNABBER_DATADIR.
NORDIGEN_INTERVAL time.Duration 6h Interval determines how often to fetch new transactions.
Set to 0 to run only once instead of continuously.

Actual

Package actual provides a writer implementation that sends transactions to an Actual Budget HTTP API instance.

Environment variable Type Default Description
ACTUAL_BASE_URL string - BaseURL points to the running actual-http-api service, e.g. https://actual.example.com
ACTUAL_API_KEY string - APIKey is an optional shared secret that will be sent via the x-api-key header.
ACTUAL_BUDGET_ID string - BudgetID is the Actual Sync ID for the budget to update.
ACTUAL_ACCOUNTMAP AccountMap - AccountMap maps reader accounts to Actual accounts. See reader for more
details. For example: ‘{“<IBAN or Account ID>”: “<Actual Account ID>”}’
ACTUAL_ENCRYPTION_PASSWORD string - EncryptionPassword optionally unlocks end-to-end encrypted budgets.
ACTUAL_FROM_DATE Date - FromDate only imports transactions from this date onward. For
example: 2006-01-02
ACTUAL_DELAY time.Duration 0 Delay sending transactions to Actual by this duration. This can be
necessary if the bank changes transaction IDs after some time, or
enriches remittance information after booking (which can cause duplicate
imports). Default is 0 (no delay).
ACTUAL_CLEARED bool false Cleared sets the transaction cleared flag for newly created transactions.
Default is false.
ACTUAL_REIMPORT_DELETED bool false ReimportDeleted controls whether Actual should reimport transactions that
were previously imported and then deleted. Default is false.
ACTUAL_DRY_RUN bool false DryRun simulates the import without persisting any data. Useful for
verifying mappings and deduplication before writing. Default is false.

Ynab

YNAB writes transactions You Need a Budget (YNAB) using their API. It handles transaction and account mapping, validation, deduplication, inflow/outflow swapping, and transaction filtering.

Environment variable Type Default Description
YNAB_BUDGETID string - BudgetID for the budget you want to import transactions into. You can
find the ID in the URL of YNAB: https://app.youneedabudget.com/<budget_id>/budget
YNAB_TOKEN string - Token is your personal access token obtained from the YNAB developer
settings section
YNAB_ACCOUNTMAP AccountMap - AccountMap maps reader accounts to YNAB accounts. See reader for more
details. For example: ‘{“<IBAN, BBAN or CPAN>”: “<YNAB Account ID>”}’
YNAB_FROM_DATE Date - FromDate only imports transactions from this date onward. For
example: 2006-01-02
YNAB_DELAY time.Duration 0 Delay sending transactions to YNAB by this duration. This can be
necessary if the bank changes transaction IDs after some time, or
enriches remittance information after booking (which can cause duplicate
imports). Default is 0 (no delay).
YNAB_CLEARED TransactionStatus cleared Cleared sets the transaction status. Possible values: cleared, uncleared,
reconciled.
YNAB_SWAPFLOW []string - SwapFlow reverses inflow to outflow and vice versa for any account
identified by IBAN or ID. Example: “DK9520000123456789,NO8330001234567”