3.3. Putting It All Together

Let’s go through the process of building a common personal finance chart of accounts using the information we have learned from this chapter. A chart of accounts is simply a new GnuCash file in which you group your accounts to track your finances. In building this chart of accounts, the first task is to divide the items you want to track into the basic account types of accounting. This is fairly simple, let’s go through an example.

3.3.1. Simple Example

Let us assume you have a checking and a savings account at a bank, and are employed and thus receive a paycheck. You have a credit card (Visa), and you pay monthly utilities in the form of rent, phone, and electricity. Naturally, you also need to buy groceries. For now, we will not worry about how much money you have in the bank, how much you owe on the credit card, etc. We want to simply build the framework for this chart of accounts.

Your assets would be the bank savings and checking account. Your liabilities are the credit card. Your Equity would be the starting values of your bank accounts and credit card (we do not have those amounts yet, but we know they exist). You have income in the form of a salary, and expenses in the form of groceries, rent, electricity, phone, and taxes (Federal, Social Security, Medicare) on your salary.

3.3.2. The Basic Top Level Accounts

Now, you must decide how you want to group these accounts. Most likely, you want your Assets grouped together, your Liabilities grouped together, your Equity grouped together, your Income grouped together, and your Expenses grouped together. This is the most common way of building a GnuCash chart of accounts, and it is highly recommended that you always begin this way.

Start with a clean GnuCash file by selecting FileNew File from the menu. The New Account Hierarchy Setup assistant will start. Press Cancel to close the assistant as we don’t want to use one of the predefined accounts structure; instead we will build a basic starting account structure from scratch. In the empty GnuCash window select ViewNew Accounts Page from the menu: the Accounts tab will open. Finally select ActionsNew Account....

Now you are ready to build this basic starting account structure

  1. Account name Assets (account type Asset, parent account New top level account)

    Creating an Assets account

    This image shows the dialog to create an assets account

  2. Account name Liabilities (account type Liability, parent account New top level account)

  3. Account name Equity (account type Equity, parent account New top level account)

  4. Account name Income (account type Income, parent account New top level account)

  5. Account name Expenses (account type Expenses, parent account New top level account)

When you have created the top-level accounts, the main Account page in GnuCash should look like below.

The Basic Top-level Accounts

This image shows the basic top-level accounts.

3.3.3. Making Sub-Accounts

You can now add to this basic top-level tree structure by inserting some real transaction-holding sub-accounts. Notice that the tax accounts are placed within a sub-account named Taxes. You can make sub-accounts within sub-accounts. This is typically done with a group of related accounts (such as tax accounts in this example).


Instead of selecting ActionsNew Account... from the menu, you can alternatively create a new sub-account of an account by right clicking on the main account’s name and selecting the New Account... entry. This will open a dialog similar to the one depicted in Section 3.3.2, “The Basic Top Level Accounts” where the new sub-account will be already set as a child of the main account.

  1. Account name Checking (account type Bank, parent account Assets)

  2. Account name Savings (account type Bank, parent account Assets)

  3. Account name Visa (account type Credit Card, parent account Liabilities)

  4. Account name Salary (account type Income, parent account Income)

  5. Account name Phone (account type Expense, parent account Expenses)

  6. Account name Electricity (account type Expense, parent account Expenses)

  7. Account name Rent (account type Expense, parent account Expenses)

  8. Account name Groceries (account type Expense, parent account Expenses)

  9. Account name Taxes (account type Expense, parent account Expenses)

  10. Account name Federal (account type Expense, parent account Expenses:Taxes)

  11. Account name Social Security (account type Expense, parent account Expenses:Taxes)

  12. Account name Medicare (account type Expense, parent account Expenses:Taxes)

  13. Account name Opening Balance (account type Equity, parent account Equity)

After you have created these additional sub-accounts, the end result should look like below

The Basic Chart of Accounts

This image shows a simple chart of accounts.

Save this chart of accounts with the name gcashdata_3, as well as gcashdata_3emptyAccts, as we will continue to use them in the later chapters.

You have now created a chart of accounts to track a simple household budget. With this basic framework in place, we can now begin to populate the accounts with transactions. The next chapter will cover this subject in greater detail.