Israeli Bank Firefly iii Importer
This project is in early stage! Please feel free to share your ideas and thoughts by creating an issue.
Using Israeli bank scrapper and import the data into free and open source Firefly iii. All this solution is for local installation (self-hosted), so you are not coupled with SaaS provider, but you will have to make sure your host is secured (On your own risk!).
Features
- Import all the transactions from your israeli bank site and israeli credit-cards sites into firefly iii.
- Every run imports only the missing transactions.
- Locate credit-card end-of-period transactions in your bank account, and change it to transfer transaction to the correct credit-card inorder to keep credit-card balance correct.
- Optionally periodically running using CRON.
Installing
Prerequisite
- Firefly iii is required in order to import data into - getting started.
- Dedicated host (server) to install Firefly iii and this importer.
- Supported accounts (Banks and credit-cards): currently supported.
- You will have to provide usernames and passwords for your accounts (Locally), so make sure your host is secured.
Steps (Quick start)
- Run
npm install -g israeli-bank-firefly-importer
.
- Create API Token in firefly iii by -
- Go to your hosted Firefly iii user interface.
- Click on 'Options' on the left.
- Click on 'Profile' in the sub menu.
- Click on 'OAuth' tab.
- Under 'Personal Access Tokens' click on 'Create new token'.
- Give a name and click create.
- Keep the token for later stage.
- Copy config template to working directory, change the name to
config.yaml
and edit it based on the comments
wget https://raw.githubusercontent.com/itairaz1/israeli-bank-firefly-importer/main/config/basic.template.config.yaml
mv basic.template.config.yaml config.yaml
vi config.yaml
- Start by running
israeli-bank-firefly-importer
in your terminal.
Using docker
You can build docker using following command:
docker build image-name:tag
Or you can just use the official docker itair86/israel-bank-firefly-importer
and run it by the following command:
docker run -v path-to/config.yaml:/home/pptruser/app/config.yaml itair86/israel-bank-firefly-importer:latest
While path-to/config.yaml
is path to your config file (See installing steps, step #3)
Using Home Assistant
Check israeli-bank-firefly-importer-hass-addon repository.
Schedule
If you want to let israeli-bank-firefly-importer
running recurrently, you can set cron expression in CRON
environment variable.
Supported accounts
Supported and tested accounts
- Leumi
- Isracard
- Cal
- Max
Support list
Changing settings
The accounts and transactions that created are being created with some details and settings that you can change. For example, you can remove Include in net worth
from credit card accounts, if you wish. There are some details that you don't want to change, since this importer is using them in order to keep track:
- Account's number.
- Transaction's Tags.
- If exists, transaction's External ID.
- If transaction's External ID not exists - All transactions settings shouldn't be change except budget.
Missing features and known issues
- Test all banks and credit cards.
- Code quality: Add tests, error handling, organize code and more.
- Consider use typescript.
- Support changing config after first run.
- Support multi banks.
- Make it more CLI friendly.
- Refund is not getting deleted.
Report a bug
To report a bug please create an issue with the following details:
- Detailed bug description
- Israel Bank Firefly Importer version
- Firefly iii version
- Operating system
- Installation type (Native / Docker / HA addon)
- Sensitized debug log - example of how to turn on debug logs here. Make sure you going through the logs and remove any sensitive data.
License
MIT License