top | item 41700887

(no title)

mszcz | 1 year ago

I tried it years ago but finally settled on HLedger. Like GnuCash, I own and control my data, but with HLedger I have an ability to go in and correct or change something (and not in a "accounting-appropriate" way) in bulk just by editing it in Sublime Text. Then again, my use case is pretty basic and not mission critical so YMMV.

discuss

order

gavinhoward|1 year ago

This is absolutely a valid reason to not use GnuCash.

As for myself, I agree that the XML format is not great, but I use the SQLite format, which allows me to write scripts on it.

ranger_danger|1 year ago

You can write scripts to transform XML documents as well.

lhamil64|1 year ago

I use Firefly III (https://firefly-iii.org). It's a self-hosted web app which is nice for me because I tend to use it from my phone most of the time. It does have a pretty extensive API, perhaps not as easy to do bulk edits as a text file, but should be fairly straightforward. It also has a rule system that could be used to do bulk edits too.

jcarrano|1 year ago

I'm using GnuCash and not being able to easily do bulk changes or easily script it is quite annoying, for example after a slight mistake in a CSV import.

samus|1 year ago

GnuCash has a scripting engine. If you have to do a specific correction very often, it might be worth it to implement something. If possible, the CSV should be preprocessed of course.

If nothing else works, a Gnucash file is XML. A bit annoying to work with, but quite possible.

bulletmarker|1 year ago

And since the CSV importer is terrible there are always a lot of edits to do unfortunately.

mszcz|1 year ago

Exactly. I can try out stupid stuff, but because it's all text files and no magic, reverting back is as easy as it gets.

faustlast|1 year ago

I have also used hledger and ledger (specifically the lots feature) for many years. One nice feature of hledger is its csv rules system, which is very flexible. I extended it with simple python scripts to add extra information for registering capital gains. So, end of the day the raw input data is just some csv files with records and the output is financial reports with various levels of detail.

kreyenborgi|1 year ago

I actually run a little script that converts the gnucash xml to ledger[0] and keep that (and the original xml) tracked in git. Run that fairly regularly while entering into gnucash ui and I have an easily readable git log/diff of my changes. But it's missing the "bulk change" ability, yes. (The gnucash is just xml so one could edit that, I haven't dared to yet.)

[0] based on https://gist.github.com/nonducor/ddc97e787810d52d067206a592a...

somat|1 year ago

It's xml right.

Whenever I have to edit an xml file I tend to just go ham with python's xml library. the scripts are never pretty, mainly because they are whatever addhoc editing I wanted in written form. The hardest part is figuring out the xpath syntax.

A slight lie, I use lxml, mainly because it can select siblings which the built in xml lib is unable to do. but I still use the internal libs documentation, mainly because it is easier to read.

mszcz|1 year ago

Yeah, I've never found XML to be easy to edit/bulk edit/edit by hand. I suppose there are tools that would allow me to do that but since I would use them sporadically, I'd need to re-learn them every use. At the same ^D/^KD in Sublime works just fine.

onedognight|1 year ago

I like that I can version control the GNUCash XML file, and edit it by hand when needed while still having a GUI for entry.