Settings

Theme

GnuCash

gnucash.org

309 points by je_bailey 4 years ago · 123 comments

Reader

manifoldgeo 4 years ago

I'm an avid user of GnuCash. Last I checked, their mobile app was basically abandoned (around 2018), and it had no way to use a SQL DB, even though the desktop can use SQLite3, MySQL, and Postgres [1]. So there was no easy way to use desktop AND mobile in a shared way.

So, I made a small companion app called gnucash-helper [2]. It's a Python/Flask web app for doing the very basics of GnuCash, i.e. entering transactions, looking at their history, and checking balances.

If you want to try it out, there's a demo of it on https://demo.checkyour.finance. The container it runs in is destroyed every 30 minutes, but that's enough time to play with it. It's very simple, but it does everything I need, to the point that I no longer have to open the desktop program.

Your feedback is most welcome. I should say right now, though: it's more like beta software at this point. I haven't built the Docker container in a while, so the one on Docker Hub may or may not work. If anyone has any interest in contributing ideas or code to this, I would love to hear about it.

Edit:

A couple things I forgot to mention:

- The backend for this is a .gnucash file that is saved in the sqlite file format. You can add your own into an S3 bucket, and this will write to it using Python's boto3 library.

- There's no way as of yet to download the GnuCash file directly from the web app, but I would like to add that in the future.

- The heart of this app is the Piecash Python library [3]. It lets you use Python to alter GnuCash files.

References:

[1]: https://www.gnucash.org/docs/v4/C/gnucash-guide/basics-files...

[2]: https://github.com/bxbrenden/GnuCash-Helper

[3]: https://github.com/sdementen/piecash

  • ajvs 4 years ago

    Great to see this. I stopped using GnuCash completely once the Android app stopped getting updates, but if this web app works well it might get me back into it.

  • zikani_03 4 years ago

    Nice! I have been using GnuCash for about a year now; moved on from an Excel workbook that got annoying to maintain.

    Been thinking of an API/Web interface (or Telegram bot) to quickly save transactions - so it's wonderful to see you built something in that can help in that direction! Guess I can look at the telegram bot part now :)

kayson 4 years ago

