GnuCash is personal and small-business financial-accounting software, freely licensed under the GNU GPL and available for GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows. Designed to be easy to use, yet powerful and flexible, GnuCash allows you to track bank accounts, stocks, income and expenses. As quick and intuitive to use as a chequebook register, it is based on professional accounting principles to ensure balanced books and accurate reports.
Because it sticks to double entry accounting, the standard accounting method, GnuCash is not as easy to use from the start as some programs, unless you already have some experience with double entry systems. As with the original paper based double entry system, it takes a little getting used to, but once you get the hang of it, this is the best way to work - that's why the professionals use it.
GnuCash can import accounts from other programs, converting to its internal system with minimal fuss. Then it supports all the features you would expect of a package suitable for small businesses as well as home use. Several types of report and graph are built in or you can customise your own, although this is not as simple as with some other programs. Multiple currencies, stock portfolios, invoicing and bill payments. It can also interface with the online banking systems used by many banks to reconcile statements and even initiate transfers in some cases.
This is not the easiest program to get started with, unless you already have some basic bookkeeping knowledge, but accounting was never meant to be fun, only effective, and GnuCash is certainly effective.