FinTS Node - Access and fetch balance information from German bank accounts via FinTS/HBCI protocol
npm install n8n-nodes-fintsThis is an n8n community node that integrates with the Financial Transaction Services (FinTS) interface used by German banks, allowing you to retrieve real-time account balances within your n8n workflows.
n8n is a fair-code licensed workflow automation platform.
Follow the installation guide in the n8n community nodes documentation, or install directly via npm:
``bash`
npm install n8n-nodes-fints
- Get Account Balance: Retrieves the current balance and currency information for a specified bank account.
To authenticate with your bank's FinTS server, you need:
- User ID / Login: Your customer identification number.
- PIN: Your Personal Identification Number.
The Bank Code (BLZ) and FinTS server URL are set via the node parameters or by choosing your bank during credential setup.
The available banks are defined in nodes/FintsNode/banks.json. To support additional institutions, add an entry with value, displayName, blz, and fintsUrl to this file and rebuild the project.
Once you have these details, create new credentials in n8n under Settings → API Credentials, select FinTS, and enter the above information.
- Tested with n8n versions >= 0.150.0.
- Compatible with FinTS versions 1.1, 2.2, and 3.0.
1. Add the FinTS node to your workflow.
2. Select the FinTS credentials you created.
3. Choose the operation: Get Account Balance.
4. Configure the parameters. The node automatically retrieves all accounts linked to your login.
5. Optionally, set Start Date and End Date to limit the booking range. If left empty, the node fetches statements from the last 14 days up to today.
6. Optionally, enable Include Firefly III Fields to add a nested firefly object with fields compatible with Firefly III personal finance software.balance
7. Optionally, use Exclude IBANs/Account Numbers to filter out specific accounts from the results by providing a comma-separated list of IBANs or account numbers to exclude.
8. Execute the workflow to receive a response object containing ,currency, bank, account, and an array of transactions.
`json`
[
{
"account": "DEXXXXXXXXXX",
"bank": "23445561",
"balance": 10001,
"currency": "EUR",
"transactions": [
{
"amount": 20,
"text": "Some payment",
"valueDate": "2025-06-03",
"currency": "EUR",
"reference": "XYZ",
"isCredit": true,
"isExpense": false
}
]
}
]
When you enable the Include Firefly III Fields option, each transaction will include an additional nested firefly object with fields specifically mapped for Firefly III compatibility:
`json`
{
"amount": 20,
"text": "Some payment",
"valueDate": "2025-06-03",
"currency": "EUR",
"reference": "XYZ",
"isCredit": true,
"isExpense": false,
"firefly": {
"transactionId": "20250603-001",
"transactionType": "deposit",
"description": "Some payment",
"date": "2025-06-03",
"sendingAccount": "DE98370400440532013000",
"targetAccount": "DEXXXXXXXXXX",
"notes": "Customer Ref: ABC123",
"endToEndRef": "NOTPROVIDED"
}
}
Firefly III Field Descriptions:
- transactionId: Unique transaction identifier from FinTS
- transactionType: deposit for incoming payments, withdrawal for outgoing paymentssepa_ct_id
- description: Payment description text
- date: Transaction value date
- sendingAccount: IBAN of the sending account
- targetAccount: IBAN of the receiving account
- notes: Additional reference information (customer reference, mandate reference, creditor ID, prima nota)
- endToEndRef: SEPA end-to-end reference (EREF+ tag), equivalent to in Firefly III
The Exclude IBANs/Account Numbers parameter allows you to filter out specific accounts from the results. This is useful when you have multiple accounts linked to your FinTS login but only want to process a subset of them.
How to use:
- Enter a comma-separated list of IBANs or account numbers you want to exclude
- Matching is case-insensitive
- Whitespace around entries is automatically trimmed
- Both full IBANs (e.g., DE89370400440532013000) and account numbers (e.g., 12345678) are supported
Example:
``
DE89370400440532013000, 87654321
This will exclude the account with IBAN DE89370400440532013000 and the account with account number 87654321 from the results.
* n8n community nodes documentation
* German Article - About how to monitor the Bank Account with n8n
* FinTS specification overview
Publishing from CI requires an npm automation token stored as the NPM_TOKEN repository secret. Generate the token in the npm account settings, ensure it has automation scope, and add it under Settings → Secrets and variables → Actions before pushing release commits or tags. The GitHub Actions workflow validates that the secret is present and aborts with a descriptive error if it is missing.
filter to exclude specific accounts from results; add optional Firefly III field mapping nested under a firefly` object; introduce debug mode with server-side logging and improved error handling; update tests and documentation; bump dependencies and fix CI/build issues.