Edward, GnuCash is certainly capable of doing most of what you wish to do however there is not necessarily a do it out of the box capability for specific purposes. There are often different ways in which you can achieve the same functionality in GnuCash
Most of the points you raise are handled by the manner in which you setup the accounts heirarchy. Cash basis accounting: This predominantly gets down to the date at which you record a particular transaction. If you record it at the date you receive the money and the date you pay the moeny then your accounting is on a cash basis. Accrual account is based on recording events when you earn the money not when you are actually paid. Similarly with expenses where these are associated with earning income. Some aspects of the business features are essentially accrual in nature. Donors: This could be handled explicitly by Income sub-accounts for each major donor which relies on the receipt being allocated to the correct account at entry. An alternative would be to use the ability to filter transactions. This would require tagging each transaction in the Description or Memo fields with consistent searchable tags. You could then have a transaction report for an Income account for all transactions tagged with a donors name - here you have to be consistent with the tagging or you risk missing entries. Payments: If you set up expense subaccounts for the various categories which can be nested as deeply as you need. For the charitable aims again tagging in the Description or Memo fields will allow you to use filters on reports to select expenses which meet a particular aim if these cannot be handled by a subaccount structure. Funds: how you handle this will depend whether you have separate bank accounts associated with a particular class of funds. If this is the case then you use an asset:currentassets:bank subaccount for each bank account. If you only have a single bank account this becomes a little more difficult. It has been addressed a number of times in the archives, particularly the treatment of funds which are strictly restricted to a specific purpose. An account associated with a single bank account can for example have a number of subaccounts which each deal with specifically designated funds and all sum into the main account. Reconciling such structures is possibly more difficult but the GnuCash reconciliation process has the ability to include any sub-accounts in a reconciliation of the main parent account. GnuCash is fairly flexible. Your account heirarchy can be adjusted and edited as your needs change. The new file setup wizard has a number of preset account heirarchies but not really a setup for not for profits. The "Common Accounts" is possibly a good starting point to edit the heirarchy to your specific needs. You can add accounts as required and delete them if necessary (transactions already into an account being deleted can be assigned to another account either manually before deletion or during the deletion process. There is an extensive report system in addition to the standard balance sheet /income statement reports. These can be customised to your specific needs with selectable options re dates, accounts included etc. to view a reports options you have to display the report first and then Edit->Report options from the menu. The Tutorial and Concepts Guide https://www.gnucash.org/docs/v3/C/gnucash-guide/index.html is a good place to start with the help manual https://www.gnucash.org/docs/v3/C/gnucash-help/help.html for help more on the interface functionality. David Cousens ----- David Cousens -- Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.html _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.