Using GnuCash as a Freelancer to Track Finances and Prepare Taxes
nickjanetakis.com
nickjanetakis.com
+ Free
+ Cross platform
+ You own/control your data
+ extremely flexible
+ true double entry (unlike mint etc)
+ great for an individual power user or keeping very simple corporate books
- a little longer to pull financial data as you need to download CSV files etc from each financial institution
- some reports can be a bit clunky/annoying to customize
- Not sure i would use this for a complicated business with lots of employees or huge volumes of transactions
https://github.com/caskroom/homebrew-cask/blob/dc825c8fe0cd3...
I just updated to 3.x (my screenshots were based on 2.x) and 3.x's UI is a pretty substantial improvement. Reports generate faster, fonts look better and the app itself doesn't look like it was made in 2003. This is coming from a Windows 10 perspective.
If you have the organizational skills and self-discipline to use a credit card the same way you'd use debit or cash, you're way better off using a credit card. If your debit card gets skimmed at a gas station, your bank account will be debited and you have a significant problem until it gets resolved. If your credit card gets skimmed, the issuer has a problem and you need merely to inform them and wait for a new card in the mail.
Plus, 2% cash back on all purchases is pretty nice.
With that said, the 2% is nice but it's not enough to make me reconsider. There probably is a number where I would give in, but since that's never going to happen, I don't bother thinking about it.
On the other hand, debit card theft is a real concern. I partly combat that by keeping the minimum in that account. Fortunately I haven't misplaced my card in the last ~20 years. I'm hoping my bank would resolve it. They did really well in a few cases where an online vendor didn't honor their own policies (they helped me recover the funds without it being a huge deal).
Is it feasible to do this all the time? No. But quite often it is.
You'll have that near equally as long as you do non-cash transactions unless you use your debit card from an equally privacy conscious institution (maybe a small town credit union? Until they got bought at least..).
Personally I've just accepted that my boring life is known to everyone and try and get the perks I can out of it; free trip once a year being about what I've managed to extract without much effort.
There sadly is no US version of the Fair Finance Guide yet, but in the countries where it does exist it is a pretty good guideline for finding banks that align with your moral interests:
The Dutch one is the first version, and as a result also the most elaborate:
When you're paying with cash - you're giving a little bit more profit to the retailer.
This is also an issue for the under privileged who do not have access to meaningful credit to get cash back.
Not sure if that might change the perspective.
That feels like "not solving the problem"
Actually it feels like the prisoners dilemma: if everyone chooses what's best for themselves the we're worse off overall...
What might be interesteing is a till discount at each retailer for not using a credit card.
I preferred to use debit for a long time too. As fraud increases, I'd rather the bank be hit with fraud on a CC instead of my bank account. It's not the best insurance, but banks are far more motivated to get their own money back quickly over their customers'.
Retailers often include their half of CC fees in the price you pay at the till, regardless of whether a cc is used. This is on top of any fees you may pay.
Since it's the retailer deciding to leave their CC fees in the retail price, I'm getting back my money on my purchase.
It's the retailer who's keeping the extra few percent on their prices, not visa, or you, when someone is paying cash.
The questions of ethics is interesting. While I appreciate the morality checks from strangers at any time, if the retailers are pocketing the extra %, instead of providing a cash/debit price, should disdain towards 'ill-gotten gains' be focused on each 'mildly unethical' retailer you are dealing with?
If your credit card info gets stolen, the thief had access to credit card company money, not yours, and you still have access to all your cash as long as you personally can refuse to pay for fradulent charges. It is the banking institutions money they have stolen access to, and the CC company has incentive to shut down the fraud ASAP.
It's not about the morality of supporting credit card companies or controlling spending impulses, it's about whose money the thieves have access to and wither or not you have the ability to pay rent 2 days after your card gets stolen.
Debit cards also have transaction limits and fraud detection designed to limit your exposure. It's not foolproof but it's a lot better than carrying large amounts of cash around in your pocket.
I went many years without a credit card out of moral principal but having to travel and rent cars finally made me break down and get one. It was so much less hassle to rent a car with one vs without one that I did it.
I hate credit cards.
Protections on your debit card are bank policy, protections on credit cards are federal law. So basically with a debit card your just hoping the bank is nice and will give your money back. With a credit card they have to give your money back.
> I went many years without a credit card out of moral principal but having to travel and rent cars finally made me break down and get one. It was so much less hassle to rent a car with one vs without one that I did it.
And what moral principle is that, that says credit cards are bad?
> I hate credit cards.
Good luck building credit without a credit card.
Debit card offers then started to offer protections, in order to compete with this.
If you like these features, remember: They are the result of law and regulation. They were not created by the "free market". Although the marketplace helped promulgate them, once they were in place on credit cards -- as a "minimum standard", as it were.
Debit cards don't have the backing of law so they are not as safe as credit cards. Doesn't matter what "protections" your debit card has they can be arbitrarily revoked by your bank.
You say this as sort of a throwaway comment, but this is actually a huge deal, and is why I only use my debit card for withdrawing cash at ATMs that I trust or at least pray aren't sketchy, and use credit cards or cash for everything else.
Having some arbitrary amount of money missing from my checking account for any amount of time (which can be several weeks if your bank is annoying) due to debit card fraud or even just an error during a legitimate charge is absolutely unacceptable to me.
The problem is everyone thinks they are above-average.
If credit cards were really a great deal, they wouldn't make any money.
I have just seen too many people (incl.family members) fall deep into CC debt I'm probably biased.
Being scared of credit card interest is actually correct. It's just that it's a manageable risk through having the proper budgeting and financial habits. Take the fear, use it to make sure you could operate on a cash basis instead of credit if you had to, and then pay off every credit card statement on or before the due date.
There is a very simple test for that... Do you pay your credit card bill completely pretty much every month?
This rate of cashback seems to be a very America-centric concept. You're unlikely to get above 0.5% with a Visa Credit card in the EU.
It's can be pretty great. Better still if you're getting reimbursed for expenses.
I also tried some GUI interface to Ledger that was supposed to be better in this respect, but couldn't get it to work.
My "entry" work is modifying some categories that it gets wrong.
I don't fully understand your situation, so I'm not expecting it necessarily solve your entry problems. I'm only raising awareness.
To use Ledger, I essentially use KMyMoney for entering transactions, and wrote a Python script to convert the XML into a file Ledger can read.
You may want to see if that's possible with GnuCash?
The learning/migration curve is hard. But eventually you get rewarded once all the data is in and can leverage web-based frontends like fava https://github.com/beancount/fava to visualize and filter things. Or just write your own script for a custom report.
Other notes:
- It took me about a year from committing to organize my finances this way to now having a regular import-review-commit workflow. Your situation may vary but it took me a while since I didn't organize finances at all before aside from earlier attempts of using mint. Beancounts documentation ( https://docs.google.com/document/d/1RaondTJCS_IUPBHFNdT8oqFK... ) is great but is dense and spread out a bit, thankfully their email list ( https://groups.google.com/forum/#!forum/beancount ) is pretty active and helpful.
- The ledger file will get big, but it's easier than having multiple files. Use syntax highlighting & more importantly code folding. And no you don't have to be an emacs/vim nerd to do this (i'm using sublime FWIW).
- There's migrators from mint/etc. but those aren't perfect because the data from mint isn't always perfect. I went through the exercise of categorizing many transactions from earlier years. It's a masochistic option but really wanted some historical data. Ultimately you'll find yourself refactoring/re-categorizing things over time, and because it's in a git repo you won't be afraid to be ruthless about this.
- Writing your own importers is part of the learning curve. You might find some odd ones on github but you ultimately want to write your own - the examples in beancount's source code are a good starting point. You don't have to do it for everything, just the ones that are too unwieldy for tracking manual transactions.
- I'm still wrapping my head around how to leverage beancount to function as a budgeting / forecasting tool. Several friends use YNAB (there's also financier.io) instead for those needs.
A spreadsheet is more of a general calculating device. I have rows and columns and I can do arbitrary calculations on rows, columns and various cells. A ledger is a tool for double entry accounting. You have transactions against accounts and you are trying to validate that the transactions are consistent. There are other kinds of reports you can do, but your main purpose is to ensure that there haven't been any errors.
I find double entry accounting weirdly soothing. "Fun" is not really the word to use, but it's a bit like fishing when you don't really expect to catch anything ;-). For most people double entry accounting for your home finances is overkill -- you probably don't care if you make mistakes because the consequences are pretty small. But it's kind of neat/cool/zen to do it anyway.
If you are running a company, or you have a large portfolio of stocks/bonds/etc, or if you are dependent on transactions in FOREX, then double entry accounting is usually a necessary tool. The downsides for screwing up can be massive (especially if you get your taxes wrong!) I have personal experience with the government handing me huge penalty fees for mistakes that my employer made with various things (stock options, etc). I never reconciled the books and so never noticed the errors. Perhaps that's why I find double entry accounting soothing now :-)
As a programmer, I find ledger/hledger/beancount to be the most convenient way to do things. My text editor is already an extension of my hands. I can use any version control I want. I can write my own reports using any language I want. I can write code to automate transactions and I can do it in any language I like. ledger and the like are really just file formats coupled with a validator and a few canned reports. Like I said, you could do it with a spreadsheet, but without the constraints of the file format/validation it will be pretty easy to make a mistake. Also it would be a pretty huge piece of code to write using spreadsheet macros (not that this ever stopped anyone before ;-) ).
Ultimately, I'm looking forward to making some custom reports where I force myself to learn the math behind finances, and try to add some visualization ideas I haven't seen yet.
Also, the other thing about doing plaintext over a spreadsheet is that I feel like I can be more liberal about adding comments for certain transactions - if anything it makes things feel a bit more personal than trying to cram in comments within a spreadsheet or an off-the-shelf app.
Budget scheme in YNAB is far different than any other financial tool (personal area) in my opinion. And it has helped me a lot to keep me stable financially.
The price ($60 for desktop app, which no longer available, and $7/month) would be big barrier for new comer, though. It is worth to subscribe :)
if you are willing to do some manual work (putting every transaction by yourself)
So it won't track your bank transactions automatically? If I have to enter transactions manually what's the point of the software? I could do this on paper..You could do it on paper. and carry it in your pocket all the way. There's no difference in terms of managing transactions. But you could be easily loose the track of your budget in my opinion. YNAB helps you to keep remind the budget. That is the key for me to keep using YNAB.
The bank account scrapping can take a few days for a transaction to clear, so you never know what your actual spending looks like for that day/week. And, like you said, it forces you to at least recognize spending.
I was a little disappointed in the annual fee increase recently but I can say with absolute certainty that YNAB has saved me waaaay more money than the cost of that fee.
Top features for me: 1. Operates like Virtual envelopes - shift your allocations around easily. Totally account agnostic keep your actual money wherever you want while still tracking it for a specific purpose.
2. Goals - Create goals for your categories- virtual envelopes that remind you how much you need to add monthly to get to your target level by the desired date. Great for specific savings projects.
3. Credit cards - I used to just spend on card and feel good that I would always pay my balances in full. Now I first allocate to specific categories and when I spend on a credit card, my allocated money from that category view to a virtual envelope for my credit card. I’m accounting for my current spending now rather than a month from now.
Great mobile app too for iOS.
Is there an organised effort on the part of the YNAB vendor to create a community of ambassadors or do some people just spontaneously love it so much that they can't help but share it with the world?
There’s a huge education component that YNAB offers of videos, podcasts, and live training sessions. A lot of that material is about how people can change their relationship to money.
For the people it works for, it can be truly life changing to go from living paycheck-to-paycheck to being able to accomplish things with money.
That’s why you see such rabid fans. They’re fans of the lifestyle, and they happen to use the software.
There are so many options over the years that either end up abandoned, (Microsoft money), or bought and abandoned or destroyed by Intuit.
Is it suitable for a small business in a European country, where (I presume) the accounting/IRS and tax system requirements are more stringent?
I'm interested in using it in Portugal but AFAIK small businesses and freelancers here use different, commercial local software.
I recently started using it so I actually have one unanswered question. Was going to connect to their IRC to find out.
The num column seems to be manual and I'm not sure if it's supposed to be a globally unique value or just a sequence for each transaction (verification) you make.
Sorry if I'm talking out of my ass but I don't know the correct business english to use in these circumstances.
I use a letter prefix for my transaction sequence numbers and GnuCash doesn't seem to understand it or put any value in it at all. This is definitely a weak point in my eyes and I'd love to have GnuCash support categories for transactions and strict sequence numbers.
It's a bit of a hack and I can't recommend anyone to actually use it. It probably contains a number of assumptions that only holds true for the SIE-files I've had to handle.
https://erq.se/sie/import_sie.py https://erq.se/sie/sie.py https://erq.se/sie/export_sie.py
GnuCash should do the accounting itself just fine, but in my experience accountants don't like to see reports that aren't exactly like they are used to, so you might lose a lot of time adapting its reports to the format they're expecting.
I don't keep a detailed track of every petty cash expenses (just input an adjustment for the "cash" asset account each month based on what is left in my wallet), but based on the monthly bank statements most of the expenses are already covered anyway.
Who just buys milk? I usually buy 10 to 40 things at the grocery store. This means I have to keep my receipt, enter each line item and figure out the per item sales tax. And if I forget once, it's all screwed up.
Do most people track each item or do you make one entry for the whole grocery run? What do you do if you fail to enter something? How about failing to enter two or more things during a time period? When and how do you reconcile?
But you do bring up a good point. When it comes to larger food / supply runs, I just put in the whole receipt as 1 entry. GnuCash has a "description" field for metadata. I usually just put in the store's name along with the receipt ID.
Correcting a failure / mistake is easy because GnuCash lets you create, edit or delete entries from any date. If you forgot to put something in from 3 months ago but caught it on your bank statement later, you just plop in a new transaction with 3 months ago's date and it'll auto-adjust everything.
I've never had it become a problem tho. I've made a few ninja edits over time and things line up.
When I go to the grocery store checkout, I put groceries on the belt first. Then everything else. This ensures the top N items in the receipt are groceries.
When I enter into GnuCash or whatever, I manually enter the non-grocery items (I often combine - so tissue boxes and detergents combined get just one entry in the category of "Supplies"). Once I've entered all non-grocery items, the "rest" is marked as groceries.
Another hack: If I don't buy anything other than groceries from a grocery store, I just don't keep the receipt. When I reconcile with my credit card, all entries where I don't have the receipt are groceries. I do the same with gas stations, etc.
Still a pain, though. I won't deny that.
For credit and debit cards, I hang onto the receipt and record it later. (I don't worry about being too detailed; all of my transactions at the local grocery store go into the "Groceries" expense account, even if I buy gas from their gas station.) I mostly use GC to track money moving into and out of my financial institution accounts.
[Edit] And I do the reconciliation with my monthly statement. There's frequently a credit card transaction where I didn't get a receipt or something, but I've never had too much trouble tracking things down.
If you fail to enter things, you'll have to pay tax on them. It's not the end of the world, but not something you want to do often either.
I have seen some products aimed at developers that will bucket various banks into APIs but not anything aimed at individuals. I have experimented with automating it with puppeteer, but surely there has to be a better way?
Maybe it's a matter of finding and using a modern set of financial insitutions with decent APIs. Does that even exist (in the US)?
I also use the referenced ofxclient which is analogous to Quicken's Direct Connect. BofA is inconsistent with applying fees for using Direct Connect.
If anyone can share, I am very interested!
And the aqbanking setup UI is completely separate from GNUCash, and really, really clunky. The good news is once it's set up, the normal import window UI is used. The bad news is there's no zero click process you can background. Some of that is because you may have conflicts between transactions you create automatically and the data source.
I've thought about creating an open source project with scrapers for the major banking institutions so you can export your transaction data into a common format.
Does anything like this exist?
I tried going down the route of dealing with OFX in GNUCash, and it's just a huge never-ending hassle. Tiller dumps the raw data from Yodlee (the backend that does the gnarly interfacing and cleaning for most PFM sites, besides Mint) into Google Sheets. From there you can use Apps Script or the Sheets API to push the data wherever you want. Sure, it's $5/mo, but well worth it for not ever dealing with bank websites or APIs or OFX formats again.
I'm using Plaid's API with a read-only user on my bank account to download the data locally and enter it into SQLite. Then when I want to run reporting on it, I generate a Ledger file. Having it in SQLite lets me run a web interface over it and change the category for each item (Amazon purchases, for instance, which are seemingly impossible to categorize automatically).
Its free for 25 accounts and connects to most banks [1]. The only bank I've found it doesn't work for is Barclays. I have most of my accounts (credit cardd and banks) hooked up to pull transaction data.
It returns JSON including category of spend. I don't know GNUCash, but you could format that any which way with a little scripting.
It's free (since I only have one use -- me), which is great.
I’ve been debating for a while what to do with the app next but didn’t think many people would be interested. Is this the the kind of thing you’re looking for?
The GUI needs some work but it is functional. Navigation to find things is not always easy for daily tasks. I have not looked at the recently released V3.0 yet.
I even looked into helping with the programming by adding a report that I wanted but the tools they used seemed very complicated to me.
Although it does not connect directly to your bank, you can download and bulk import transactions.
However, I continue to use the software.
The other aspect to this is that as the situation starts to become more complicated, doing it yourself stops making sense. Adding in children, a house, employees, etc, increases the chances of making a mistake and then having to go through an audit, which is expensive and time consuming. It's a better strategy to find tax accountant (local) and work with him to make sure the IRS has no need to investigate you.
Also GnuCash has heaps of documentation on dealing with employees / payroll. I think it would be pretty easy to pull off with a couple of employees. Not sure about beyond that, but honestly, it's a non-issue.
Worrying about that would be like worrying about how to operate at Google scale when you haven't even developed your product yet.
For the record I still goto an accountant every year. I just bring him the reports that GnuCash created. Unless you hire a personal bookkeeper you're always going to be responsible for totaling up your own income for taxes no matter what you use.
I disagree with this statement because this claims assumes you keep up to date on tax code changes. Getting married, buying a house, and having a child now add in deductions for mortgage interest, child tax credits, child care tax credits, a first time home buyer's loan, and potential changes to your bracket because of your spouse and how you file. Taxes for an individual with 2 kids, a house, and business are definitely more complicated than taxes for a single individual who lives in an apartment. At some point, you have to ask if this is worth your time as opposed to getting work done, especially seeing as how demonstrated in the past year, the government can radically change the tax code.
Those are all questions you would ask your accountant.
But from GnuCash's POV, it's just entering in more transactions per year into their various account buckets.
I use two systems:
1. Annual budget spreadsheet. A simple high level of what my planned income is and what my planned expenditures / investments are. If there's anything fundamentally wrong about my plans, it's caught here.
2. GNUCash for transaction history plus 90 days of forward looking planned transactions. If there's a projected account shortfall, I can rebalance accounts, and determine whether this is a temporary cash flow problem or if I need to adjust my annual budget.
This setup works fairly well for me, though a tax accountant will still be useful in navigating things like what is and isn't a deductible expense, what documentation is required, and how to adjust your future plans to become more tax efficient.
1) Take my desired savings and investments rate off the top with automatic paycheck deposits
2) Spend the rest freely
If I feel like I'm running out of money, I'd have to go back and evaluate my expenses to see where I could improve my spending.
I also do separate auto deposits to a separate account if I'm saving for a big purchase.
The only other categorizing I do is I have a special account for house related expenses.
Are you supposed to keep that globally unique or just for each verification you log? Because if it's only a local sequence for each verification you make then there's bound to be overlap between account views.
And if it's globally unique then I'd like GnuCash to automatically increment it.
Looking at this page on gnucash.org now (1), it's referred to as just "optional Num (such as a check number)". Hope that helps.
[1] http://gnucash.org/docs/v2.4/C/gnucash-guide/txns-registers1...
So, you can use it to match it against a bill, invoice, whatever is applicable to that entry.
Also, had a quick look in the account XML regarding Bill/Receipt ID. It get's stored as ID, even though the bill/receipt has a unique GUID to identify it. I would assume that means it need-not be unique.
"You can even get it to work well across devices if you use tools like Drop Box. I don’t do this, but I’ve heard of others doing this without issues. That’s because GnuCash creates a single database file that can be easily backed up and sync’d across devices."
This is actually one of the things I rely on. I haven't done it as much lately, but running unison (https://www.cis.upenn.edu/~bcpierce/unison/) with my VPS before and after I run GnuCash let me use the latter on whichever computer I had handy. There have occasionally been version conflicts, but unison's much worse about that than GnuCash.
One other feature that recently broke is updating the market value of the stocks I have. Yahoo Finance finally killed off the service and I haven't found a really suitable replacement.
I setup a new `.gnucash` file for each year, by making a copy of previous year's file, and emptying it of all records. I then review the accounts I've created in it, and remove anything that won't be necessary for the new year. Finally, I bring forward balances from assets and liabilities, and enter them as Opening Balances.
My accountant got me using Quickbooks years ago, and I he does my books from my QB file. This is such an easy way to work. I really love the idea of GnuCash, and I've tried it out a couple of times, but I really don't want to have to find another accountant just because of a software change.
Kmymoney uses aqbanking too, but didn't lead me to certificate errors. I hope Kmymoney is as good as Gnucash in generating graphs and reports. I just couldn't see Gnucash anymore and wanted to start from the beginning.
The European Payment Services Directive 2 (PSD2) is supposed to allow (authorised) third parties to get to our bank data (ie Apple or mint or some OSS friendly service) - it is of course woefully late being supported
But even that is only half the story - each time i take a paper receipt from a store I think "why can't you email that to me - or NFC it up to my phone which is in my hand, or encode the data in three or four QR codes on the receipt"
We are surrounded by data that is trapped and yearning to be free.
Advice there?
Disclaimer: I'm just a happy user, who reported some issues and pull-requests.
I find duplicating expenses accounts (national currency + USD for international shops) very tedious.
Doing your own books is one way to get burned out on being an entrepreneur. Please don’t do this to yourself. Outsource and delegate. Your mental health (and the compliance risk) aren’t worth it.
It should hook up to my bank account. It should take photos of my receipts, credit card statements and bank statements and automatically OCR them to add data. It should automatically calculate my taxes for a specific country, and file tax reports with local, state and federal government agencies online, and it should highlight things I might have missed to reduce my tax burden given my specific situation. It should compare my expenses with a typical person to highlight areas I might be able to make savings. It should have a mobile app which works even when offline and syncs later. It should have auto backups to the cloud or remote storage.
If I just wanted a way to add up my expenses by category, I would have used a spreadsheet.
Can't be 15 years behind the times when there is no better alternative.
Very much doubt it would be OSS even if it did.
Do TurboTax and Quickbooks sync so that I can quickly add taxable transactions?
The only thing you will complain about is the price if you are a small or one person company.
If I all of a sudden had a couple of employees, I may go back to QB Online. Then the $50 would not mean as much in the grand scheme of things.
I just want something that will do a better job at giving me a good look at my budget than mint but that doesn't require a serious time investment. I willing to pay with money instead of time.
I can see how you might want or expect a piece of software that handles everything, but in the GNU ecosystem, the traditional user-land pattern of use is to have many pieces of software, each of which does one thing, and to use them in turn as needed. This might place more cognitive burden on the user (vs. Windows), and also requires pieces of software you can start, use, and close quickly (again, vs. Windows, and GNUCash is a bit wanting in that regard...) but it also allows you more freedom and flexibility in doing your work.
So, instead of embiggening GNUCash, I would say that your desired actions would better be served by separate pieces of software:
- Bank hook-up: Something from your bank? This one is tough, as there is no widely-used open standard for manipulating your bank account over the internet, AFAIK, so you'd need bespoke software for your bank.
- OCR data ingest: Something like Ocrad with post-processing into a format GNUCash can use. Some lex/yacc wizard could probably do the latter part easily.
- Automatic tax calculation and burden reduction: A FOSS version of TurboTax? This is a good example of why the Unix philosophy is applicable, because my taxes in Canada are simple enough that I can handle them myself. I don't want a big tax-optimisation program tacked onto my bookkeeping software which I won't use.
- Expense comparison: I don't think closed-source accounting software does this, but GNUCash does allow you to make budgets. Collecting the budget for a "typical person" (of your country and lifestyle) is a little out of scope, and might be better served by a market research agency or something. Sadly, there will probably never be a GNU World Census.
- Mobile app and cloud storage: This one is a little tough. You want it to sync up between your mobile device and (presumably) desktop. You could host a Seafile or OwnCloud instance on your desktop, but I'm not sure if that would let you sync them up anywhere. iCloud-style storage would require server infrastructure, and that usually requires an organization running off profit or donations to host and maintain the infrastructure. IMHO, we don't really have a good answer for the issue of "who pays for the servers?" in FOSS. Anyway, we are getting beyond a software/GNUCash issue and into a hardware/infrastructure issue.
> there is no widely-used open standard for manipulating your bank account over the internet, AFAIK,
http://www.ofx.net/about-ofx.html
OFX is widely supported (but not universally). The UI leaves much to be desired.
> I don't want a big tax-optimisation program tacked onto my bookkeeping software which I won't use.
GNUCash generally does a good job of keeping things you don't use hidden or at least unobtrusive. Account reconciliation being one of them. IMO tax calculation is not a viable OSS tool, as it's country specific and changes rapidly. Ubuntu ships 18.04 at the end of April. Do you want to file using tax software from July 2017?
> Mobile app and cloud storage: This one is a little tough. You want it to sync up between your mobile device and (presumably) desktop.
GNUCash specifically has problems here. The code base assumes single user transactions and concurrent modification is unsupported. I use a psql database for cloud storage, but if I lose network connection I get a dialog about someone else using the books and have to discard the stale lock. This is problem whether using files or SQL, although SQL is at least a solid backend to some day support it, while filesync solutions would be pretty much a fail.
> IMHO, we don't really have a good answer for the issue of "who pays for the servers?" in FOSS
IMO, we do: the users. There's no reason you can't charge people for a username / password, although, when hosting financial data the liability could get painful.
And then, there's this: http://www.ofxhome.com/index.php/institution/validateOfx/462
Um, have you ever actually done this with accounting data? It becomes a tangled, shitty mess. The formulas used to calculate everything become larger and larger, and the data needs constant casting from text back to numbers.
> It should automatically calculate my taxes for a specific country
It should automatically manage your stock portfolio and give you 26% yearly returns, and it should give you daily backrubs as well.
> It should have auto backups to the cloud or remote storage.
It does! Google drive, Dropbox, Seafile, etc etc.
> It should have a mobile app which works even when offline and syncs later.
Agree, mobile app would be nice.
Unfortunately, GnuCash's lobbying and political action budget is significantly more limited than [Intuit]'s.
- Expense IQ (Android)
- Google Sheets
I'll take a look into this one, maybe I can replace GSheets with it, or get something extra from it.