Accounting Concepts

<< Click to Display Table of Contents >>

Navigation:  INTRODUCTION >

Accounting Concepts

This page is a brief introduction to accounting concepts. If you are absolutely new to bookkeeping, you may need more education on it than is available here, because no bookkeeping/accounting software program can teach you to be a bookkeeper all by itself! Software4Nonprofits always encourages you to consult a professional accountant if you have any questions that are about accounting, as opposed to about how to use the program.


Even if you are an experienced bookkeeper, please be sure to read the section Funds and Fund Accounting below to understand how ACCOUNTS "thinks" about funds.


Classes of Accounts


In accounting, there are five standard types or classes of account, in which you record balances and transactions:


Assets are what you (or your organization!) own, or what is owed to you. They include bank accounts, petty cash, real property like buildings, investments, and debts owed to you.

Liabilities are what you owe. They include bank loans, mortgages, and accounts payable (bills that have come in for you to pay, that you have not paid yet). Also if you have payroll, any government-mandated deductions that you have made from employee paychecks, but not yet submitted to the government, would be liabilities.

Equities or Funds are the "net" of what you own, which is why they are alternatively called Net Assets. The total of your equity account balances is always equal to the total of your assets, minus the total of your liabilities.

Income or Revenue accounts record the different categories of income that your organization receives, such as donations, grants, etc.

Expense accounts record the different categories of expenditures that your organization makes, such as salaries, rent, office expenses, etc.


One of the first things you need to do in the ACCOUNTS program is set up your list of accounts, commonly called the "chart of accounts". After optionally choosing a set of startup accounts during the setup of the program, usually either a standard sample charts of accounts, or an import from another program, you will want to edit the list further. You do that with the Maintenance Chart of Accounts menu option. You normally need one account for each distinct asset or liability (or type of asset or liability, in some cases) that your organization has, one for each fund (General Fund, Building Fund, etc.) and one for each type or category of income and expense that you have.


Each account has an account number, which is useful for keeping them organized. By accounting convention (or Generally Accepted Accounting Principles - GAAP), there are fixed ranges of numbers for each class of account. ACCOUNTS allows you to choose during the initial startup that your account numbers will be either four or five digits long (they must be consistent!). The ranges of numbers you can use are:


Class of Account

Range if 4 Digits

Range if 5 Digits


1000 to 1999

10000 to 19999


2000 to 2999

20000 to 29999

Equities / Funds

3000 to 3999

30000 to 39999

Income / Revenue

4000 to 4999

40000 to 49999


5000 to 5999

50000 to 59999


Different non-profit organizations and charities seem to use different terminology for the various classes of accounts, and some other things like common report names. ACCOUNTS allows you to select your desired terminology with the Maintenance Entity and Report Names menu option.


Grouping and Hierarchy of Accounts


Accounts within one class are grouped into sub-sections, which the program calls Types of account. For instance, Asset accounts are classified as Bank, Cash, Accounts Receivable, Other Current Asset, Fixed Asset or Other Asset.


Accounts can also be grouped into "parent" accounts and sub-accounts. For instance, within your Income accounts you might have a parent account for Donations, and sub-accounts for Cash Donations (including cheques) and Credit Card Donations.


Note: When you do set up parent accounts and sub-accounts, you can only post (i.e. enter) transactions using accounts that have no sub-accounts under them. If you are used to an accounting system like QuickBooks that allow you to post transactions both to a parent account and to its sub-accounts, and displays transactions for the parent account on reports with a heading such as "Other Parent Account Name", there is a solution. Just add another sub-account, called "Other Parent Account Name", or whatever you want to call it, and then you can post the transactions that belong to the parent account, but not to any of its existing sub-accounts, to that additional sub-account.


Three levels of accounts are available in the program - top level, sub-account and sub-sub-account.


Funds and Fund Accounting


Many non-profits maintain multiple funds, each representing a specific purpose or source of their income. There is always a General Fund, which represents all money that is not associated with a more specific fund. (Of course, you may choose to call that something else.) Other types of funds might be a Building Fund, with money being saved up (and spent) to buy or improve a building, or a fund associated with a specific large bequest or grant to the organization, that is restricted to being used for a specific purpose.


Generally you would only consider something to be a fund if you need to track income and expenses related to it, report on its net income (income minus expenses) and also want to track a running balance in the fund. If it doesn't have a running balance that you care about, often one that continues from one year to the next, it may not be worth considering it to be a fund.


Example: People are donating money to fund the upkeep of your organization's library, and you have decided that only money donated in that way can be spent on the library. You would have a Library Fund account that holds the balance, a Library Donations income account to track the donations, and a Library Expenses account (or perhaps multiple such accounts for different parts of its expenses) to track the expenses.


When you have multiple funds, it is crucial that your bookkeeping software allows you to carefully track all income to and expenses from each fund, and the balance in each fund at any time.


The ACCOUNTS program makes this very simple. What the program calls "fund" accounts are actually equity accounts in conventional wording. (And the only equity accounts in the program are funds!). The balance in a fund account is the fund balance. Each income or expense account that you have must be associated with one fund account, either the General Fund (which is the default, when you create new income and expense accounts) or another fund that you specify. You associate income and expense accounts with a fund in the editing window for that income or expense account, accessed from the Chart of Accounts window. You can also view and edit those associations in the Maintenance Funds for Accounts menu option's window.


All income and expense transactions involving an account that is associated with a specific fund implicitly and automatically change the balance in that fund. So unlike with most methods of handling funds in general-purpose programs like QuickBooks, Quicken or Simply Accounting / Sage 50, there are no special entries needed to maintain your correct fund balances, like assigning classes, tags or projects to each transaction line. There are also no periodic transactions needed to maintain the fund balances, as with most methods commonly used in those other programs. Some organizations using general-purpose accounting programs even resort to using a separate spreadsheet to maintain the fund balances, because it is so difficult in their program!


For-profit companies, or non-profits using programs that do not handle funds this automatically, often have one or more additional equity accounts named something "Retained Earnings", and either "Current Earnings" or "Net Income". Retained Earnings usually represents the total net income (income minus expenses) over all years of the business, sometimes including the current year's net income. Current Earnings generally represents your net income for the current period (usually a fiscal year). The accounts sometimes have to be manually maintained via journal entries. None of that is required in the ACCOUNTS program - it takes care of that automatically in the Fund account balances, without needing such accounts.


In ACCOUNTS, your total retained earnings (including the current year) show up as the total of all of your Fund account balances. The current earnings or net income show up at the bottom of Reports Summary Income Statement. If you have multiple funds, you can see those same figures broken out by fund in Reports Fund Income Statement. (That latter report also includes the starting fund balance in each fund for the reporting period, the changes in that fund balance, and the ending fund balance.)


Particularly in the U.S.A., it is common to group your funds into Unrestricted, Temporarily Restricted and Restricted Funds. Those could be set up in ACCOUNTS as top-level fund accounts, with the specific funds being sub-accounts under them. (So for instance, "General Fund" would become a sub-account of the parent account "Unrestricted Funds".)


The program's original General Fund account can be modified in some ways, including changing its name or number, or as mentioned above making it a sub-account of another fund account. However, it cannot be deleted, and cannot have sub-accounts. It can always be identified in the Chart of Accounts window, because when you hover over its Number or Name fields, a message pops up saying it is the original General Fund account.


Each fund account that does not have sub-accounts must generally have at least one income account and at least one expense account associated with it. (We also call this being "linked" to a fund account.) Transactions involving those linked accounts would be the normal ways that the fund balance gets increased (via transactions on linked income accounts), and decreased (via transactions on linked expense accounts).


Without those linked income and expense accounts, there would be no normal way (other than inter-fund transfers) for the fund balance to change, which does not normally make sense. If you exit the Chart of Accounts window with any such fund not having at least one income account and at least one expense account associated with it, you will be given a message about that, and an option to fix it. If you are finding it difficult to figure out what is missing, you may want to use the Reports Listing Revenue and Expense Accounts by Fund menu option to see a report of which accounts are associated with which funds, and which funds have no revenue accounts or no expense accounts (or neither) associated with them.


