johannesgerer / buchhaltung

Smart tools for the ledger universe
http://johannesgerer.com/buchhaltung
MIT License
97 stars 8 forks source link

State of this project #48

Open dpaetzel opened 4 years ago

dpaetzel commented 4 years ago

Hello @johannesgerer!

Are there any plans to advance this project? Or fix some of the more urgent bugs such as #40 (buchhaltung is incompatible with more recent versions of aqbanking but since PSD2 is in effect, old aqbanking releases cannot connect to any bank anymore unless you use one of the latest beta releases)?

This is not meant to blame or anything; I just really loved the simplicity of doing buchhaltung update—which is not possible anymore for me due to PSD2 and #40.

If you'd like to continue and need help: I'd be willing to! :slightly_smiling_face:

varac commented 4 years ago

Hej @dpaetzel and @johannesgerer It would be great to actually solve the current state of buchhaltung, since PSD2 is already in effect and I can't use buchhaltung anymore. It would be important to solve #40 asap. @johannesgerer could you please comment on @dpaetzel's offer to help ? @dpaetzel I don't speak a line of haskell, but why don't you meanwhile fork buchhaltung and fix #40 by a merge request, I'm happy to test.

dpaetzel commented 4 years ago

Thank you for your support :slightly_smiling_face: I already looked into fixing #40 but a first quick'n'dirty attempt did not work out (mainly because it seems that it's not just the command line parameters that changed for aqbanking but some of the internal stuff as well, e. g. the IDs that refer to a user's context). While I did not find the time to work on it any further over the last weeks, I hope to get to it very soon (hopefully, this week!).

In the long term, if @johannesgerer doesn't plan to advance this project any more, we probably need a complete rewrite of it because the code, as it is now, is barely maintainable for people that didn't write it in the first place.

I would be happy to do so and will keep you posted—for now, however, I should probably rather try to hackily fix the most pressing issues first in order to be able to use something? What do you think?

varac commented 4 years ago

@dpaetzel Sounds great! It makes sense to fix #40 first (and quick & dirty) so it works again with PSD2 in effect before doing a whole refactoring/rewrite. But I'll let you decide the details.

dpaetzel commented 4 years ago

For me, #49 makes buchhaltung work again. You might need to set it up from scratch though (buchhaltung setup now does a few things differently) or even by hand using aqhbci-tool4 because of the PSD2 changes.

varac commented 4 years ago

I would be happy to do so and will keep you posted—for now, however, I should probably rather try to hackily fix the most pressing issues first in order to be able to use something? What do you think?

I don't think it makes sense to create PRs here, since @johannesgerer seems to be not responsive, and for pressing issues I'd rather recommend a fork where we don't need to wait for PRs to get merged (I want to try #49 but if I understand right, I also would need to merge #47 into it in order to be able to build it right ? This becomes too complicated....). What do you think, can you imaging maintaining your fork of buchhaltung ?

dpaetzel commented 4 years ago

You can check out my fork at https://github.com/dpaetzel/buchhaltung . It's what I'm going to use for now so it should be stable more or less.

In the long term, the current code base is not maintainable in my opinion. Because of that I'm planning to redesign and rewrite everything. Just curious: Do you use the intelligent part of buchhaltung (the Bayesian stuff)? I don't which is why I'm considering not wasting too much time trying to recreate that part …

varac commented 4 years ago

Do you use the intelligent part of buchhaltung (the Bayesian stuff)?

I use buchhaltung match which uses the Bayesian filter, but tbh it's not working so well so I need a lot of manual intervention still. So I wouldn't be missing it too much (I'm mainly interested using buchhaltung again at all with PSD2).

schoettl commented 4 years ago

Hi all,

I stopped using buchhaltung/aqbanking a few months ago because of some problems, now I want to get it working again.

@dpaetzel Thanks for working on this! I haven't tried your fork yet and executed some non-working aqbanking commands manually. I will test the fork next :)

I'd suggest, that you put the link to your fork more prominently in the top-posting of this issue, so that other users find it more quickly.

I'm not a haskell programmer with decades of experience, I've only done a few projects in the last years. But in my opinion, haskell code is mostly hard to understand if you didn't wrote it yourself. It takes time to find the right place to fix things. A complete rewrite of the codebase is definetly a lot of work, so I would really go with refactoring the existing code instead. The good thing with haskell is, that it's hard to break the code during refactoring (as long you get it compile again) :)

dpaetzel commented 4 years ago

Just a short notice for everyone interested: I already started a clean rewrite of buchhaltung a few weeks ago as, while I was able to fix some things in my fork, that felt pretty hacky and not sustainable in the long term at all. Also, for myself, my fork does not work too great – perhaps my accounts are with the wrong banks :wink:

I will let you know when there’s something to try out (hopefully in the near future). For now, I'm aiming at a really minimal feature set (e.g. without fancy merge heuristics – instead, download all transactions after a user-specified date) which I will then release to start a conversation of what should be added. Download and conversion to (H)ledger already work each by themselves; however, I didn't find enough time during the last month to get to anything with a properly functioning overall workflow yet. This will hopefully change after next week :slightly_smiling_face:

dpaetzel commented 4 years ago

I finally got around to finishing a first iteration of the rewrite I announced: https://github.com/dpaetzel/aq2ledger . Feedback is very welcome :slightly_smiling_face: