Try ERPNext Buy Support Partners Foundation

ERPNext FinTS Connector (German Banks)

I’m happy to announce an ERPNext FinTS Connector to synchronize bank statements with ERPNext.

Current status: Testing / Proof of Concept
Next steps: Full-fill ToDo list

If you are interested please test it out and leave a comment :slight_smile:.
Contributions like ‘Issues’, ‘Feature Request’ and ‘Pull Requests’ are more the welcome.

8 Likes

is the limitation to “german banks” a technica onel (in the sense of german banks commonly using a certain system/api/… which non-german banks do not use)?

Yes, the app utilizes the API FinTS which is used by around 2000 German banks. But I think the process could be adapted for different API’s

European banks will be legislated to provide an online interface by mid 2019 but not restricted to one specific. (may only include web online banking)

great! thanks for clarifying

I guess that would be phase 2 then

FinTS Import scheduler now available in development branch.

FinTS Import scheduler and improvements on on master branch: https://github.com/jHetzer/erpnextfints/pull/4

ERPNextFinTS now supports outgoing Payment Entries on the develop branch

1 Like

Great Work!

Can you tell us a bit more about your concept and the intended workflow?
Do you make use of the available Bank reconciliation?
What would be the setup process?

This application is used to automatically import bank statements as “received” and “payed” Payment Entries with the original data from the bank. If possible the entries are matched and assigned to existing customers (by Name or IBAN) in ERPNext.
Afterwards this payment entries (status: Draft) can be linked to Sale/Purchase Invoices. For example with ERPNextSwiss “Match Payments” functionality.

Personally I do not grasp the purpose/simplification of the Bank Reconciliation functionality but I could be adapted from the Plaid Integration

Setup Process

  1. Find your german bank FinTS information (e.g.)
  2. Create a new “FinTS Login” in ERPNext with your information
  3. Create a new “FinTS Schedule” (daily, weekly, monthly import) or do it manually with a new “FinTS Import”
  4. Link the imported payment entries to your Sale/Purchase Invoices as you please

PS:
Each import creates a json file if it should be required to validate the import.

I hope i could answer your questions, feel free to ask more. Sorry for the late response I’m working on this on my free time.

3 Likes

Currently the app is not working. Hopefully the FinTS Library maintainers are able to solve it:

More Information:

Hello @jHetzer,

thank you for sharing this idea and your work. Has there been any progress since PSD2?

The guys from ERPNext are looking to make their software EU and Germany ready which will require your work.

Thank you
Wolfram

Hey Wolfram

I’m happy to hear that ERPNext has interest in this work.
The maintainer of the FinTS Library are still working on the PSD2 Issue. Some banks are already working.


The ERPNextFinTS develop branch is using the PSD2 branch of python-fints which is working fine for e.g. Volksbank (https://hbci11.fiducia.de/cgi-bin/hbciservlet).


As soon as more information are available I will check how this can be implemented into the app.

Currently I’m working on a simple way to create customer bank accounts (doctype). During payment import this informations are used to assign the corresponding customer.
see https://github.com/jHetzer/erpnextfints/tree/bank_account_wizard.
(Screenshots will follow)

Hi,

thank you for sharing this progress. Volksbank and Kreissparkasse are the main two banks we are looking for at the moment.

Where would this thing go into core? I think this should go some where around “desk#modules/Integrations”.

Please let @Basawaraj_Savalagi know what you need to make this core ready.

As we are looking for KSK Integration for ourselves this would be very interesting for us and also connected to a bounty.

  • Volksbank and Kreissparkasse are working in my lab. Unfortunately not without quirks but I’m excited what will result from this: https://github.com/raphaelm/python-fints/pull/95#issuecomment-561608429
  • I would suggest so. I think the plaid integration would function as a reference implementation. In regards to plaid integration I do not understand why it relies on the bank reconciliation functionality. Maybe someone can elaborate the benefit compared to importing payment entries
  • I’m still new to the ERPNext cosmos / Open Source collab. / git , maybe @Basawaraj_Savalagi can tell me what would be required to get core ready or what would the ERPNext Community need to adapt my app into the core

My code already starts hassling me and I’m about to rewrite certain parts. I think I could do better and improve it with my current python / javascript knowledge. I started the project as a newbie.

My self-imposed roadmap would look as following:

  • Watch and be support the FinTS Library progress
  • Complete the “Bank Account Wizard” page
  • Rewrite/Improve Code
  • Integrate unit-tests and maybe cypress-tests (personal studies required)

I’m working on this on my free time so I’m not able to propose a schedule, pardon me :slight_smile:

Hi!
great work.
like wojosc, i would like the KSK integration too. In fact we planed to do an integration by ourselves, but had no time to do this yet.
If it helps, I would be in for a bounty, too.

I did some testing with the proposed PSD2 testing-script from the FinTS Library which worked for both VoBa and KSK after removing the if f.init_tan_response: part. Cross checking my code lead me to an unnecessary line.

My develop branch should work now for both banks. If someone is will to test please make sure to uninstall fints first with env/bin/pip uninstall fints from the virtualenv.
Check the link for the explantation: