Software:GnuCash

From HandWiki
Short description: Personal and small-business financial-accounting software
GnuCash
GnuCash logo.svg
Gnucash 2 screenshot.png
Original author(s)Robin Clark - X-Accountant,[1][2]
Gnumatic (Linas Veptas)[3][4]
Developer(s)GnuCash development team
Initial release1998[5]
Stable release5.3 (June 26, 2023; 7 months ago (2023-06-26)) [±]
Written inC, Scheme, C++[6]
TypeAccounting and personal finance
LicenseGPL-2.0-only or GPL-3.0-only[7]
Websitewww.gnucash.org

GnuCash is an accounting program that implements a double-entry bookkeeping system. It was initially aimed at developing capabilities similar to Intuit, Inc.'s Quicken application,[8] but also has features for small business accounting.[9] Recent development has been focused on adapting to modern desktop support-library requirements.

GnuCash is part of the GNU Project,[10][11] and runs on Linux, GNU, OpenBSD, FreeBSD, Solaris, macOS, and other Unix-like platforms.[12] A Microsoft Windows (2000 or newer) port was made available starting with the 2.2.0 series.[13]

GnuCash includes scripting support via scheme, mostly used for creating custom reports.[14]

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.[15] 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.[16]

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.[17] 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.[18] 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[19] prior to upgrading GnuCash. Exporting of the account tree must be done as a separate step.

Features

  • Double-entry bookkeeping[20]
  • Scheduled Transactions[20]
  • Mortgage and Loan Repayment Assistant
  • Small Business Accounting Features[9]
  • OFX, QIF Import,[20] CSV Import
  • HBCI Support[20]
  • Transaction-Import Matching Support
  • SQL Support
  • VAT/GST tracking and reporting
  • Multi-Currency Transaction Handling[20]
  • Stock/Mutual Fund Portfolios
  • Online Stock and Mutual Fund Quotes
  • Built-in and custom reports and charts
  • Budget
  • Bank and Credit Card reconciliation
  • Check printing

Small business accounting features

  • Invoicing and Credit Notes (Credit note functionality was added with version 2.6)[21]
  • 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.[22]
  • 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.[6] 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.[23]

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.[24]

In April 2011, the Minnesota State Bar Association made their GnuCash trust accounting guide freely available in PDF format.[25]

Download statistics

As of July 2018, SourceForge shows a count of over 6.3 million downloads of the stable releases starting from November 1999[26] Also, SourceForge shows that current downloads are running at ~7,000 per week.[27] 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[lower-alpha 1] with increasing year-over-year development activity.[lower-alpha 2][28] 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."[29]


Notes

  1. Defined as having at least 5 years of commit activity.
  2. Defined as having had a 25% increase in commits in the past 12 months compared to the previous 12 months.

References

  1. Clark, Rob D. (12 Apr 1998). "X-Accountant". http://www.gnucash.org/mirrors/www.cs.hmc.edu/~rclark/xacc/#Status. "12 Apr 98 - The xacc project has changed names and become the GnuCash project." 
  2. Roblimo (July 5, 2001). "GnuCash Developer Robert Merkel Responds". http://linux.slashdot.org/story/01/07/05/1456248/gnucash-developer-robert-merkel-responds. "GnuCash is based on the X-Accountant codebase, which was GPL'd when Robin Clark released it based way back in 1997" 
  3. "gnome story". http://primates.ximian.com/~miguel/gnome-history.html. "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." 
  4. Vepstas, Linas. "Home Page". http://linas.org/. "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." 
  5. 5.0 5.1 "Free Accounting Software - GnuCash". GnuCash. http://www.gnucash.org/oldnews.phtml. 
  6. 6.0 6.1 "Why don't you rewrite GnuCash in programming language xyz so that I can contribute easily?". Frequently asked questions. GnuCash website. http://wiki.gnucash.org/wiki/FAQ#Q:_Why_don.27t_you_rewrite_GnuCash_in_programming_language_xyz_so_that_I_can_contribute_easily.3F. "GnuCash is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp." 
  7. "LICENSE". https://github.com/Gnucash/gnucash/blob/maint/LICENSE. 
  8. "X-Accountant". gnucash.org. http://www.gnucash.org/mirrors/www.cs.hmc.edu/~rclark/xacc/. 
  9. 9.0 9.1 "1.1. What is GnuCash?". GnuCash Documentation. GnuCash. http://www.gnucash.org/docs/v2.0/C/gnucash-help/what-is-gnucash.html. 
  10. "Index of /gnu". GNU Project FTP Server. GNU Project. http://ftp.gnu.org/gnu/. 
  11. "GNU Readme". GNU Project FTP Server. GNU Project. http://ftp.gnu.org/gnu/=README. "Programs that are directly in this directory are actually GNU programs, developed under the auspices of GNU." 
  12. "Download GnuCash". GnuCash. http://www.gnucash.org/download.phtml. 
  13. "FAQ GnuCash". http://wiki.gnucash.org/wiki/FAQ#Q:_Is_there_a_version.2Fport_for_Windows.3F. 
  14. "Documentation | GnuCash" (in en). https://www.gnucash.org/docs.phtml. 
  15. "Gnucash Mobile" (in en-US). 2012-05-10. http://www.codinguser.com/2012/05/gnucash-mobile/. 
  16. "GnuCash - Apps on Google Play" (in en). https://play.google.com/store/apps/details?id=org.gnucash.android&hl=en&gl=US. 
  17. "GnuCash Mobile" (in en-US). https://apps.apple.com/us/app/gnucash-mobile/id1556325950. 
  18. "Gnucahs FAQ". 2020-04-25. https://wiki.gnucash.org/wiki/FAQ#Q:_Can_a_new_GnuCash_release_still_read_my_old_data_file.3F. 
  19. "Gnucash Manual:Transaction Exports". https://www.gnucash.org/docs/v3/C/gnucash-help/trans-export.html. 
  20. 20.0 20.1 20.2 20.3 20.4 Canterford, Conrad (2006-11-06). "Review: GnuCash 2.0". Linux.com. http://www.linux.com/articles/114189. 
  21. "GnuCash 2.6 release tour". GnuCash. http://gnucash.org/2.6-release-tour.phtml. 
  22. "Features/Advance Features". GnuCash. http://gnucash.org/features.phtml. "Using A/Receivable and A/Payable accounts you can even manage payrolls for your employees." 
  23. "What's new in GnuCash 1.6?". gnucash.org. http://www.gnucash.org/docs/v1.6/C/t7204.html. 
  24. "GnuCash for non profits". gnucash.org mail archive. 13 January 2010. https://lists.gnucash.org/pipermail/gnucash-devel/2010-January/027141.html. 
  25. "Keeping Client Trust Accounts with GnuCash". Minnesota State Bar Association. http://www.mnbar.org/docs/default-source/practicelaw/pm-200-keeping-client-trust-accounts-with-gnucash-2-2-4.pdf. 
  26. "Download Gnucash software for free at SourceForge.net". Sourceforge.net. https://sourceforge.net/projects/gnucash/files/stats/timeline?dates=1999-11-08+to+2018-06-30. 
  27. "Download Statistics: All Files". Sourceforge.net. https://sourceforge.net/projects/gnucash/files/stats/timeline?period=weekly. 
  28. "The GnuCash Open Source Project on Open Hub". openhub.net. http://www.openhub.net/p/gnucash. 
  29. "Project Summary: Factoids - Open Hub". openhub.net. https://www.openhub.net/p/gnucash/factoids#FactoidTeamSizeVeryLarge. 

Further reading

External links