I use GnuCash for business accounting and it does what I need. I don't use QuickBooks as VC's recommend in blog posts. QB has some convenient features, but that is not enough for me to pay the price QB is asking. I don't need VC money or a CPA.
I haven't tried using GnuCash with Sqlite, but I would like to experiment when I get the time. Is it reliable?
I used to be a technical/functional engineer for Oracle EBS, so I dealt with very complex schemas that interlinked with each other especially in the sub-ledgers.
I've always toyed with the idea of adding Revenue Recognition functionality to GnuCash but am too busy to do so. Perhaps after seeing the schema in Sqlite I can take a shot at it.
In case anyone is migrating from QB and wants to help others, the qb-escape quickbooks to gnucash converter could use some help: https://github.com/erikmack/qb-escape/
It's great for personal or very small businesses but god help you if you are building a real startup with GNUCash. I am speaking from experience here, GNUCash zealotry is a plague. I honestly wish this project basically did not exist, because the business world despises GNUCash, ONLY cares about QuickBooks, and using anything else is a giant waste of everyone's time. Believe me, I have been fighting this fight in non-profits and startups since the early 2000's. It's not a fight ANYONE should ever have. I USED TO BE THE "WE MUST USE GNUCASH" GUY!
Now, in a perfect world, yes, GNUCash and literally ANYTHING other than Quickbooks would be an option for small business accounting. But we do not live in a perfect world. We live in a world where Intuit has fought VERY hard to make damn sure no one can use anything but Quickbooks, and their iron fist is clad in very specific APIs and file formats.
If you do not use Quickbooks:
* Your bank will hate you.
* Your investors will hate you.
* Your payroll system won't work.
* Your tax systems won't work.
* Your accountant won't work.
* Grants are even off the table in some cases.
* Some places won't audit without Quickbooks.
I constantly run into well intentioned open source zealots who demand the use of GNUCash. This is terrible. Don't be that person.
The world has chosen QuickBooks. This choice was made under duress and with corrupt power brokering. But the decision has been made. Maybe there are some OK SaaS options, but they only exist as long as Intuit allows them to exist. Anything competing with Quickbooks is going to be bought and killed by Intuit, so you're going into a dead-end alley. I know that leaves GNUCash on the table, but...
Please, do not make the mistake my many non-profits and businesses have repeatedly made when I was not paying enough attention to scream bloody murder about it. I turn my back for one minute, and engineers are installing GNUCash on the accountant's Mac Laptop.
It's 100% always come back to bite us in the ass, as we've had to change platforms on-demand in order to meet a funding deadline, a bank requirement, a loan ask, or a grant application. And it's ALWAYS the accountant in the org that gets saddled with the 60+ hour work weeks it takes to redo everything. If I was an acocuntant, I'd quit if told to use GNUCash, but most of them kinda don't know any better because, hey, why not try some thing the techies are all excited about!
GNUCash is a wonderful project. I wish we could all use it. But we cannot. Not for real business. And honestly, this is only for contrived, arbitrary reasons. But these reasons exist. The world is 100% built to prevent people from not using Quickbooks at every turn, and you only harm yourself by demanding open source software for accounting. As I said to the director of my most recent non-profit: "You would not tolerate the accountant coming in here and demanding you use NetBeans. Please, give them the same courtesy you'd expect them to give you on tool choice."
I've tried many personal accounting software and all of them (but old Pcoket Money for PalmOS!) are very unhelpful in filling in expenses.
If you need to record whole shop visit as one transaction (like "Food at Lidl") it is tolerable, but as soon as you want to enter each line in your receipt as separate part of split transaction (like, food:milk = 2 euro, food:bread = 1 euro, food:eggs = 3 euro, food:meat:pork = 8 euro, etc) you need to type everything again and again without good suggestions, based on your previous history. Such suggestions could be very sophisticated, taking counterpart and other parameters and suggest "food:bread" and price by letters "br" if counterpart is "Lidl" or "clothing:bra" and other price if counterpart is "Victoria Secret", for example, but, alas, nothing I've tried, support this.
Really, old (PalmOS 3.0!) Pocket Money was a breeze, and everything else, Desktop or Mobile, is much, much worse in this aspect.
Also, I think, that when you have all you transactions vrty detailed, it is better to have nested "categories" and not nested "accounts". It is almost cosmetic difference, but it is strange for me to have "cache" and "food:meat:pork" as same type of objects. I don't transfer money to "food:meat:pork", I spend money for it. I transfer money to the shop, not to the product! As far as I know, professional accounting systems doesn't have account for each asset of the firm, like different accounts for monitors, laptops, computers and (computer) mices.
Is it actually all that useful to you to track each receipt line-item? For a few specific types of purchases, maybe, but I'm going to go out on a limb here and suggest you might be taking on needless work that doesn't create value for you anywhere near that level of effort.
I've tried a lot in the past as well, and after getting annoyed with proprietary OS X software (iBank in particular) back in 2009 or so, and not really liking GNUCash and KDEMoney (at least back in 2009) ended up writing my own open source simple app (native Cocoa, with a more recent Qt port for Linux) that I've been using every since on a daily basis.
In terms of the detail, I used to do very detailed breakdowns of categories, but now I don't really see the point: my app supports 'split transactions' (one of the reasons I actually made it, as existing solutions had poor support for them back in 2009), and I generally just use things like 'Food', 'Drinks', 'Essentials' as categories, as it never really made sense (at least for me) to detail them with such accuracy.
But for things like 'coffee', I do 'Drinks:Coffee', so I can see how much I am spending on fairly specific things, but I guess it's a balance in terms of whether it's worth the effort to record them so accurately compared to making use of the details.
Similarly, things like 'Car:Fuel', 'Car:Service', etc...
When I started to track my finances I quickly ran into limitations with just a spreadsheet, and also didn't feel like any of the existing options fit my need. I agree that for most (all?) people this level of detailed tracking is probably too much, but it doesn't take that much time for me.
I ended up making my own app https://github.com/VMelnalksnis/Gnomeshade. I also felt similarly regarding accounts, so I split transactions into two parts - transfers and purchases. That allows to handle multiple currencies, and handle categorization separately from accounts. I haven't looked into suggestions like you mentioned, I went with trying to parse receipts for my most common purchases.
As others have said, you're likely too granular. I just separate into "Groceries", "Supplies", "Clothes", etc.
I couldn't quite understand what you need, but I use KMyMoney (migrated from GnuCash over a decade ago). If you've gone to Walmart and itemized in the past, then the next time you go to Walmart and import your CC statement, it will pick the last Walmart transaction with a similar total charge as your starting point. It's mildly helpful.
And yes, it does do Categories instead of Accounts. The latter, however, is more in line with accounting principles.
It would be nice if there was a QRcode format on receipts for this. Off the top of my head, the encoded format would have:
* store name/location
* total amount
* field for tax(es) broken out
* a general category of the purchase if it's simple ("fuel", "food" for receipt from McDonald's)
* groupings of items for certain types/categories: at (e.g.) Costco you can buy groceries and clothing, so have a grouping for all your food with the total for that categorized as "food", clothes grouped together with its category; you can also get gas and tire/oil changes ("transportation")
The major categories could be what a lot of countries use for CPI categories:
May I ask why you want this? Does it have an actual purpose or do you just enjoy processing data? If the purpose is "check what % I'm spending in each category", you don't need account software for this. You just need a table with 2 columns, price and category and group by and sum. How you get that table has nothing to do with accounting.
Would only work for Lidl, but I wonder if there's anyway of pulling the data using the APIs that they use for the Lidl Plus app. The Lidl Plus app contains a digital receipt of every shop you've done with them.
Not something I've looked at and specific to Lidl but if you shop there regularly it might be worth trying.
It would be better if the software could just scan the receipt. And if you live in the country with electronic receipts (like Russia) then you can get them to your email in electronic form or find online by identifiers on a paper receipt.
I’d expect something like claude 3.5 or chatgpt 4 to do OK at this. (Maybe ocr the receipt, or just send a copy to a multimodal model).
You might be able to use one of the open weight models instead. (Maybe one of the apache 2.0 qwen’s?) Scan a batch, then hand check the results in fifo order. That way you can probably get away with a local gpu.
The hard part will be getting structured output that gnucash likes. I’d try a simple json schema (stick the schema and some example input/output in the context), and then write some code to convert it to a format gnu cash can import.
You're basically describing envelope budgeting, I think, where the money is (like checking) or isn't (like credit cards) doesn't matter. You have money inside of physical or virtual "envelopes" that represent what money you really have available for X or Y. It's kind of like an abstraction on top of all your money sources.
I think the only thing that will ever really make sense is flat horizontal property lists.
A given item and a given transaction could have any number of different properties, and no single heirachical category can express the reality.
Is it a work expense or is paid through paypal or is it a subscription or is it from amazon or is it food? A single item could be all of those at once, and sometimes when you want to know "all food" you want to include that regardless what it's other properties are.
IE, pork doesn't really have to be under some heirarchy like meat. It is both pork and meat, and it also may be art supplies or photographic subject etc.
Frankly the easiest way seems to be apps that parse your sms messages in your phone and build up an expense report out of that. Many people here will balk at this, but it takes a lot of effort out of keeping expense reports.
I don't like the GNUcash model very much, it is a bit fiddly to use, and is pretty hard to get the right stats I want out of it. I've used and settled on several other packages in the past.
But GNUCash existed when I first got a job decades ago.
GNUCash exists today.
I don't think any other package really matches the endurance.
It is charming in that it has that mid 90s utility design.
It is absolutely frustrating because it has that mid 90s utility design.
I don't think I have seen any other utility hasnt really progressed on interface design like GNUcash. Like they built a prototype went "Nailed it!" And then moved onto back end stuff while ignoring all input from users.
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.
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.
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.
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.
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.)
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.
I use GnuCash for the accounting of my hackerspace. It was either this or a site called "wave" which the treasurer of a nearby makerspace recommended. After signing up for wave and playing around, I still wasn't sure. A few weeks later I decided I would use wave, but then I found they had locked my account for no reason. GnuCash it is!
It's good software! I eventually wrote code that dynamically links with the libgnucash library so I can auto-generate monthly invoices for the member's dues.
I looked carefully at GnuCash before settling on Beancount (or plain-text accounting in general) for personal finance software.
The deal breaker for me was the underlying XML or SQLite formats of GnuCash. These are not terribly amenable to scripting, either for ingesting raw data or reporting. Whereas this is basically the point of plain-text tools like Beancount or HLedger. GnuCash feels too much like a walled-garden compared to plain-text tools.
The plain-text format requires more work at first, but after you get the hang of it (and provided you have some background in scripting software) it is awesome.
To each their own I guess: my experience is the exact opposite. Plain text looks simple to human eyes but parsing it in a structured way is a nightmare and scripting edits to plain text is a mess.
Databases on the other hand are built for this. After years of dissatisfaction with plain text accounting and many hours spent trying to improve it, I now use SQLite and it has been an enormous improvement.
As long as the XML/DB schema is documented (no idea if it is), it's actually better and more robust than Beancount/Ledger's plain text format. In fact, I use KMyMoney (XML backend), and have a script to convert the data to Ledger format. The script was easy to write precisely because it's not free flowing text.
GnuCash holds a special place in my heart. My first couple years out of college, running a very tight budget on a lean income. Every time I shopped I'd bring my receipt home and enter it diligently on the ledger. Everything reconciled always. It was a ton of work :)
As a freelance consultant from Sweden I looked at GnuCash several times over the past 10+ years but it was always the same issue.
It's not tailored for our economy and our revenue services.
Here in Sweden if your revenue is below 3 million SEK/year, then you can use "simplified bookkeeping" (rough translation of "förenklat årsbokslut").
In practice it means I could write a very basic program to manage my expenses and income and just have it generate all the necessary numbers that I then enter manually into our revenue service's online app every year.
I am also a solo freelancer with simplified bookkeeping.
I experienced that Double-entry bookkeeping is - beyond the initial learning curve - not more effort than simple book keeping. That is because it automatically avoids common errors. GnuCash works fine for me since 20 years. Never looking back to fragile spreadsheets and half-baken Access DB's.
I used GnuCash for a while, but I ended up spending too much time making the online sync settings work. For accounts where I had to manually download and import, I would end up putting off importing them due to the friction. I now pay for Quicken Classic and it's some of the best money I spend each year. The online account connections consistently work as expected, and it gets the job done for much less of a headache overall.
I have to care about accounts in the US, Canada (likely soon to vanish from my list), EU (two countries), and Mexico. I would love to have an option to pay for like Quicken Classic with all the banking connections reliably working, but I don’t think there is a single one that even covers the US and any of the major EU economies, let alone everywhere I care about. Quicken Classic is US and Canada only.
Do you know of such an option, or even multiple options that can be sensibly used together to achieve this?
At this point, given how many “access your transaction data” companies choose not to cross the US-EU bridge in a way that’s viable for direct personal use, I have to think there’s some reason around incompatible bureaucracy or similar. Or maybe not enough people have international enough lives to want it.
Ran a business with it, payroll, administered the 401k accounts, etc. Solid. Expense tracking good enough for a business with limited expenses, or background as a bookkeeper (my teenage job). But being able to generate balance sheet and profit&loss reports for my accountant, golden.
GnuCash is solid. One thing that I love: I have full control over my data, and its stored as a simple xml (also supports SQLite, but why use more complex when simpler works just as well?)
I have a few (comparatively minor) complaints about GnuCash, but they're around UI. Things like: it would be nice to assign all matching (eg Regen) transactions to a selected account, and stuff like that.
But overall, having something that is A) simple and B) I control fully, beats everything else.
XML is human readable, but barely. I do not trust any executable other than SQLite, postgres and a few others to correctly manage state on disk without corrupting it.
GnuCash is really nice, and eventually it would have been my end game, but at some point numbers didn’t end up.
Everything was recorded correctly, but reports would show wrong numbers.
After migrating from GnuCash to beancount, I realized that some transactions where recorded with invalid currency conversion rates.
As someone who relocated recently, manage money in at least 3 currencies, and have an online business, I can’t handle it. I need everything to be explicit in order to avoid mistakes.
Don't you have to buy some Japan specific software like Freee for the e-Tax integration?
I like GnuCash, but for a business, it doesn't automatically handle sales/consumption tax, or employee payroll withholdings, you'd have to manually make splits in every transaction for that.
(Actually I think you all don't have to keep your consumption tax received in a separate account bc you net it out against purchases, but in the US we have to journal the tax into sales tax payable liabilities account, not revenue).
Love Gnucash... allows me to look at my expense history for more than a decade.
I think it would benefit from some changes in the next major version though - the GL of account is good but requires a lot of work for example to track vendors. If I want to track where I'm buying my groceries I have to create separate account for those, rather than being able to optionally specify vendor.
Right! And this isnt a difficult feature to implement either. You just need that A) every transaction, or better every leg of a transaction, supports tag, and B) the reports break down by tag.
I tried to get into it several times but eventually came to the conclusion that it is, despite the unassuming name and the advertisement as a tool for personal finances probably more targeted at professional accountants or people who have some training in accounting, rather than just being a tool for tracking private finances in an intuitive way.
I don’t disagree with you, but I’d suggest that the accounting knowledge is pretty easy to pick up, and getting that under your belt will actually be incredibly valuable
This is the only reason I have any experience with these apps. When MS sunset Money and compatibility started to get wonky, my in-laws were at a loss at what to do. We never did find an alternative. They do however have a seperate Win 7 PC just for Money, which at there age isnt a huge problem but for others that is not viable long term.
Second that. Microsoft Money was _amazingly_ practical and useful - head and shoulders above Quicken. It is a real shame, Microsoft didn't find a better solution than to sunset it.
How come no one mentioned ERPNext.
It's open source, can be self hosted, free and biggest growing software in the market. It also scores high on user recommendations.
I switched from GnuCash to ERPNext and it has been a blessing.
I've been using GnuCash for a few years now and it's been good. I was looking at other options, but every time I try to book Cryptocurrencies I turn around to GNUCash. Is there another option? Most recently I've tried Odoo (stems out of OpenERP (prev. TinyERP)) which I like because it's python based, has a web interface and runs on docker.
I know the aesthetic is part of the “simple” appeal, but it’s just inexcusable to not have a responsive (aka “mobile friendly”) site in 2024. It’s also a great example of why I don’t trust hand-rolled guis like this, if I can avoid it: the standards are standard for a reason.
I've used Gnucash for my personal finances for 15-20 years, except for some periods (e.g. a few years where I was unemployed and depressed). It gives me great control of every cent, I know exactly what I've spent where, and I even use it to plan ahead.
I use scheduled transactions for all my fixed expenses, and Gnucash enters them 100 days in advance. I manually enter my income, usually also 3 months in advance. My income is very predictable, but can of course vary a little. I then plan out how much to transfer on payday to my debit card account, my bills account, my savings account, etc. I enter any "random" bills (variable or unexpected expenses) as they show up. This allows me to see, in Gnucash, quite exactly how much money I'll have available at any point in time the next 2-3 months.
I keep every receipt for things I buy during the week, and every Sunday I have a routine. It's become a bit overkill, but I enjoy it. First I scan the receipts with a scanner app on my phone. Then I sync the scans to my computer using Syncthing. Then I enter each transaction and link it to the scanned receipt. My hierarchy of expense accounts are reasonably detailed, I'd say.
I've gone so far as to program useful shortcuts into a numpad, to make this process even easier. So for example, instead of Ctrl-A or whatever is the default for linking a transaction to a file in Gnucash, I have one convenient button on the numpad. Other buttons select different transaction views. For a while I even had a setup where I could RDP to a docker container with Gnucash, so I could use it while at the office. For this I'd also use Syncthing to sync my gnucash data between my desktop and the container.
Is it overkill to scan every grocery receipt and whatnot? Yes. Do I need all this historical data? No, not really. But it's somewhat interesting to scroll 3 years back and look at some random dates to see what I bought and what prices were like. It's also useful for tax purposes. And I'm a bit of a data hoarder ;) (I should add that I don't always keep the receipt - I often pay with Google pay and then if it's just food or coffee or something simple like that I just keep the notification until I can enter the transaction in Gnucash.)
The biggest thing this setup gives me is great peace of mind. I've struggled with anxiety and depression, and I've lived through times where I've had credit card debt and very little income, so money has been a big stressor at times. Now I have a reasonably well paid job in IT and no debt except student loan, so I could probably live well without Gnucash, but it's still a source of mental well-being, even comfort. I enjoy my weekly routine and micro-managing my money. Sometimes I just open Gnucash to look at how well I'm doing financially (not wealthy by any means, but my net worth is at least in the positive). Gnucash was also great for planning how to pay off my credit cards.
> I enter each transaction and link it to the scanned receipt
How do you link transactions to receipts? The one that's on right-click and "Update Association"? When I tried that, I found it way too cumbersome, I feel like I should be able to just drag-and-drop a file onto a transaction. (I know I can set up keyboard shortcuts to open the dialog, but drag-drop would be so much simpler.)
In an ideal world, when drag-and-dropping a file onto a blank line, gnucash would run tesseract or something and extract the date, amount and summary ... one can dream.
JaggerFoo|1 year ago
I haven't tried using GnuCash with Sqlite, but I would like to experiment when I get the time. Is it reliable?
I used to be a technical/functional engineer for Oracle EBS, so I dealt with very complex schemas that interlinked with each other especially in the sub-ledgers.
I've always toyed with the idea of adding Revenue Recognition functionality to GnuCash but am too busy to do so. Perhaps after seeing the schema in Sqlite I can take a shot at it.
Cheers
seltzered_|1 year ago
john61|1 year ago
VonGuard|1 year ago
Now, in a perfect world, yes, GNUCash and literally ANYTHING other than Quickbooks would be an option for small business accounting. But we do not live in a perfect world. We live in a world where Intuit has fought VERY hard to make damn sure no one can use anything but Quickbooks, and their iron fist is clad in very specific APIs and file formats.
If you do not use Quickbooks:
* Your bank will hate you.
* Your investors will hate you.
* Your payroll system won't work.
* Your tax systems won't work.
* Your accountant won't work.
* Grants are even off the table in some cases.
* Some places won't audit without Quickbooks.
I constantly run into well intentioned open source zealots who demand the use of GNUCash. This is terrible. Don't be that person.
The world has chosen QuickBooks. This choice was made under duress and with corrupt power brokering. But the decision has been made. Maybe there are some OK SaaS options, but they only exist as long as Intuit allows them to exist. Anything competing with Quickbooks is going to be bought and killed by Intuit, so you're going into a dead-end alley. I know that leaves GNUCash on the table, but...
Please, do not make the mistake my many non-profits and businesses have repeatedly made when I was not paying enough attention to scream bloody murder about it. I turn my back for one minute, and engineers are installing GNUCash on the accountant's Mac Laptop.
It's 100% always come back to bite us in the ass, as we've had to change platforms on-demand in order to meet a funding deadline, a bank requirement, a loan ask, or a grant application. And it's ALWAYS the accountant in the org that gets saddled with the 60+ hour work weeks it takes to redo everything. If I was an acocuntant, I'd quit if told to use GNUCash, but most of them kinda don't know any better because, hey, why not try some thing the techies are all excited about!
GNUCash is a wonderful project. I wish we could all use it. But we cannot. Not for real business. And honestly, this is only for contrived, arbitrary reasons. But these reasons exist. The world is 100% built to prevent people from not using Quickbooks at every turn, and you only harm yourself by demanding open source software for accounting. As I said to the director of my most recent non-profit: "You would not tolerate the accountant coming in here and demanding you use NetBeans. Please, give them the same courtesy you'd expect them to give you on tool choice."
TZubiri|1 year ago
blacklion|1 year ago
If you need to record whole shop visit as one transaction (like "Food at Lidl") it is tolerable, but as soon as you want to enter each line in your receipt as separate part of split transaction (like, food:milk = 2 euro, food:bread = 1 euro, food:eggs = 3 euro, food:meat:pork = 8 euro, etc) you need to type everything again and again without good suggestions, based on your previous history. Such suggestions could be very sophisticated, taking counterpart and other parameters and suggest "food:bread" and price by letters "br" if counterpart is "Lidl" or "clothing:bra" and other price if counterpart is "Victoria Secret", for example, but, alas, nothing I've tried, support this.
Really, old (PalmOS 3.0!) Pocket Money was a breeze, and everything else, Desktop or Mobile, is much, much worse in this aspect.
Also, I think, that when you have all you transactions vrty detailed, it is better to have nested "categories" and not nested "accounts". It is almost cosmetic difference, but it is strange for me to have "cache" and "food:meat:pork" as same type of objects. I don't transfer money to "food:meat:pork", I spend money for it. I transfer money to the shop, not to the product! As far as I know, professional accounting systems doesn't have account for each asset of the firm, like different accounts for monitors, laptops, computers and (computer) mices.
Maybe, I don't find it yet? Any suggestions?
stouset|1 year ago
berkut|1 year ago
In terms of the detail, I used to do very detailed breakdowns of categories, but now I don't really see the point: my app supports 'split transactions' (one of the reasons I actually made it, as existing solutions had poor support for them back in 2009), and I generally just use things like 'Food', 'Drinks', 'Essentials' as categories, as it never really made sense (at least for me) to detail them with such accuracy.
But for things like 'coffee', I do 'Drinks:Coffee', so I can see how much I am spending on fairly specific things, but I guess it's a balance in terms of whether it's worth the effort to record them so accurately compared to making use of the details.
Similarly, things like 'Car:Fuel', 'Car:Service', etc...
VMelnalksnis|1 year ago
I ended up making my own app https://github.com/VMelnalksnis/Gnomeshade. I also felt similarly regarding accounts, so I split transactions into two parts - transfers and purchases. That allows to handle multiple currencies, and handle categorization separately from accounts. I haven't looked into suggestions like you mentioned, I went with trying to parse receipts for my most common purchases.
BeetleB|1 year ago
I couldn't quite understand what you need, but I use KMyMoney (migrated from GnuCash over a decade ago). If you've gone to Walmart and itemized in the past, then the next time you go to Walmart and import your CC statement, it will pick the last Walmart transaction with a similar total charge as your starting point. It's mildly helpful.
And yes, it does do Categories instead of Accounts. The latter, however, is more in line with accounting principles.
throw0101b|1 year ago
It would be nice if there was a QRcode format on receipts for this. Off the top of my head, the encoded format would have:
* store name/location
* total amount
* field for tax(es) broken out
* a general category of the purchase if it's simple ("fuel", "food" for receipt from McDonald's)
* groupings of items for certain types/categories: at (e.g.) Costco you can buy groceries and clothing, so have a grouping for all your food with the total for that categorized as "food", clothes grouped together with its category; you can also get gas and tire/oil changes ("transportation")
The major categories could be what a lot of countries use for CPI categories:
* https://www150.statcan.gc.ca/n1/pub/71-607-x/2018016/cpi-ipc...
* https://www.bls.gov/news.release/cpi.t01.htm
* https://www.stat.go.jp/english/data/cpi/158c.html
* https://www.ecb.europa.eu/stats/macroeconomic_and_sectoral/h...
bdjsiqoocwk|1 year ago
aembleton|1 year ago
Not something I've looked at and specific to Lidl but if you shop there regularly it might be worth trying.
codedokode|1 year ago
hedora|1 year ago
You might be able to use one of the open weight models instead. (Maybe one of the apache 2.0 qwen’s?) Scan a batch, then hand check the results in fifo order. That way you can probably get away with a local gpu.
The hard part will be getting structured output that gnucash likes. I’d try a simple json schema (stick the schema and some example input/output in the context), and then write some code to convert it to a format gnu cash can import.
candiddevmike|1 year ago
Brian_K_White|1 year ago
A given item and a given transaction could have any number of different properties, and no single heirachical category can express the reality.
Is it a work expense or is paid through paypal or is it a subscription or is it from amazon or is it food? A single item could be all of those at once, and sometimes when you want to know "all food" you want to include that regardless what it's other properties are.
IE, pork doesn't really have to be under some heirarchy like meat. It is both pork and meat, and it also may be art supplies or photographic subject etc.
billfruit|1 year ago
misnome|1 year ago
But GNUCash existed when I first got a job decades ago.
GNUCash exists today.
I don't think any other package really matches the endurance.
DaoVeles|1 year ago
It is absolutely frustrating because it has that mid 90s utility design.
I don't think I have seen any other utility hasnt really progressed on interface design like GNUcash. Like they built a prototype went "Nailed it!" And then moved onto back end stuff while ignoring all input from users.
jjav|1 year ago
This is hugely valuable. I've been using gnucash since the late 90s, and have the all data files going back to 2000.
mszcz|1 year ago
gavinhoward|1 year ago
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.
lhamil64|1 year ago
jcarrano|1 year ago
faustlast|1 year ago
kreyenborgi|1 year ago
[0] based on https://gist.github.com/nonducor/ddc97e787810d52d067206a592a...
somat|1 year ago
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.
onedognight|1 year ago
blackle|1 year ago
It's good software! I eventually wrote code that dynamically links with the libgnucash library so I can auto-generate monthly invoices for the member's dues.
BodyCulture|1 year ago
kreyenborgi|1 year ago
GlibMonkeyDeath|1 year ago
The deal breaker for me was the underlying XML or SQLite formats of GnuCash. These are not terribly amenable to scripting, either for ingesting raw data or reporting. Whereas this is basically the point of plain-text tools like Beancount or HLedger. GnuCash feels too much like a walled-garden compared to plain-text tools.
The plain-text format requires more work at first, but after you get the hang of it (and provided you have some background in scripting software) it is awesome.
massysett|1 year ago
Databases on the other hand are built for this. After years of dissatisfaction with plain text accounting and many hours spent trying to improve it, I now use SQLite and it has been an enormous improvement.
BeetleB|1 year ago
euroderf|1 year ago
jldugger|1 year ago
... if SQLite isn't sufficient it also supports SQL backends? I've been running it that way for like a decade.
noveltyaccount|1 year ago
INTPenis|1 year ago
It's not tailored for our economy and our revenue services.
Here in Sweden if your revenue is below 3 million SEK/year, then you can use "simplified bookkeeping" (rough translation of "förenklat årsbokslut").
In practice it means I could write a very basic program to manage my expenses and income and just have it generate all the necessary numbers that I then enter manually into our revenue service's online app every year.
john61|1 year ago
rnadomvirlabe|1 year ago
jkaplowitz|1 year ago
Do you know of such an option, or even multiple options that can be sensibly used together to achieve this?
At this point, given how many “access your transaction data” companies choose not to cross the US-EU bridge in a way that’s viable for direct personal use, I have to think there’s some reason around incompatible bureaucracy or similar. Or maybe not enough people have international enough lives to want it.
dmwilcox|1 year ago
bdjsiqoocwk|1 year ago
I have a few (comparatively minor) complaints about GnuCash, but they're around UI. Things like: it would be nice to assign all matching (eg Regen) transactions to a selected account, and stuff like that.
But overall, having something that is A) simple and B) I control fully, beats everything else.
The principles of free software show, I guess.
equivocates|1 year ago
klysm|1 year ago
trollied|1 year ago
[deleted]
skwee357|1 year ago
Everything was recorded correctly, but reports would show wrong numbers.
After migrating from GnuCash to beancount, I realized that some transactions where recorded with invalid currency conversion rates.
As someone who relocated recently, manage money in at least 3 currencies, and have an online business, I can’t handle it. I need everything to be explicit in order to avoid mistakes.
opengears|1 year ago
warabe|1 year ago
morpheuskafka|1 year ago
I like GnuCash, but for a business, it doesn't automatically handle sales/consumption tax, or employee payroll withholdings, you'd have to manually make splits in every transaction for that.
(Actually I think you all don't have to keep your consumption tax received in a separate account bc you net it out against purchases, but in the US we have to journal the tax into sales tax payable liabilities account, not revenue).
PeterZaitsev|1 year ago
I think it would benefit from some changes in the next major version though - the GL of account is good but requires a lot of work for example to track vendors. If I want to track where I'm buying my groceries I have to create separate account for those, rather than being able to optionally specify vendor.
bdjsiqoocwk|1 year ago
garupoliq|1 year ago
balderdash|1 year ago
_benj|1 year ago
I’m not sure what it was but I couldn’t get it working for me. Tried HomeBank afterwards and was blown away by how accessible it is in comparison.
I might give another try at GnuCash to track something like business/project expenses but it was rather hard to use for my personal finances.
lloydatkinson|1 year ago
DaoVeles|1 year ago
Postosuchus|1 year ago
Okx|1 year ago
Andrex|1 year ago
Vice-versa if you're using KDE instead.
huegrkdnjvmx|1 year ago
twarge|1 year ago
afroboy|1 year ago
_blk|1 year ago
kaliszad|1 year ago
bbor|1 year ago
yazzku|1 year ago
This is for serious finance, not for swiping yolo stonks on Robin Hood.
Seattle3503|1 year ago
I've been looking for a less data intrusive budgeting app. The other I saw was Firefly III.
jldugger|1 year ago
rkaid|1 year ago
I use scheduled transactions for all my fixed expenses, and Gnucash enters them 100 days in advance. I manually enter my income, usually also 3 months in advance. My income is very predictable, but can of course vary a little. I then plan out how much to transfer on payday to my debit card account, my bills account, my savings account, etc. I enter any "random" bills (variable or unexpected expenses) as they show up. This allows me to see, in Gnucash, quite exactly how much money I'll have available at any point in time the next 2-3 months.
I keep every receipt for things I buy during the week, and every Sunday I have a routine. It's become a bit overkill, but I enjoy it. First I scan the receipts with a scanner app on my phone. Then I sync the scans to my computer using Syncthing. Then I enter each transaction and link it to the scanned receipt. My hierarchy of expense accounts are reasonably detailed, I'd say.
I've gone so far as to program useful shortcuts into a numpad, to make this process even easier. So for example, instead of Ctrl-A or whatever is the default for linking a transaction to a file in Gnucash, I have one convenient button on the numpad. Other buttons select different transaction views. For a while I even had a setup where I could RDP to a docker container with Gnucash, so I could use it while at the office. For this I'd also use Syncthing to sync my gnucash data between my desktop and the container.
Is it overkill to scan every grocery receipt and whatnot? Yes. Do I need all this historical data? No, not really. But it's somewhat interesting to scroll 3 years back and look at some random dates to see what I bought and what prices were like. It's also useful for tax purposes. And I'm a bit of a data hoarder ;) (I should add that I don't always keep the receipt - I often pay with Google pay and then if it's just food or coffee or something simple like that I just keep the notification until I can enter the transaction in Gnucash.)
The biggest thing this setup gives me is great peace of mind. I've struggled with anxiety and depression, and I've lived through times where I've had credit card debt and very little income, so money has been a big stressor at times. Now I have a reasonably well paid job in IT and no debt except student loan, so I could probably live well without Gnucash, but it's still a source of mental well-being, even comfort. I enjoy my weekly routine and micro-managing my money. Sometimes I just open Gnucash to look at how well I'm doing financially (not wealthy by any means, but my net worth is at least in the positive). Gnucash was also great for planning how to pay off my credit cards.
kreyenborgi|1 year ago
How do you link transactions to receipts? The one that's on right-click and "Update Association"? When I tried that, I found it way too cumbersome, I feel like I should be able to just drag-and-drop a file onto a transaction. (I know I can set up keyboard shortcuts to open the dialog, but drag-drop would be so much simpler.)
In an ideal world, when drag-and-dropping a file onto a blank line, gnucash would run tesseract or something and extract the date, amount and summary ... one can dream.
9cb14c1ec0|1 year ago
snvzz|1 year ago
emilyj30|1 year ago
[deleted]
emilyj30|1 year ago
[deleted]