• YNAB Integration

Are there plans for YNAB (budgeting software; can be found here: https://www.youneedabudget.com/ ) integration? Automated syncing with YNAB would change my banking life for the better.

    5 months later

    Hey Martijn! Did you find a way to accomplish this?

      3 months later

      Hi YNAB and bunq users. I’ve been in contact with the YNAB help desk.. and we just need a lot of people contacting YNAB’s support (help@youneedabudget.com) and tell them you would love it if they’d look into integration with bunq. This has to be done on YNAB’s end, so let’s start asking them. A lot! They say that’ll help move it up the wishlist.

        I've asked YNAB about a week ago and this was their response:


        My original message:

        Hi there! My bank in the Netherlands, bunq, has an api available to import my financial data into other apps like YNAB. YNAB would have to build support for this though. If it was only for bunq that'd be a bit much to ask, but because of new European legislation for the financial sector called PSD2 all European banks will be obligated to share the financial data of customers should they wish to do so. With the European union having somewhere around 500 million residents that could open up a whole new market for YNAB. Are there any plans to support this on the road map?


        Their response:

        Hello! Thanks for reaching out! We are planning to have a public API in the future. This should allow European based users to build bank connections on their own, which is incredibly exciting! 


        We'll be sure to announce it's release very loudly when it's ready. :)


        Let me know if you have any other questions!

          19 days later

          Well, it turns out YNAB released their API. For the past few days, I've been working on a realtime connection between my bunq accounts and my YNAB budgets. It's pretty functional right now although still work in progress. There is little to none documentation and no tests, yet. If you'd like, star the repositories and keep an eye on them for updated documentation and howto's.

          The first repository contains a Symfony Bundle for easy bunq interaction: https://github.com/Jorijn/symfony-bunq-bundle

          When used with the second Bundle, you're able to subscribe to MUTATION events and post them to YNAB's API. https://github.com/Jorijn/ynab-bunq-connector-bundle

            So I have absolutely no idea what you said there with all the technical terms, but I'm really happy to hear you're working on this 👏👏🎉🎉

              Good to see more YNAB users!

              I've made a realtime upload too, also based on MUTATION callbacks: https://github.com/wesselt/bunq2ynab

              Really handy to see your transactions pop up in YNAB as soon as they happen!

                The public API has been up for a while, you can request access at: https://github.com/ynab/ynab-sdk-js

                  Looks good but I am a newbie and I get a missing module error?!


                  File "list_user.py", line 4, in <module>

                  import bunq

                  File "/Users/wk/Python-Bunq/bunq.py", line 5, in <module>

                  import requests

                  ModuleNotFoundError: No module named 'requests'

                    @WWVV: Looks like you're missing requests? Try:


                    pip3 install requests

                      Stapje verder krijg nu...


                      File "/Users/wk/Python-Bunq/bunq.py", line 295, in call

                      raise Exception(result["Error"][0]["error_description"])

                      Exception: Insufficient authentication.

                        @WWVV: Dan werkt requests 😊 Heb je een geldige API key geplaatst in het bestand "api_token.txt" ? Welk commando gebruik je om het script te starten? Wat is de volledige uitvoer?

                          Ik denk het ook dat de requester werkt en ja ik heb dat bestan aangemaakt, er zijn nu ook want ander bestanden aangemaakt..en hieronder het resultaat de eerste keer heeft het script wat meer gedaan..


                          WK2:python-bunq wk$ python3 list_user.py

                          Requesting session token...

                          Requesting installation token...

                          Generating new private key...

                          Registering IP 10.0.1.119

                          Traceback (most recent call last):

                          File "list_user.py", line 17, in <module>

                          users = bunq.get('v1/user')

                          File "/Users/wk/Python-Bunq/bunq.py", line 307, in get

                          return call('GET', method)

                          File "/Users/wk/Python-Bunq/bunq.py", line 284, in call

                          result = call_requests(action, method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 266, in call_requests

                          sign(action, method, headers, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 190, in sign

                          headers['X-Bunq-Client-Authentication'] = get_session_token()

                          File "/Users/wk/Python-Bunq/bunq.py", line 143, in get_session_token

                          reply = post(method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 311, in post

                          return call('POST', method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 284, in call

                          result = call_requests(action, method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 266, in call_requests

                          sign(action, method, headers, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 188, in sign

                          headers['X-Bunq-Client-Authentication'] = get_installation_token()

                          File "/Users/wk/Python-Bunq/bunq.py", line 112, in get_installation_token

                          register_device()

                          File "/Users/wk/Python-Bunq/bunq.py", line 131, in register_device

                          post(method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 311, in post

                          return call('POST', method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 295, in call

                          raise Exception(result["Error"][0]["error_description"])

                          Exception: User credentials are incorrect. Incorrect API key or IP address.

                          WK2:python-bunq wk$ python3 list_user.py

                          Requesting session token...

                          Traceback (most recent call last):

                          File "list_user.py", line 17, in <module>

                          users = bunq.get('v1/user')

                          File "/Users/wk/Python-Bunq/bunq.py", line 307, in get

                          return call('GET', method)

                          File "/Users/wk/Python-Bunq/bunq.py", line 284, in call

                          result = call_requests(action, method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 266, in call_requests

                          sign(action, method, headers, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 190, in sign

                          headers['X-Bunq-Client-Authentication'] = get_session_token()

                          File "/Users/wk/Python-Bunq/bunq.py", line 143, in get_session_token

                          reply = post(method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 311, in post

                          return call('POST', method, data)

                          File "/Users/wk/Python-Bunq/bunq.py", line 295, in call

                          raise Exception(result["Error"][0]["error_description"])

                          Exception: Insufficient authentication.

                            @WWVV: Aah ik zie het, je zit achter een NAT router, dus hij registreert het verkeerde IP 10.0.1.119. Ik heb de code aangepast om op een betere manier het IP te bepalen: https://github.com/wesselt/bunq2ynab/commit/ff4f82b05374d3fe4f4230ba36ff823b7eac7457


                            Als je de nieuwe versie hebt, draai "bash clean.sh" om de lokale staat te verwijderen, of gooi in ieder geval "installation_token.txt" weg. Als dat niet werkt probeer het met een nieuwe API key, er zit dacht ik een beperking op hoe vaak je een nieuwe key kan registreren. Ben benieuwd!

                              Werkt allemaal super nu tot zover.... Nu de "Personal Access Token" van de YNAB website https://app.youneedabudget.com/settings/developer

                              Die link breng me naar een pagina met My Setting, waar ik mijn trail kan bevestigingen, mijn password kan veranderen etc maar gaan optie voor een token..... Of moet ik daarvoor al een echte klant zijn? Misschien niet beschikbaar voor een trial? De URL van de pagina is https://app.youneedabudget.com/settings

                                @WWVV: De YNAB API staat nog niet voor iedereen open. Je kan toegang aanvragen via: https://github.com/ynab/ynab-sdk-js Kreeg geen antwoord op mijn aanvraag, maar toen ik een paar dagen later weer keek zag ik de API optie in My Settings.

                                  WWVV ik had het ook net gelezen...

                                  https://support.youneedabudget.com/t/x1p42s/unable-to-generate-api-access-token-no-developer-section-under-my-account

                                  En ik heb een verzoek gedaan, dank je.

                                    9 days later

                                    @Jorijn. So, I activated bunq premium and requested YNAB to allow me to make an API key, because you made my banking dream become almost reality. Thank you for that!


                                    However, I have a question. How do you make the bunq - YNAB connection? I do not understand how to make it work :)

                                    Thanks in advance

                                      Great stuff, guys!!!! Wessel, I'm setting up your scripts now and requested for the YNAB API key. Waiting on their response for 2 days now.