@schroeer-haren/lib-fints
v1.5.0
Published
Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN
Maintainers
Readme
Lib-FinTS
A Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN, supporting PSD2 and decoupled TAN methods.
This is a fork of robocode13/lib-fints that adds outgoing SEPA payments (credit transfers, instant transfers, collective transfers, direct debits), Verification of Payee, and richer statement parsing (pending entries, collective bookings, transparent pagination).
Features
- Read: account balance, statements (MT940 & CAMT), securities portfolio, credit card statements
- SEPA payments: single & collective credit transfers, instant/real-time transfers, single & collective direct debits ("Lastschrift")
- Verification of Payee (VoP) before a transfer is executed
- Statement details: pending entries ("Vormerkposten"), split collective bookings ("Sammelbuchung"), transparent multi-page pagination
- TAN handling: TAN challenges, decoupled TAN methods, TAN media selection & query
- Sessions: persist and restore banking information (BPD/UPD) between sessions
Installation
npm i @schroeer-haren/lib-fintsRequires Node.js >= 18. The only runtime dependency is fast-xml-parser (used for CAMT statement parsing).
Quick Start
const config = FinTSConfig.forFirstTimeUse(productId, productVersion, bankUrl, bankId, userId, pin);
const client = new FinTSClient(config);
const syncResponse = await client.synchronize();Note that most banks require a TAN method to be selected before account data is returned, and most transactions need a TAN challenge to be completed. See the Getting Started guide for the full walkthrough.
Documentation
- Getting Started – prerequisites, product registration, installation and a complete usage example
- API Guide – handling TAN challenges, restoring sessions from saved banking information, TAN media and debugging
- Supported Transactions – transaction methods, capability checks, parameters, TAN continuation and statement details
- SEPA Payments – credit transfers, instant transfers, collective transfers, direct debits and Verification of Payee
- Contributing & Development – how to build, lint and test the project
The docs/ folder also contains the official FinTS 3.0 specification PDFs.
Limitations
- Only FinTS 3.0 is supported (older versions may not work)
- Only PIN/TAN security is supported (including decoupled TAN methods)
Implementing further transactions should be straight forward and contributions are highly appreciated.
Tested Banks
Successfully tested with DKB, ING-DiBa and Renault Bank Direkt. If you have tested it with another bank, feedback is welcome.
License
This project is licensed under the LGPL 2.1 (or later) License – see the LICENSE file for details.