Without a way to easily import data directly from my banks/credit cards, using GnuCash (or Firefly III, a great alternative that's also worth checking out) just takes way more time than its worth. (OFX was not as straightforward to obtain or use as one would hope). Mint is so much easier to use - it automatically pulls and categorizes transactions from pretty much any institution imaginable without no user effort needed. I stopped using Mint after a brief stint because of data privacy and security. No matter how many security claims they made, I just couldn't justify giving them my bank passwords in plain text. I suppose it doesn't matter as much for credit cards, but for my checking/savings accounts, a compromise would actually jeopardize my money. Apparently some of the big US banks are starting to roll out authentication APIs (e.g OAUTH) so it may be worth another look.

It does seem like there's still room for a FOSS/selfhosted Mint clone that gracefully and automatically handles data import (I wouldn't even mind having to enter my banking passwords each time I want to update, to avoid storing them)

  • chrsig 4 years ago

    I hated all of the advertising in mint. I recently started using ynab[0], which can also import balances & transactions from banks. It supports oauth and 2fa, which was nice for the reason you listed: I don't want to give my credentials to anyone, even a "trusted" vendor like intuit. It also has a rest api, which I haven't gotten to try yet, but stands out as a very nice to have feature for me.

    The downside is that ynab is some $, but I think it's worth it not to have ads for insurance, loans, or credit cards being shoved down my throat.

    I evaluated personal capital[1] as well, but I got really turned off by them having a "continue with google" auth workflow that leads you to a page saying they haven't implemented it yet. Not a great way to build trust, which is a absolute must for any financial application.

    If any HNers have good recommendations, I for one would appreciate hearing them. I'm ok spending ~100/yr on a good financial management app.

    [0] https://youneedabudget.com

    [1] https://www.personalcapital.com/

    • hirvi74 4 years ago

      I recently ended my subscription for YNAB after more than half a decade of usage. I was grandfathered into the old price, but they took that away with the most recent price increase, so I could not justify staying.

      However, since I have quit, I have not found my habits to have changed. I think some part of the system is permanently burned into my brain. I am exploring my options with hledger, and it's been a neat experience so far.

      • chrsig 4 years ago

        oh, hledger does look pretty neat. If I were the only person involved in my budgeting, I'd definitely give it some serious consideration.

        • sundarurfriend 4 years ago

          There's also beancount [1] which has a (local) web interface via fava [2].

          [1] https://beancount.github.io/ [2] https://beancount.github.io/fava/

          • hirvi74 4 years ago

            I think Beancount might actually be better than hledger for the ways I intend to use it, but I wish Beancount was a bit more relaxed with naming conventions and account names/structure.

            • chrishas35 4 years ago

              Where would you like to see it be more relaxed? While the documentation has some pretty strong recommendations, other than the top 5 accounts, you can pretty much do as you wish.

              • hirvi74 4 years ago

                > Where would you like to see it be more relaxed?

                Having spaces in account names and not having to type the currency for every transaction would be nice. Though, I will say it's been quite a few years, so perhaps things have changed.

      • thefringthing 4 years ago

        It's still possible to use the version of YNAB from before they switched to a subscription model.

    • ktta 4 years ago

      This might be just what you're looking for: https://www.monarchmoney.com/

      Although I'm not sure how it compares to YNAB since I've heard good things about it too. What I like about Monarch is the nice UI, no ads, responsiveness and that the sync doesn't fail (often) like it failed (often) with Mint all the time.

      • chrsig 4 years ago

        That does look like just what I'm looking for. I'm going to have to give the 7 day trial a shot.

        I like that it has investment tracking as well.

        Agreed that mint was terrible with syncing. I don't know if it's improved at all in the last several years.

    • hanklazard 4 years ago

      +1 for ynab.

      I’ve been using it for 3-4 years now and happily pay for it. It makes tracking our family expenses manageable in a way that I can’t imagine with many other systems. It is especially helpful during times when your expenses suddenly skyrocket (buying a house, wedding, etc). The reports / graphing features are pretty useful too when you’re trying to understand how to shift your spending habits.

      It’s essentially a “cash envelope” budgeting system made digital. The idea is to take all of your available cash and distribute it into categories with specific purposes. When you find there is extra money that needs to be distributed, you pay down some debt or maybe start saving for that vacation you’ve been needing. It really helps you get ahead of your spending and to act responsibly with money.

    • kayson 4 years ago

      The thing that turned me away from ynab is that their marketing seems to say that they're trying to change spending/saving behavior in some way. I don't need to plan or make a zbb, I just want to easily categorize and track my spending. Admittedly, I didn't even try their free trial, but it just didn't seem like a good fit.

      • sentientslug 4 years ago

        Yeah YNAB is pretty much full steam ahead with the ZBB mindset. I've tried to use it without doing the ZBB part and it really is not set up for that.

      • chrsig 4 years ago

        Yeah, I can understand if you're not looking for something to help you with a zero balance budget, then it wouldn't be a great fit.

        I think my biggest gripe is the reporting tools. They give a couple basic charts, but it leaves a lot to be desired.

    • m-app 4 years ago

      I have personally been using Banktivity for some years. It’s a great app with decent feature velocity (not too slow, but not too fast either), has decent support for EU banks now, and syncs really well. You do have to be in the Apple ecosystem to enjoy its benefits though.

      • Mister_Snuggles 4 years ago

        I've been using Banktivity for years, but the recent change to a quasi-subscription model leaves a sour taste in my mouth. I understand why they're moving this way, but I'd much rather have $x for the software (with upgrade pricing for major versions) and $y/mo for the features that require their backend to work.

    • rodonn 4 years ago

      FWIW Mint now offers a premium subscription that removes all of the advertising. https://mint.intuit.com/premium

  • apatters 4 years ago

    Can't stress enough how valuable this is for small business. Auto-importing and auto-classifying transactions from financial institutions completely changes the way that bookkeeping functions. It also gives you real-time understanding of your financial situation and lowers cost/time.

    Our accounting software auto-imports all of our transactions daily via the Plaid API and our classifying ruleset categorizes 95% of them automatically. All that's left for our bookkeeper is to spend a few hours a month going over the unusual ones and doing some general accuracy/sanity checks. In addition we get dynamically generated reports every week which are ~90% accurate. Prior to these features the model was "bookkeeper manually imports a bunch of transactions from multiple sources and does a ton of work at the end of each month and produces one monthly report." Automation here has been a huge win, lower costs and better results.

    As much as I appreciate and prefer FOSS software I would never go back to the old way of doing things, the last thing a founder wants to spend a lot of time or money on is bookkeeping.

    • kkfx 4 years ago

      Personally I hope a day enough people join to push a law that impose banks to have a standard open API (like SEPA OpenBank, witch is mandatory here in EU BUT only open to institutions not private citizens) open to any customer NOT ONLY as read-only but also for disposing transactions to avoid the need of crappy web-banking porcals.

      Unfortunately too many use computers every days without even understanding how can they work for their user profit instead of some third parties mostly employing the human customer as a data cow and small-microfinance bank...

      • apatters 4 years ago

        If we legally mandate this what will the consequence be for small businesses that can't afford the cost to comply? (Even if you mandate it for only the big players - what if there end up being only three players who can afford it, they do it well, no one else does and you end up with only three banks?)

        I'm super supportive of banks opening up their data for the reasons in my prior post. But the second order effects of regulation are often overlooked--this is exactly what has gone wrong in the US financial industry where we used to have thousands of credit unions across the country and since 2008 most of them have been driven out of business by compliance costs. Naturally the handful of banks that remain are the ones that were the biggest and had the best lobbying effort in Washington...

        • kkfx 4 years ago

          What "small businesses", the smallest bank I know can afford such change, indeed they already have anything in place because OpenBank is mandatory here, only artificially limited to just business operators. There is no costs for no one else.

      • pylua 4 years ago

        There sort of is in the us, (ofx) but it is old and poorly supported. Most banks do not implement the newer versions of it.

  • BeetleB 4 years ago

    I use KMyMoney which has probably the same "support" as GnuCash for online banking.

    I now just download transacations from the institution (CSV, OFX, etc) and import the file. Many institutions charge extra for being able to pull automatically, but their export is free. Sounds like a pain but it isn't that bad.

    • brewdad 4 years ago

      I've found that I appreciate the manual download and import process. It makes me look over each transaction more deliberately than I would if it were just an automated update. I've caught 3 or 4 fraudulent or erroneous charges over the past half decade because I'm forced to look at each charge on my credit cards.

      Probably 90-95% of my spending goes on a credit card and then gets paid off at the end of the month. GnuCash has been great for tracking everything. I'll have to look at KMyMoney too.

      • BeetleB 4 years ago

        I didn't mean to imply KMyMoney is necessarily better. I switched a decade ago as it had a better interface - but I don't even remember what aspect was better. I think it did a better job with autocompleting entries or something.

  • yonrg 4 years ago

    Gnucash supports importing transactions from my bank account via aqbanking. It uses FinTS/HBCI afaik. And I am surprised and very happy that this still works after PSD2. A manual import, copy& pasting every single transaction would increase the effort intensely.

    I use gnucash for about half a decade now for private financing and it is absolutely a valuable helper. I run it at most once a week: Fetch transactions, query balance and reconcile.

  • Diris 4 years ago

    You can easily import data into Firefly III using their data importer[0] and Nordigen API or Spectre (usage is explained in [0]). Doing so automatically is just a matter of running a cron job

    [0] https://docs.firefly-iii.org/data-importer/

  • ParetoOptimal 4 years ago

    > Without a way to easily import data directly from my banks/credit cards, using GnuCash (or Firefly III, a great alternative that's also worth checking out) just takes way more time than its worth. (OFX was not as straightforward to obtain or use as one would hope)

    In the past I used the plaid api to get transaction data.

  • Fnoord 4 years ago

    Firefly III uses plugins to import the data. Any9ne can write one, in theory.

  • kodah 4 years ago

    A Mint clone would require that banks facilitate much more open access. Being centralized is a good position for Mint because all the financial institution has to do is trust Intuit.

  • LAC-Tech 4 years ago

    "Without a way to easily import data directly from my banks/credit cards"

    What is this wizardry? I go to the web portal of my (banks) and basically do double entry.

    • atmosx 4 years ago

      US banks support access via API and apps use to fetch data. European banks usually don’t do that, for security reasons.

      • amaccuish 4 years ago

        Umm, in the EU due to PSD2, all banks must provide a standardised API: https://en.wikipedia.org/wiki/Open_banking

        • Plasmoid 4 years ago

          Sort of. IIRC, (either the EU as a whole or just the UK) basically killed open banking. To even use the standard you were required to be an accredited broker even if the data was kept local to the user's device. Getting accredited cost a fortune and basically made it impossible for anyone but the Intuits of Europe to use it.

          • p_l 4 years ago

            I think most "normal" accounts in Poland have CSV report options, and some have standardised MT940.

            "Enterprise" accounts are pretty much dead in the water without some APIs for over a decade now, as far as I know - the big clients want their SAP and whatnot to directly integrate.

      • shellfishgene 4 years ago

        I think all German banks at least support getting transaction data via am API.

  • LoveMortuus 4 years ago

    I've heard many good things about Mint, but my problem with it is that it's US only... Or at least I from EU am unable to use it...

  • iimblack 4 years ago

    Mint had a data breach and got my bank account hacked which was the first strike. They’re also owned by intuit.

dang 4 years ago

Related:

GnuCash 4.7 - https://news.ycombinator.com/item?id=28666104 - Sept 2021 (11 comments)

Simple Personal Finance Tracking with GnuCash - https://news.ycombinator.com/item?id=23237445 - May 2020 (319 comments)

GnuCash: Open-source double-entry accounting software - https://news.ycombinator.com/item?id=20109545 - June 2019 (100 comments)

Using GnuCash as a Freelancer to Track Finances and Prepare Taxes - https://news.ycombinator.com/item?id=16857884 - April 2018 (184 comments)

nickjj 4 years ago

I once wrote about using GnuCash as a freelance solo developer at https://nickjanetakis.com/blog/using-gnucash-as-a-freelancer....

I started using it in 2017 and still use it today. It's still really solid and makes filing quarterly taxes not too painful. In my opinion it's one of the best tools out there if you like your privacy and don't want to link your bank accounts to a third party service.

  • nickjj 4 years ago

    I didn't include this in my original reply but today is May 1st.

    Since GnuCash involves manually entering in transactions it's easy to think that'll take a ton of time.

    I just timed myself and it took 5 minutes to input everything for April 2022 into GnuCash. This includes all income and expenses (personal and business). I'm not even using GnuCash's automated feature for recurring payments too, so that 5 minutes includes manually inputting various subscription costs (I don't have a lot). This also includes a bunch of business related things (estimated tax information, a few income streams in their own "GnuCash Accounts" and a few expense streams in their own "GnuCash Accounts"). I do this by opening GnuCash and my bank's dashboard side by side and then running through last month's entries.

    Most banks support exporting CSVs and I'm 100% certain I could write a Python script to parse this and auto-import things into GnuCash but since the bank item descriptions for the same transactions change over time I don't want to risk it. The 1 hour per year of manually entering numbers (I copy paste the dollar amounts to reduce human error btw) gives me more confidence than writing that script. I also know to make that script robust enough to consider using it for real in a way that wouldn't require manually checking it would be quite involved. As soon as the script's results require manually checking it for accuracy then you might as well have input things manually without the script.

    • ytjohn 4 years ago

      I don't do this much these days, but when I was doing full time freelance, I honestly only did most of my "accounting" a couple times a year. In the first years, I used Quickbooks and paid banks extra for their OFX service. Then I stopped paying for that and switched to Quicken. I could go to the bank and credit card sites, spend a bit of time downloading a CSV for each month, then I would copy/paste into Quicken. So very similiar process to yours, I just had the CSV files from the bank as opposed to the website statement. It was very quick, even doing 6-8 months worth at a time.

      Later, switched to beancount, it had a CSV importer and I tweaked some example script to do an "interactive" import. Each transaction would be presented and I could accept it as is, or modify it. If I saw a common issue, I could make a copy of the CSV and do a bulk replace, massage the data up front and quickly import.

      I'm not saying you need to switch to CSV since your system is working for you. I'm mainly just agreeing that manual entry from a monthly statement can be pretty quick. But for those that are lazy like me that don't responsible balance the books each month, manually grabbing the CSVs and importing many months of statements in an afternoon can still be pretty quick. I would keep the bank statement PDFS + the "official csv" around as a sort of backup. Someone wanting to try GnuCash or any accounting software can start by downloading their statements/csvs for the last year and start punching their transactions in to get a real feel for how working with it will be.

      • ytjohn 4 years ago

        As an update, I decided to try GnuCash out and enter the last months. It's really nice. The first month is going to take you the longest. But entering these really gets you thinking about where your money goes.

        For someone starting out, don't go crazy adding empty accounts. Start with a small set of account like the check register or "common accounts" that have a checkings, savings, and maybe a few expenses. Start transcribing from your main or most active checking account. As you enter, you'll see and "Imbalance-USD" account get created automatically in your "transfer" column. What I found useful is to do a few of these, then switch to the accounts tab and create an account for it. Expenses like "Household", and then you can create somethng below that like Utilities. You can put all your Internet and Electricity expenses under that, of if you desire, go ahead and make sub-accounts like "Expenses:Household:Utilities:Internet". Or drop the "utilities" category altogether and embrace a more flat sty "Expenses:Internet". You can later reorganize/rename these however you want.

        But once you get the first month in, you have most of your categories setup. If you start on a second month and get something new, you can let it in imbalance and come back to it a bit later. I love the autocompletion and easy account filtering/search/selection in-line.

        I don't know if I do enough nowadays to really need this, but if I did, it's definitely pretty easy to work with.

        • landmass 4 years ago

          I agree with the concept of starting small - I didn't. I have various accounts in various banks and now have 26 accounts that need to be balanced, all in order to have live "net worth" visibility. At first I enjoyed doing it to that level, but not anymore. I need to prune the accounts I enter using .csv and just keep track of current accounts, like checking accounts.

          That said, GnuCash is definitely worth the effort - GnuCash has continued while some "easier" financial programs have not. I thought about using it after MicroSoft abandoned MS Money with 10 years of my financial data. I looked at GnuCash but it looked too hard and I migrated to MyMoney instead, but after a few years it dropped support. I again looked at GnuCash but again chose not to face learning the "harder" GnuCash and migrated to MoneyDance; after a few years they changed its default to "Save on exit," rather than allowing me to exit to abandon mistakes and start over. This time I migrated to GnuCash in the hope that it will be longer-lived.

          I don't know that I need to have all my financial data for 25 years, but if I'd chosen GnuCash from the start I'd still have it. It turns out that the other systems were not easier, if you include having to re-learn so many financial systems and incompletely migrate existing data.

        • nickjj 4 years ago

          Yeah that's a good way to go about it. If you relate it back to programming, creating accounts are like abstractions. You wouldn't really start off with a bunch of perfectly named accounts until you get a feel for what you're working with.

          I started the same way and over time refined them. GnuCash lets you move previous transactions between accounts as needed.

  • abawany 4 years ago

    Same here. Compared to the extractive noise of the intuit alternative, GnuCash just works to log transactions and generate statements necessary to file taxes and etc.

johncs 4 years ago

For those of you who like the idea of GNUCash but are looking for an easier tool to use (for us developer folks), check out https://plaintextaccounting.com.

jen_h 4 years ago

I've used GnuCash for 13 years now, for personal finances and two companies, and love it to death. There's something really satisfying when you see everything balance!

The only issues I've had over all these years have been banks/credit cards that have weird idiosyncrasies in their file formats (lookin' at you, AmEx) that require you to remove the trailing white space (bad memory, I have a text file that reminds me what to do every time) or whatever and getting stock updates (gnc-fq-update) working again after upgrade.

It's also really accessible. While slow and a little annoying, I can do almost everything with a keyboard instead of the mouse (unlike so much online tax software, which is a carpal tunnel specialist's dream).

  • solarengineer 4 years ago

    “tailing white space” - I wonder if a trim () on that input field would help.

    • jen_h 4 years ago

      I found my caveats file! It was actually an errant newline at the end of each file. Gnucash should've known enough to strip it. And the other thing was a file that used `--` for deposits, so I have a note to 's/--//g' those files.

      I think that's the kind of thing that some of us see as a neat challenge to figure out and overcome; but for others, it becomes a barrier for entry. I still evangelize the heck out of Gnucash, though. It's so powerful...and not Intuit.

