GnuCash is personal and small-business financial-accounting software. 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 checkbook register, it is based on professional accounting principles to ensure balanced books and accurate reports.

You can add your existing financial data from Quicken, MS Money or other programs that have the ability to export QIF or OFX files, as well as import/export accounts and transactions from/to CSV file format.

Setting up a new account

When it comes to creating an account, you can choose the currency, opt for trading accounts, insert details about your business, such as name of the company, address, contact person, phone number, and email address, as well as add information about counters, namely number and format for bills, customers, employees, jobs, orders, vendors and others.

There's support for different accounts that you can choose from, such as payable, receivable, asset, bank, cash, credit card, currency, equity, expense, income, liability, mutual fund or stock. Additionally, accounts can be edited or deleted.

Transaction operations and scheduling options

GnuCash gives you the freedom to cut, copy, paste, delete or duplicate transactions, and set the reconcile status of a transaction.

A smart feature included in the package enables you to set up scheduled transactions by entering the name, frequency, start and end date, and number of occurrences. Additionally, you may print several standard Quicken Checks or generate a custom check format.

Business features and other handy tools

You may register customers, vendors and employees by adding info about the company name, address, phone number and other personal details, as well as generate and track invoices and bills.

What's more, you can perform searches in order to find transactions or business related data, create a loan repayment scheduled transaction, record stock splits, track/modify the value of a currency, mutual fund and stocks with the aid of the Price Editor, and calculate compound interest.

Create reports

Last but not least, the application puts at your disposal a set of comprehensive reports and charts. You can build up general reports which include information about accounts, taxes and transactions, generate assets & liabilities reports, as well as other reports related to income and expense, and business data. The reports and graphs can be printed or exported to HTML file format.

Performance

GnuCash delivers a clean and well-organized layout of your business data but you should take into account that it eats up CPU and memory, so the performance of your system may be hampered.

The gnc_gui_*******_all statement in gnc_book_options_dialog_apply_cb causes the 'apply' and 'OK' buttons to be set to sensitive on the open Book Options dialog in some circumstances; this commit causes them to be reset to insensitive, as they should be.
Check printing: make logic easier to follow.
Fix adjust_sql_option_string test on Windows.
Don't try to compile test_adjust_sql_options on windows, it won't link.
Fix the CMake build by linking gnc-backend-dbi for test-backend-dbi.
Improved adjust_sql_options_string, added tests.
Improve quickfill performance on huge registers.
Mac Localization: Prefer the country to the ******** for fall-back locales, on the theory that in countries where multiple ********s are in use similar date and number formats will apply regardless of ********, and especially that the default currency will be the same regardless of ********. Also ensure that the specified ******** is in the list passed to gettext; the net effect of which is that the user will effectively get the requested localization behavior.
Update README to refer to wiki Submitting_Patches and regarding pull request policy.