Coder Social home page Coder Social logo

danielvolz / firefly-iii-fints-importer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bnw/firefly-iii-fints-importer

0.0 0.0 0.0 227 KB

Import financial transactions from you FinTS enabled bank into Firefly III.

License: GNU Affero General Public License v3.0

PHP 73.80% Dockerfile 0.33% Twig 25.87%

firefly-iii-fints-importer's Introduction

ci

This tool allows you to import transactions from your FinTS enabled bank into Firefly III.
It comes with a web GUI that guides you through the process.

Startup

To start the app, choose one of the three methods below:

  • Start the app by executing the following commands.

    git clone https://github.com/bnw/firefly-iii-fints-importer.git
    cd firefly-iii-fints-importer
    composer install
    php -S 0.0.0.0:8080 app/index.php
    
  • Alternatively, you can use docker-compose. The following commands will download and start the pre-built image from docker-hub.

    git clone https://github.com/bnw/firefly-iii-fints-importer.git
    cd firefly-iii-fints-importer
    docker-compose up
    

    To update the docker image stored on your machine to the latest version, run docker-compose pull && docker-compose up.

  • You can also build the docker image locally. To do so, simply follow the above steps for docker-compose, but replace the line image: benkl/firefly-iii-fints-importer by build: . in the docker-compose.yml. The build usually takes a few minutes.

After completing one of the above steps, browse to http://localhost:8080 and follow the instructions ๐Ÿ™‚

Requirements

  • Docker or (PHP 8.1 or newer and Composer)
  • An already running instance of Firefly III
    • It must be reachable over the network by PHP from the computer you run this import app
    • A Personal Access Token which you can generate on the Profile page in Firefly III

Tips

  • Banks typically only allow you to access the last two years worth of transactions. In order to ensure that your bank account shows the correct balance in Firefly III, even if not all of it's history can be imported, adjust the account's starting balance accordingly in Firefly III.
  • There is the option to reformat the description of a transaction, before it is sent to Firefly III. This can be done by configuring a RegEx search and replace pair. See data/configurations/example.json or the corresponding unit test for an example. Thanks to dfunke for this feature!

Storing configurations

Instead of entering all necessary account information every time, you can load it from a JSON-file.
Simply create such a JSON-file in the data/configurations folder by adapting the provieded data/configurations/example.json. When starting the app in your browser, you can then choose the JSON-file as a configuration source.
Please note that the bank_2fa-value in the JSON file corresponds to the number of the 2-factor authentication as listed in app/public/html/collecting-data.twig.
Thanks to joBr99 for this feature!

Headless usage

This importer can be used without a browser (e.g. by using curl or wget). For this you have to specify two GET parameters:

  1. automate=true
  2. config=data/configurations/example.json where this path should be exactly the same one you see on the select box

Additionally make sure that you filled out the choose_account_automation part in the config.
Thanks to Bur0k for this feature!

Feedback

So far, I could only test this with my personal bank. If you find that it does not work with your bank, please open an issue.

Screenshots

Screenshots of import tool

Warnings

  • Note that most banks handle failed FinTS logins similar to failed website logins. Thus, if you fail to enter your password correctly 3 times in a row, your access will most likely be blocked. Then you need to take some bank specific actions to reenable your FinTS & web access.
  • For ING DiBa: According to this wiki, a login into the website is required every 90 days.

firefly-iii-fints-importer's People

Contributors

bnw avatar bur0k avatar tyrionwarmage avatar dfunke avatar jobr99 avatar jokergermany avatar xhess avatar jadyndev avatar dependabot[bot] avatar 5aint2ero avatar headcr4sh avatar beatbrot avatar danielvolz avatar 749 avatar chises avatar kreumadragon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.