rushabh 4 years ago

If you are looking for a modern free desktop accounting platform check out FrappeBooks - https://github.com/frappe/books. Version 1.0 is round the corner.

  • staindk 4 years ago

    This looks very neat, thanks for the link.

    Seems more targeted towards small businesses/freelancers... wonder if that would make it less ideal for use in a personal finance context.

    FWIW I'm happily using a service called 22seven[1] that is backed by a big bank in my country (South Africa). It is super convenient and links to a bunch of different services so you can pull in all your investments etc. to track all at once (of course this means they track you too, but they were doing that before anyhow)... I just don't know for how many years it will stay updated, free, and available for use to people who bank at other banks (such as myself), so I'd like to at least plan for moving to a more open alternative when the time comes.

    [1] https://www.22seven.com/

  • atmosx 4 years ago

    Looks nice. Does this tool support multiple currencies?

viceroyalbean 4 years ago

Does anyone have a good workflow for recording personal finances with this type of tool? My problem is that recording every single transaction becomes tedious, so I end up not doing it and the ledger gets out of sync, making it even more tedious to catch back up in a vicious cycle. I'm considering not tracking individual payments and instead just the total monthly changes so I at least have an up-to-date net worth calculation

  • jldugger 4 years ago

    My workflow:

    1. Lots of scheduled transactions. Rent, cable bill, paychecks, car insurance premiums, quarterly estimated tax payments, etc. Any transaction you can expect and guess at can be a scheduled transaction. This really cuts down on the catch-up work.

    2. Transaction import. A lot of what's left after #1 is the random unpredictable expenses go on a credit card, and most of those support OFX or quicken format data downloads. As you import that data, it should be able to match up official records with what you had written down, and if different "update and record."

    3. Monthly reconciliation. At the end of the month, review all the statements you get with your records using the reconcile window. If I'm lazy, I can skip liabilities and investments for a month as long as my main checking account is correct and CC payments for next month reflect their most recent billing statements.

  • Vohlenzer 4 years ago

    I too got bored of having to go through every little transaction and categorising them according to my budget. I had already simplified my expenses budget down to three categories; essentials, luxuries and goals.

    My solution was to open a dedicated current account and or credit card for each category. This makes assigning a category to transactions simple because I know which budget category each account is designated to.

    This also helps with day-to-day budgeting because I have setup scheduled transactions to top-up my essentials and luxuries bank accounts with the correct amount of funds from my savings. A side effect is the stark reminder that using the credit cards eats away my goals budget because I've already spent my allocated funds for essentials or luxuries.

    One downside here is losing the credit card protection on some purchases. The work around is to transfer funds back to savings when making these purchases. Another is that it's difficult to adopt immediately because opening several accounts may affect credit rating or rouse suspicion from financial institutions.

  • kqr 4 years ago

    Do you really need full double-entry accounting for personal finances? This usually boils down to either

    - you need it for tax/legal/bureaucratic purposes, or

    - you are really short on money and you need to keep track of it down to the last cent.

    When either of those two conditions are true, double-entry is amazing.

    If the above are not true (and it sounds that way based on your comment) then I would do it statistically.

    Determine how much time you would like to spend recording transactions. Let's say it's 1/11 of the time it takes when you are doing a full accounting. (Eleven is good because it's prime, so it's less likely to accidentally line up with cyclic transactions.)

    Enter all expenses/incomes only every eleventh day. Nothing the other days. You have to be really strict about this!

    Instead of entering the actual number, though, multiply it by 11.

    Tadaa! After a while, you have practically the same result but at a fraction of the effort (roughly three times per month instead of 30.)

    Note that the number you get will have some sampling error. For bonus points, you can calculate the size of this. Depending on how large the variation of your expenses is and how often you enter them, it's not unreasonable to get a sampling error where three standard deviations are ±50 % -- are you okay with a rough estimation like that? If not, you have to sample more often.

    More technical note: what I've described is actually a stratified sampling scheme, only once you've sampled a day, you do a full accounting of the transactions within that day. Depending on the practical structure of your transactions, you might find that you can optimise your sampling scheme (lower sample error and/or less effort) by selecting more days, but only entering one transaction from each day.

    Read up on sampling! It's powerful!

    • viceroyalbean 4 years ago

      > Do you really need full double-entry accounting for personal finances?

      Probably not, which is why I'm not actually using it right now. My main use cases are keeping track of various types of assets and liabilities (bank accounts, stocks, apartment deposit, etc) to track my net worth as well as having a general idea of where my money goes, e.g how much I spend on groceries as opposed to eating out.

      The statistical sampling approach sounds very interesting, thanks for the tip!

    • jrumbut 4 years ago

      I would love to see an accounting system that was designed for this kind of uncertainty or incomplete data in general. For instance, allow me to say that there's about $5000 in the odd account with no API access or that I spend about half the cash I withdraw from the ATM on restaurants.

      In tools that I've tried, they've all been finely tuned to down-to-the-penny precision and capturing all data.

  • xupybd 4 years ago

    If you get out of sync just put in fake transactions to get it to balance and start again.

  • patrick451 4 years ago

    For several years, I tried keeping track of each expense, using both quicken and gnucash. I found the same thing as you: entering each transaction is too tedious. If I got real benefit from it, I'd have stuck with it, but honestly I never found the data actually useful. Currently, I've adopted your idea, and just track basically month-to-month net worth in a simple spreadsheet. Even that is more of a motivational tool than something that provides actionable data.

    This maybe different for everyone. Currently, I'm fortunate to be saving about 80% of income. But even a decade ago when I was much more in a paycheck-to-paycheck situation, I didn't know what to do with this per-transaction double entry data.

    I also think that the entire design of accounting software, where you assign a given expense to a specific category ("groceries", "fuel", "household", "vacation") is too limiting because they are artificially orthogonal. What if I have a "fuel" category and a "vacation" category, but I'm filling up on vacation? Same with groceries, but it's even worse because I needed to buy those anyway. It's really hard to use these categorized transactions to figure out if I need to cut back on vacations, or buy a more fuel efficient vehicle.

  • samatman 4 years ago

    I have a gnarly python script which converts all the CSVs I need into a ledger format file and classifies them into accounts by merchant.

    I do have to go fetch the CSVs myself, and if I want a purchase from e.g. Amazon to go into a category which isn't Expenses:Goods:Amazon I have to move it, but all in all it does the two things I need: puts my purchases into buckets and makes me look at my expenses on what should be a monthly basis but is closer to quarterly lately.

    This is with ledger-cli, rather than GnuCash, but same principle I think.

  • alfu 4 years ago

    I create most of my transactions with a script reading my bank and card statements. The description in the statements are usually good enough to map them to the correct account. I also added snippets to my editor for adding entries (I use a text-based accounting system).