As mentioned above, you cannot enter transactions against Income and Expense accounts that have sub-accounts. However, parent accounts that do have sub-accounts also have to be associated with a fund, but it actually doesn't matter what fund you associate them with - any numbers displaying in those accounts in any report are just totals from their sub-accounts.


It is important to understand where the balances displayed for fund/equity accounts in reports such as the Balance Sheet come from. They are composed of two parts, added together:


The total of any transactions directly affecting that fund, for example inter-fund transfers, for all dates up to the date the balance is being displayed for, plus

The total of any transactions on income and expense accounts that belong to (are associated with) that fund, for all dates up to the date the balance is being displayed for.


The transactions that make up the total referred to in the 2nd bullet point above will not show up in that fund's register window, though what we call the "implicit balance" that includes them is displayed at the bottom right of the window. The "implicit balance" is what this program calls the balance in a fund, including the transactions on income and expense accounts belonging to that fund. It is in some ways similar to the implicitly calculated "Net Income" or "Current Earnings" account balance in traditional accounting programs.


For accountants and trained bookkeepers only: One way to understand this is that the difference between the explicit balance in a fund account (which is made up of any Opening Balance plus or minus any inter-fund transfers), and the implicit balance, is the same as the total of all years' Net Income that relates to that fund. So the difference at any given date between the sum of the explicit balances of all funds and the sum of the implicit balances of all funds is equal to the total of all years' Net Income, up to that date.


It is almost never correct to have a transaction directly affect a fund balance, except in two cases. The first is when you are entering your Opening Balances transaction, and the second is if you are making a transfer between funds. (For example move $1,000 from the General Fund to the Building Fund.) Because of this, most places in the program do not even show Fund accounts as accounts you can do transactions directly on. The only exceptions are register windows and Journal Entries, and even then, register windows don't allow you to mix fund and non-fund accounts in one transaction, and you will receive a warning if you try to mix fund and non-fund accounts in a journal entry transaction.


If you are having any difficulty understanding this, there is a good detailed series of articles on Fund Accounting written by an accountant staff member from Icon Systems, the authors of the online fund accounting program IconCMO. (That is more expensive, and more comprehensive, than ACCOUNTS, but fairly similar in its fund accounting design.) You can see the four parts of that article starting here. (The other three parts of it are linked to near the top of the article.) Where their articles refer to their product's contributions module, that would be the equivalent of the Software4Nonprofits DONATION program. Their accounting module would be the equivalent of this ACCOUNTS program.


Asset and Liability accounts, including bank accounts, are not associated with specific fund accounts. While some organizations choose to keep the money related to each fund in a different bank account, there is no requirement to do that when you use ACCOUNTS. The automatic maintenance of the fund balances that ACCOUNTS does for you means that you can always know how much money is in each fund, without having to separate it out into different bank accounts.


Another thing that some users are used to doing with general-purpose bookkeeping programs when they have funds is to create sub-accounts of the Bank accounts, to track the portion of the balance in that bank account that belongs to that fund. Do not do that in ACCOUNTS! It is not required, because the fund balances are maintained for you automatically without needing to do that. In addition, doing that would prevent you from being able to properly reconcile that Bank account, because only accounts with no sub-accounts can be reconciled!


We actually fairly strongly recommend not having separate bank accounts associated with each fund. It just complicates your banking, can cause cash flow problems,

is error-prone (if you make transactions using the wrong bank account for the wrong fund) and there are far too many ways that the fund balance can end up different from the bank balance. Since the only good reason for associating different bank accounts with different funds that we are aware of is if you do not have a true fund accounting program like ACCOUNTS that tracks the fund balances properly and automatically for you, you will be able to simplify your banking by not doing that.


For some discussion of potentially complex issues in maintaining a fund and its balance, see the Help topic Mortgage Samples and Building Fund. The examples there could also apply to other sorts of funds!




The bulk of what you do in an accounting system is enter transactions, such as bank deposits, cheques or other payments, etc.


In ACCOUNTS, there are several ways to do this.


