Single user or multi-user?
If you are looking for a single-user desktop software, GnuCash recommended by @ConfusedStack is the best option (Full disclosure: I am the author of Gnucash 2.4 Small Business Accounting Beginner's Guide
by Packt Publishing). It even has an Android expense-tracking companion app.
However, if you need multi-user software, you can try FrontAccounting. It goes beyond accounting and has some ERP capabilities as well. It has the following modules: Sales, Purchases, Inventory, Manufacturing, Dimensions, Banking and General Ledger. It is suitable for small and medium companies for managing purchases, control stock, send offers, book orders and send invoices. Here is a review article and you can read several user reviews here. You can also try out an online demo here.