yeetsfromhellL2 4 years ago

I'm surprised to see a GNU project that not only hosts their code on GitHub, but also has an official Facebook community. What gives?

plg 4 years ago

With two busy working (and shopping) adults, a teenager, and a little kid, online shopping, cash, cards, etc, I think I would need to hire a data entry clerk to use something like this.

  • yeetsfromhellL2 4 years ago

    I felt the same way trying to use ledger. Apparently there's a way to import your CC charges from online banking CSVs, but I never tried it out. I ended up giving myself a weekly allowance and plugging that into the books at the end of the week. Things got a lot easier when I was dealing with broad budget categories instead of logging transactions for a single cup of coffee.

    • seltzered_ 4 years ago

      I use beancount ( a plaintext accounting tool) and yeah, I feel it's a coherency challenge among developers who have different preferences around structure and workflow that makes it a challenge.

      The importers have historically erred towards being something the user writes on their own. But there's also some powerful helper tools for importing but they carry a different user experience than the other tool for financial reports & visualization.

      Im starting to think a unified experience (think vscode + built-in extensions) for it all might help align intentions and broaden the userbase of plaintext accounting.

    • spicybright 4 years ago

      Just because someone reading might find use of this, but if you use Bank of America you can export your transactions relatively easily.

      1. Login not on mobile (and also extend your browser winder size until the mobile mode is gone. Mobile mode changes how you login, because of course it does...)

      2. Click one your bank accounts.

      3. Click "Download", "Custom date range", from some time ago to today*.

      4. Download as Printable Text Format

      This will give you a simple CSV file of all your transactions.

      I'm horrible with money, but still try to export all my transactions and merge them onto one spreadsheet so I can plan out money stuff as needed.

      * You can only download up to 6 months at a time, but you can go pretty far back in your banking history.

  • massysett 4 years ago

    I have my own SQLite-centered setup with a Haskell UI to glue it together. I have (relatively) simple programs that parse incoming CSVs or OFX from the banks, so there is practically no data entry. (Not disagreeing with you though, as I have no idea how well GNUCash handles importing.)

  • Bluecobra 4 years ago

    Yeah, it’s a lot of work. I used to manually budget with Google Spreadsheets but eventually threw in the towel and gave into Mint. I still have to go in and manually change certain categories or add tags, but it’s way less work than what I was doing before.

  • commandlinefan 4 years ago

    I do essentially the same thing with a spreadsheet.

