The Splunk Add-on for FinTS is based on the open source FinTS library for Python (https://python-fints.readthedocs.io/en/latest/index.html#) and allows you to collect various different data from your bank account. For issues or troubleshooting regarding the connectivity I suggest you to look into the Git Repo of the FinTS project (https://github.com/raphaelm/python-fints).
The Add-on provides only management dashboards for online banking accounts, input types and TAN authentication. It contains no analyzation, visualization or alerts of the data. Feel free to dive into your cashflows the way you want. The collected data is ingested as JSON, so it should be usable without any additional field extractions.
Accounts:
The Add-on is based on accounts, they are the first you need to setup. They can be configured in the fints_accounts.conf or using the account management dashboard. Your online banking account requires several parameter to be used like your targets bank Bankleitzahl (BLZ), your banks HBCI server address (Endpoint), if you have multiple numbers under your account your target international bank account number (IBAN) and of course your online banking credentials (User, PIN/Password). The PIN will be stored encrypted (using the splunk.secret) in the passwords.conf. Please don't try to edit it manually, to ensure your password is always encrypted.
Inputs:
The Add-on provides four different inputs which are basically the getters from the FinTS library. Each input can be configured for each account independently. They can be configured in the inputs.conf or using the inputs management dashboard. Each input only requires an account and an input name. Due to the Add-on Builder the current default ingestion interval is 3600 seconds. To avoid redundant ingestion, I suggest that you use the default cron schedule of daily/monthly inputs (e.g. 0 1 * ). Also note that the transaction input can query more than one day, however due to consistency I've set it to the last day, so that each input can run once a day. I plan to make it more configurable in future releases. Also I have no available accounts with holdings. So I don't know what this input would return. Feel free to contact me for further development in this area.
TAN Authentication:
For the first time and from time to time it is required to authenticate your access with a Transaktionsnummer (TAN). To authenticate your accounts I've implemented an authentication management dashboard. Since the TAN can be generated on various ways, I try to forward the TAN challenge to the webpage. However my banks support only a few TAN methods, so my development in this area is limited. Currently tested and supported are photoTAN, pushTAN and mobileTAN. Feel free to develope further in this area with your own TAN method.
Suggestion for input frequency by type:
Balance: 0 1 * * (daily)
Transaction: 0 1 * * (daily)
Bankinformation: 0 0 1 * (monthly)
Holding: 0 0 1 * (monthly)
Custom Search Commands:
For authentication I've implemented two CSCs that enables you to request (fintsauthenticaterequest) and answer a TAN required response (fintsauthenticateresponse). The first one is a generating command that initializes the communication to the bank and puts the dialog on pause to deliver you the TAN request. After you have entered the TAN, the second command (reporting command) takes the previous request search as input, resumes the dialog with the bank and sends the given TAN.
To provide a little more flexibility with the inputs I've also created a CSC to span a variable time range (at least more than only the last day) for transaction queries. I would have also implemented this for the other inputs, however the transaction is the only one currently, that can be configured with date ranges. All inputs are bound to the library which is bound to the FinTS 3.0 protocol and no other input is currently designed to provide a date / range selection, except for transactions.
I've created this TA to observe my rental-accounts and gain insights of my personal cashflow. This app is far from complete, I'm still struggling to connect all my online banking accounts with the library. Altough the FinTS library has been implemented the way the FinTS3.0 protocol was designed, not every bank supports it yet the way they should. So if you have connecticity issues with your online banking account try to connect with the Troubleshooting Script of the FinTS library under (https://python-fints.readthedocs.io/en/latest/trouble.html). Sometimes it's just a typo.
Cheers, Bojan.
Fixed inputs.xml searches to cover All-Time instead of past 24 hours.
As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps from Splunk, our partners and our community. Find an app for most any data source and user need, or simply create your own with help from our developer portal.