GnuCash includes scripting support via scheme, mostly used for creating custom reports.[15]
History
Programming on GnuCash began in 1997, and its first stable release was in 1998. Small Business Accounting was added in 2001. A Mac installer became available in 2004. A Windows port was released in 2007.[5]
GnuCash for Android and GnuCash Mobile
GnuCash for Android was initially developed as part of a Google Summer of Code Project.[16] This was an expense-tracking companion app for GnuCash, as opposed to a stand-alone accounting package, and is now discontinued. Currently, there are more than 100,000 downloads on the Play Store.[17]
In 2022 a companion version dubbed GnuCash Mobile is also available on the App Store and Play Store and unlike previous iterations was released under the MIT License.[18] GnuCash Mobile is developed using Flutter. Beyond mentoring the original GnuCash for Android developer and providing some publicity there was no connection between Gnucash for Android and the GnuCash project, nor is there any for the current so-called GnuCash Mobile app.
Backwards compatibility issues
GnuCash maintains the ability to read older data files between major releases, as long as major releases are not skipped.[19] If a user wishes to access historical data saved in old GnuCash files, they must install intermediate versions of GnuCash. For example, upgrading from 2.2 to 4.1 may not be possible; the user should upgrade from 2.2.9 to 2.4.15, then to 2.6.21, then 3.11, then 4.1.
The other alternative is for users to export transactions files to a CSV format[20] prior to upgrading GnuCash. Exporting of the account tree must be done as a separate step.
Invoicing and Credit Notes (Credit note functionality was added with version 2.6)[22]
Accounts Receivable (A/R)
Accounts Payable (A/P) including bills due reminders
Employee expense voucher
Limited Payroll Management through the use of A/Receivable and A/Payable accounts.[23]
Depreciation
Mapping to income tax schedules and TXF export for import into tax prep software (US)
Setting up tax tables and applying sales tax on invoices
Technical design
GnuCash is written primarily in C, with a small fraction in Scheme.[7] One of the available features is pure fixed-point arithmetic to avoid rounding errors which would arise with floating-point arithmetic. This feature was introduced with version 1.6.[24]
Users
Users on the GnuCash mailing list have reported using it for the United States 501(c)(3) non-profit organizations successfully. However, the reports need to be exported and edited.[25]
As of July 2018, SourceForge shows a count of over 6.3 million downloads of the stable releases starting from November 1999[27] Also, SourceForge shows that current downloads are running at ~7,000 per week.[28] This does not include other software download sites as well as Linux distributions that provide download from their own repositories.
Project status
Open Hub's analysis based on commits up to May 2018 (noninclusive) concluded that the project has a mature, well-established code base[a] with increasing year-over-year development activity.[b][29] Moreover, "Over the past twelve months, 51 developers contributed new code to GnuCash. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Open Hub."[30]
^Defined as having at least 5 years of commit activity.
^Defined as having had a 25% increase in commits in the past 12 months compared to the previous 12 months.
References
^Clark, Rob D. (12 Apr 1998). "X-Accountant". www.gnucash.org. Archived from the original on 2015-09-24. Retrieved 2018-07-30. 12 Apr 98 - The xacc project has changed names and become the GnuCash project.
^Roblimo (July 5, 2001). "GnuCash Developer Robert Merkel Responds". linux.slashdot.org. GnuCash is based on the X-Accountant codebase, which was GPL'd when Robin Clark released it based way back in 1997
^"gnome story". Archived from the original on February 24, 2001. Retrieved July 11, 2013. Gnumatic was incorporated in the year 2000 to work on financial software. Led by Linas Veptas, Gnumatic produces GnuCash, the personal finance software for Unix.
^Vepstas, Linas. "Home Page". The GnuCash Personal Finance Manager[:] This is the biggest project I've ever worked on, and you can say I started it. I started by fixing a few bugs in a small piece of software called "X-Accountant", back in '96 or '97. Since then, I've put in thousands of hours of work into this software (yes, that's full time, overtime, evenings and weekends, for many years). Along the way, the name changed to "GnuCash", and it has had hundreds of volunteers adding features functions, documentation and translations, turning GnuCash into the leading personal finance management software on Linux today. It is now included in all major Linux distributions, and sees downloads in the tens-of-thousands whenever a new version is released.
^"Index of /gnu". GNU Project FTP Server. GNU Project. Retrieved 2010-05-14.
^"GNU Readme". GNU Project FTP Server. GNU Project. Retrieved 2010-05-14. Programs that are directly in this directory are actually GNU programs, developed under the auspices of GNU.
^"Features/Advance Features". GnuCash. Retrieved May 2, 2015. Using A/Receivable and A/Payable accounts you can even manage payrolls for your employees.