ericbarrett 4 years ago

The GnuCash documentation is high quality and an excellent introduction to double entry accounting, with lots of great examples for e.g. stock sales.

gotaquestion 4 years ago

GnuCash only imports ancient quicken formats. The new Quicken formats (since about 2015) are not importable. I'd love to, but I can't restart a 32-year quicken file, so they got me. Plus I think the UI for GnuCash isn't as smooth as quicken (w.r.t. categories and accounts, they all blend together in a weird way, IMHO).

  • SOLAR_FIELDS 4 years ago

    I was going to say that maybe getting off a product owned by Intuit would be enough motivation but apparently Quicken has not been owned by Intuit since 2016! I had the same reaction as I did when I discovered that RAM pickups are no longer owned by Dodge.

    • rascul 4 years ago

      > I discovered that RAM pickups are no longer owned by Dodge.

      That one got me awhile back. Ram was spun off in 2010, but they're both owned by Stellantis.

      https://en.wikipedia.org/wiki/Ram_Trucks

    • danachow 4 years ago

      Dodge hasn’t been an independent entity since 1928 and Dodge and RAM are still part of Stellantis (the thing that Chrysler morphed into). RAM truck VINs still to this day use the same Dodge manufacturing code and RAM trucks supply chain didn’t change, so this just seems like an internal rebranding. It’s not like Mazda or Volvo with Ford or something.

  • UncleEntity 4 years ago

    > I'd love to, but I can't restart a 32-year quicken file, so they got me.

    GnuCash is open source and this is hacker news

    They don’t have some sort of exportable file format that both quicken and gnucash can understand?

    Which, of course, doesn’t help with the UI issues.

    • gotaquestion 4 years ago

      You can export QXF and QMTF (and CSV) but the online QXF converters seem dubious... (not QFX, that's different). Although you have inspired me to spend some time examining the formats.

spicybright 4 years ago

Obligatory HN comment about the mobile site being bad:

It's almost impressive how bad it is on my phone.

The content takes up 2/3 of the page horizontally to make room for the logo on the side.

I get GNU and it's culture are less about mobile and more about *nixy desktops/laptops/servers, but it takes more effort to break things like this than letting the browser do it's natural thing most of the time.

  • massysett 4 years ago

    The website probably predates the mobile era and no one has bothered to rewrite it since.

    • spicybright 4 years ago

      Eh. It has viewport meta tags and the apple app icon markup.

      But you're probably still right, I'm sure at some point they just peppered those into all their pages to fix them at least a tiny bit.

neilv 4 years ago

GnuCash can be a lot of work, but I've found worthwhile ways to use it. YMMV.

I used GnuCash when I had a consulting business (including abusing the invoicing features for time-tracking), as well as for personal finances.

Over the years, I keep experimenting with different ways to use it.

At one point, I could even run a custom report to show how much I was saving by making coffee at home rather than picking up one each day.

Eventually I kept simplifying, especially in Expense accounts, eventually only distinguishing transaction categories by tax implications.

I also stopped recording each individual little cash transaction. Instead, I occasionally counted the cash in my wallet, and added an "Expenses:Misc." transaction to make it match what GnuCash thought (given ATM withdrawals the bank import showed).

I never did figure out a practical way to track Guideline.com 401(k) in GnuCash, and, the instant I could close the account, I rolled it over to Fidelity. Where tracking the prices and every dividend reinvestment of my ITOT and AGG was easy and almost fun.

I'm currently taking a break from GnuCash for 2022, seeing whether a fancy assets&liabilities spreadsheet in Libre Office would be better. (While still saving the monthly OFX/QFX exports from my financial accounts, while I can, in case I ever need them.)

Initially, the spreadsheet seemed to do what I want with less effort, but I'm finding that GnuCash might actually be less effort in practice for the level of up-to-date and historical charting that I have.

  • yawaramin 4 years ago

    I had a similar trajectory. For the past few years I've been using ledger-cli, which is a purely command-line tool for double-entry bookkeeping. It reads a plain text file containing structured transaction entries, and can output various formats, like ledgers, reports, etc. I'm liking the minimalism, it just needs a text editor to maintain the transaction journal.

    • atmosx 4 years ago

      How do you perform graph reporting and forecasting?

      • atgreen 4 years ago

        For visualizations, I do two things... (1) use little scripts to generate gnuplot input, (2) convert ledger files to beancount files, and use fava. Both have their place. For forecasting, ledger has some built-in capabilities, although I've never used them.

      • yawaramin 4 years ago

        Nothing sophisticated. I just post-date transactions in the journal and let the tool calculate and show me the running account balance. But it's very customizable in output format. As the other reply said, you can feed its output into any other suitable tools.

  • KeepFlying 4 years ago

    As a relatively new GnuCash user id love to hear how you made that coffee report. I'm struggling to customize reports right now so I'm really curious how you'd do something like that.

    Also for Fidelity I've been struggling to track all the dividend and various random automatic transactions that happen (incl. ESPP, Stock Awards, etc). How do you manage that so it feels easy? I'm sure I'm just missing the right way to import or something. Id love to learn

  • gombosg 4 years ago

    I used to use HomeBank (http://homebank.free.fr), now just a LibreOffice spreadsheet. I think for personal finances, it's perfectly fine to just record monthly total expenses as a bulk sum, for each account. Unless 'something's off' (i.e. my family has spent too little or too much) it's okay to not know all the expense items.

justsomehnguy 4 years ago

Recently I was asked about something to manage a basic income/outcome finances for a small bar.

The lack of a basic "cash in the register in the morning", i.e. a basic ability to input the transactions in the different times of day (despite the backend supports it) was an instant no go for the task.

I used GnuCash for a couple of years to track the finances of my family, but the inability to place the transactions by the time is a thing which drived me to totally abandon the thing.

  • KeepFlying 4 years ago

    Time is something I'm struggling with too, though for me it's more that a transaction may have multiple times associated with it but GnuCash only accepts a single one.

    For example if I transfer between two banks, the date of the transaction in bank A and bank B differ my a day or more. So now I'm stuck deciding which account is "incorrect". Which also makes importing a pain because it borks the matcher.

    • iggldiggl 4 years ago

      The workaround (or actually even the proper solution, as the money does need to be accounted for somewhere, doesn't it?) would be to have a "money in transit" account, wouldn't it? Though of course I guess it'd still be somewhat annoying having to manually split up transactions instead of things being handled automatically behind the scene with native support for that kind of thing.

    • zburatorul 4 years ago
2143 4 years ago

I'm aware of the benefits of double entry bookkeeping, and tried to use GNUCash for a while.

The fact that it doesn't have an official companion smartphone app (that I'm aware of) was the dealbreaker; I can go for weeks without touching my personal computer.

Ultimately I've resorted to Google Sheets with a lot of formulae and data validation; I can now see all my incomes and expenses, the summary of all my accounts, expenses across different categories etc. I've been on this for a while now and it's been great.

And Google Sheets sync to my smartphone as well. (I periodically manually backup all the important stuff separately, just in case Google blocks me).

Also I'm not a huge fan of the UI.

Still, I would've used GNUCash if I used my personal computer regularly.

petesergeant 4 years ago

I switched a while ago to MoneyDance which is a very similar paid app. It’s OK. I have a lot of Perl code sitting about for unfucking various bank transaction exports into OFX, and I wonder how people who aren’t programmers manage

fires10 4 years ago

I have tried GnuCash in the past. It was too complicated for my needs. All other budgeting software I thought was too complicated and complex for the average person. I use a spreadsheet to handle my budget. I keep it as a reminder that temporary solutions can become permanent. The file name is "planstemp". It was temporary more about ten years ago. I found using different banks depending on the purpose of the transaction the easiest way to keep track of expenses. I use one bank for regular monthly expenses and another for daily expenses. Regular expenses are predictable. If I was running a business, I keep that separate from personal.

yrro 4 years ago

I was an avoid GnuCash user until HSBC (my bank) stopped offering statement downloads in OFX format.

I took a glimpse into the chasm of madness of trying to OCR their PDF statements and decided... no.

sundarurfriend 4 years ago

Does anyone have experience with Skrooge [1], the KDE equivalent of this?

[1] https://apps.kde.org/skrooge/

  • cricalix 4 years ago

    I poked it, and decided I preferred kMyMoney. The latter has some quirks/bugs (some ledger entries lose the payee, but the relational data is still there - haven’t found a repro to report with), but is generally all I need to track something like 14 asset accounts in multiple currencies.

    • sundarurfriend 4 years ago

      Thanks for the reply.

      Do you mean that kMyMoney is simpler and easier to use? I didn't even know kMyMoney was a thing until now, I'll give it a try.

cja 4 years ago

UI text is painfully small and while keyboard-friendly it has too many annoyances

holtwick 4 years ago

Receipts - for macOS, local database, automated content recognition, document management. Convenient commercial alternative to GnuCash to track expenses and income. https://www.receipts-app.com/

Tijdreiziger 4 years ago

How does this compare against Beancount + Fava?

adictator 4 years ago

How does this compare with Actual that was open sourced just a couple of days or so ago?

I think it's easy to make anything better than the super buggy mint.com.

ngcc_hk 4 years ago

Sidetrack : Wonder can they do gnuCoin, openSourceCoin or even …

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection