This document is generated from configuration structs in the source code using go generate. Do not edit manually.
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 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 (defaults to today). |
| 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. |
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_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. |
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” |