One way is with the special purpose data entry windows: Write Cheques, Enter Deposits, Credit Card Charges, Enter Bills and Pay Bills.


A more general way is to use a register window for the main asset or liability account involved to make the entry. Register windows are much like your paper chequebook register, with a space for the date, a cheque number, a description, the other account (generally income or expense) and the amount. Transactions in a register window can also be split into multiple other accounts.


Very occasionally you will use a register window on a fund account, for instance to enter an inter-fund transfer that does not involve bank accounts, just changing fund balances.


Some users will prefer to mostly use special purpose data entry windows for their initial data entry; others will prefer to use the register windows most of the time. You can only use the Write Cheques, Enter Deposits and Credit Card Charges windows to enter new transactions - to review, edit or delete transactions you have previously entered with those windows, you need to use the register window.


The other way to enter transactions is as journal entries, with the Actions Journal Entries window. Most users will only enter journal entries at the direction of their accountant, or have their accountant make the journal entries themselves. This should very seldom be needed!


One specialized type of journal entry that almost every organization will want to make as they start using ACCOUNTS is an Opening Balances transaction, done with the Actions ⇒ Opening Balances menu option. It shows the balances in your accounts just before you are going to start using ACCOUNTS, so it is usually done as at a year-end date.


Every transaction must affect two or more accounts, such as a bank account and an income or expense account. The details of each account that a transaction affects are also known as the "splits" for that account. When there is a main account in a transaction, like the bank account used in a register window, or the Write Cheques or Enter Deposits window, the other account or accounts in the transaction are also known as the "counter" account(s).


Debits and Credits


Each part, or split, of a transaction either increases or decreases the balance in the account it affects. Increasing an asset balance means having more money in that asset (for example that bank account). Increasing a liability balance means having a larger debt, for example when you take out a loan, you increase (or establish) the balance in that liability account. Increasing a fund / equity account means that your net assets in that fund are greater. Increasing an income or expense account means having a larger total of income or expenses in that account.


Accounting technically uses the words "debit" and "credit" for increases and decreases in accounts, but depending on the class of account, a debit can be an increase or a decrease, and the same with credits. The following table explains whether a debit or credit increases or decreases each class of account:











Equity / Fund



Income / Revenue







Fortunately in ACCOUNTS you seldom need to know about debits and credits, and when each is an increase or a decrease in a given account. The register windows have specific labels for the places you enter increases or decreases, such as "Payment" and "Deposit" for bank accounts etc., rather than using the words "Debit" and "Credit". Similarly, the special purpose data entry windows like Write Cheques etc. are all only for one type of transaction, so there is no need to consider whether they are debits or credits.


The only time you have to know about debits and credits is if you have to enter journal entries, or when you are entering your Opening Balances (which is a form of journal entry). The journal entry and opening balances windows display a handy up or down arrow at the end of each split row, so that after entering an amount in the Debit or Credit column, you can see whether it increased or decreased the balance of the account listed on that row. That can be used to double-check whether you have entered the journal entry correctly, or have reversed the debits and credits!


Cash Basis versus Accrual Basis Accounting


Cash basis accounting is when an income or expense is recognized in your accounting (and entered into your accounting system) on the date that cash actually "changes hands". For instance, if you receive a phone bill on June 1, and pay it by writing a cheque on (and dated) June 15, with cash basis accounting you would just enter that into the program as a cheque on June 15.


With accrual basis accounting, an income or expense is recognized in your accounting (and entered into your accounting system) on the date that the income is "earned" or the expense is "incurred". In the example above, the phone bill expense was incurred on June 1, the date the bill was received. So you would need to make two entries into your accounting system, one (using Enter Bills) dated June 1 to indicate a debt to the phone company, and one (using Pay Bills) on June 15 to indicate that you have paid off that debt.


If you are not sure which basis of accounting your organization is using, or should be using, please consult your accountant.


Other than your choice of what transactions to enter and when, there is no special action you have to take in ACCOUNTS to tell it whether you are using the cash or accrual basis of accounting.

This topic was last edited on Sep 9, 2022