# The Basics

This chapter will introduce some of the basics of using GnuCash. It is recommended that you read through this chapter, before starting to do any real work with GnuCash. The chapters which follow this will begin to show you hands on examples.

## Accounting Concepts

GnuCash is easy enough to use that you do not have to have a complete understanding of accounting principles to find it useful. However, you will find that some basic accounting knowledge will prove to be invaluable as GnuCash was designed using these principles as a template. It is highly recommended that you understand this section of the guide before proceeding.

### The 5 Basic Accounts

Basic accounting rules group all finance related things into 5 fundamental types of accounts. That is, everything that accounting deals with can be placed into one of these 5 accounts:

- Assets - things you own.

- Liabilities - things you owe.

- Equity - overall net worth.

- Income - increases the value of your accounts.

- Expenses - decreases the value of your accounts.

It is clear that it is possible to categorize your financial world into these 5 groups. For example, the cash in your bank account is an asset, your mortgage is a liability, your paycheck is income, and the cost of dinner last night is an expense.

### The Accounting Equation

With the 5 basic accounts defined, what is the relationship between them? How does one type of account affect the others? Firstly, equity is defined by assets and liability. That is, your net worth is calculated by subtracting your liabilities from your assets:

Assets - Liabilities = Equity

Furthermore, you can increase your equity through income, and decrease equity through expenses. This makes sense of course, when you receive a paycheck you become "richer" and when you pay for dinner you become "poorer". This is expressed mathematically in what is known as the Accounting Equation:

Assets - Liabilities = Equity + (Income - Expenses)

This equation must always be balanced, a condition that can only be satisfied if you enter values to multiple accounts. For example: if you receive money in the form of income you must see an equal increase in your assets. As another example, you could have an increase in assets if you have a parallel increase in liabilities.

The basic accounts relationships

A graphical view of the relationship between the 5 basic accounts. Net worth (equity) increases through income and decreases through expenses. The arrows represent the movement of value.

### Double Entry

The accounting equation is the very heart of a double entry accounting system. For every change in value of one account in the Accounting Equation, there must be a balancing change in another. This concept is known as the Principle of Balance, and is of fundamental importance for understanding GnuCash and other double entry accounting systems. When you work with GnuCash, you will always be concerned with at least 2 accounts, to keep the Accounting Equation balanced.

Double entry accounting serves two purposes. The first is to create an accounting trail, money always has to come from somewhere and go to somewhere. Additionally, double entry accounting historically served to double check the math of an accountant. Because the numbers are entered into multiple accounts simultaneously, there are multiple places to check to make sure the totals match. Of course, with the advent of computers, the chances of a mathematical problem are low, but it is good to know that the concept still exists!

Double entry accounting has been around since the late 15th century, when it was described by an Italian friar, Luca Pacioli. Traditional double entry accounting involves recording each transaction in a book called a ledger, then copying each part of the transaction to separate books called journals. This method is still used in businesses today as a way to avoid entry errors and to track the source of those errors. GnuCash simplifies this traditional accounting by copying part of each transaction for you, so it may not catch some of the entry errors that would show up in traditional accounting. But it will flag transactions that are not balanced, and it will let you know when an account name is missing.

Calling this double-entry bookkeeping is a bit misleading; it would be somewhat more accurate to call it multiple- entry bookkeeping, since a transaction can affect more than two accounts. Unfortunately, there's 700 years of history of use of the term, which sufficiently discourages changing it.

## Data Entry Concepts

When entering data in GnuCash, you should be aware of the 3 levels of organization in which GnuCash divides your data: files, accounts and transactions. These levels are presented in their order of complexity, one file contains many accounts and one account contains many transactions. This division is fundamental to understanding how to use GnuCash.

### Files, Accounts and Transactions

GnuCash uses files for storing information. GnuCash provides three types of files: data files, backup files, and log files. The main file that you will use to store your data is a data file. You will probably have only one data file that you use for your home data, but GnuCash will automatically save a backup copy for you each time you save that data file. GnuCash also provides log files which can be used to help reconstruct data. Backup and log files are described later in this chapter.

An account is a place for keeping track of what you own, owe, spend or receive. Although you only have one main data file, that file will contain many accounts. You probably already think of money you own or owe as being in an account. For example, at some point you opened checking and savings accounts at a particular bank, and that bank sends you monthly statements showing how much money you own in these accounts. Credit card accounts also send you statements showing what you owe to a credit card company, and the mortgage company may send you periodic statements showing how much you still owe on your loan.

In GnuCash, accounts are also used to categorize money you receive or spend, even though these are not physical accounts that receive statements. As we will cover more in , income type accounts are used to categorize money received (like a paycheck), and expense type accounts are used to categorize money spent (for pizza, to pay a bill, etc.) These accounts function much like categories in some other financial programs, with a few advantages discussed in .

A transaction represents the movement of money from one account to another account. Whenever you spend or receive money, or transfer money between accounts, that is a transaction. In GnuCash, as we will see in the next section, transactions always involve at least two accounts. Examples of transactions are: paying a bill, transferring money from savings to checking, buying a pizza, withdrawing money, and depositing a paycheck. goes more in depth on how to enter transactions in GnuCash.

### Double Entry

You've probably heard the saying, Money doesn't grow on trees. It means that money must come from somewhere - it doesn't just appear. Double entry accounting is a method of record-keeping that lets you track just where your money comes from and where it goes. Using double entry means that money is never gained nor lost - an equal amount is always transferred from one place to another. When you withdraw cash, you are transferring money from your bank account to your wallet. When you write a check to the grocery store, you are transferring money from your checking account to the grocery store. And when you deposit a paycheck, you are transferring money from your source of income to your bank account.

In GnuCash, these transfers are known as transactions, and each transaction requires at least two accounts. To enter the cash withdrawal, for example, you would enter a transfer of money from a bank account to a cash account. You would record the grocery check as a transfer from a checking account to a groceries expense account. And the paycheck deposit is recorded as a transfer from an income account to a bank account.

Unlike traditional accounting packages, GnuCash makes it very easy to enter your double entry transactions. gives more detail on entering transactions, but for now let's take a general look at how they work. For a basic transaction like writing a check, you first create two accounts: a checking account and an account for the expense. For example, if you write a check to pay for groceries, then you need both a checking account and a groceries account. (See for more detail on creating accounts.) To record the check, you simply enter a transaction to transfer money from the checking account to the groceries account. In this example, the GnuCash transactions look like this when viewed from the register windows of the checking account:

A Basic Transaction

This image shows entering the date, description and transfer account for a payment of $50 to the Grocery Store.

In this transaction, a check is written to Grocery Store for $50. Since this is a double entry transaction, at least two accounts are affected and must be part of the transaction. GnuCash automatically enters the current account name (Assets:Checking Account) for you so you only enter the other account name affected (Expenses:Groceries).

To emphasize that GnuCash stores everything as double entry transactions, we change the view to Transaction Journal and see how it looks.

Transaction Journal view of a Basic Transaction

This image shows the Transaction Journal of the Checking Account

Observe that we have one entry for depositing (debiting) the Expense:Groceries account, and one entry for withdrawing (crediting) from Assets:Checking Account.

Lets have a quick look to see how this same transaction looks from the Expense:Groceries account

View of a Basic Transaction in Expenses:Groceries

This image shows the Transaction Journal of the Groceries Account

In this example for double entry accounting we used a checking account to pay for the groceries. But, notice that concept is the same no matter what method you use to pay for the groceries. If instead you used a credit card, the double entry accounting would simply involve your Credit Card account instead of the Checking account.

What about your paycheck? You can see that money goes into a bank account, but where does it come from? In double-entry, the money has to come from somewhere. Technically, that money comes from your employer, but you don't care about tracking your employer's accounts. So how do you account for money coming in? In GnuCash, you create a special income type account to track your incoming paychecks. (See for more information on creating income accounts.) To record the paychecks, you simply enter a transaction to transfer money from the income account to a bank account.

Here's what a paycheck deposit looks like in GnuCash.

A simple paycheck transaction

This image shows entering the date, description and transfer account for a $600 Salary payment from Employers R Us.

In this example, $600 is transferred from a Salary income account to the Checking Account. Because of the special nature of income accounts, discussed in , this transaction increases both the checking account balance and the income account balance by the amount transferred.

So what if you want to record your gross pay and all the deductions that come out of your check as well? You enter a transaction with multiple splits, which we will cover in . In this type of transaction, you are transferring a sum of money from one location to several locations. For any double entry transaction, the total amount of money transferred from accounts must equal the total amount transferred to other accounts.

For example, your gross pay might be $1000, but only $655 of that gets deposited in your checking account. The remaining $345 is split between your deductions, such as federal taxes, FICA and state taxes. How do you account for this in GnuCash? First, you should have accounts set up for the gross income (salary), checking, and each of the deductions (See ). Then you enter a transaction to transfer $1000 from the Salary account to the other accounts: Checking Account, Federal, Medicare, Social Security and State/Province. Because this is a double entry transaction, the total amount transferred to these five accounts must equal the original $1000 total coming from the income account. We cover this type of transaction in more detail in , but for now here's a peek at what it looks like:

A Split Paycheck Transaction

This image shows entering the date, description and transfer account for a $1000 Salary payment from Employers R Us . This is then made into a split transaction to Checking Account, Federal , Medicare, Social Security and State/Province.

The main principle to remember is that there are at least two parts to every transaction, and the total amount transferred from a set of accounts must equal the total amount transferred to another set of accounts. When a transaction transfers an equal sum from accounts to other accounts, that transaction is said to be in balance. In GnuCash, as in double-entry accounting, you want to have all of your transactions in balance.

Why is this important to you? If all of your transactions are in balance, then your money is all accounted for. GnuCash has a record of where that money came from and where it was used. By storing the names of all accounts involved in each transaction, you provide data that can be sorted and viewed in report form later. Reports allow you to see things like how much money you made for the year and where it all went, what your net worth is, and what your taxes might be for the year. The more information you provide when entering transactions, the more detailed your reports will be.

#### Accounting Terminology

Accountants use the terms debit and credit to describe whether money is being transferred to or from an account. Money is recorded in the debit column, which is always the left column, when it is being transferred to an account. Money is recorded in the credit column, which is always the right column, when it is being transferred from an account. Money always flows from the right column of one account to the left column of another account.

The main rule of accounting is this: For every transaction, total debits must equal total credits. This is just another way of repeating the double entry rule, that for each transaction, the amount of money transferred from accounts must equal the amount transferred to other accounts

You don't have to use the terms debit and credit to use GnuCash, however. GnuCash account registers default to common column headings such as deposit and withdrawal - if you are more comfortable with those headings, use them. If you prefer the credit and debit headings, you can change the column headings to use accounting labels from the menu item Edit -> Preferences General (see for more detail on setting preferences).

## The GnuCash Interface

The very first time you open GnuCash, you will see the Welcome to GnuCash! dialog. From there, GnuCash provides other tools to help you easily find what you are looking for. Let's take a look at some of the common screens and dialog boxes you will see.

### Create a new set of accounts

The New Account Hierarchy Setup druid allows you to create several accounts at once. When you open GnuCash the first time, you will get this dialog:

The New Account Hierarchy Setup Druid

This image shows the first screen of the New Account Hierarchy Setup Druid.

Click Next and follow the instructions provided in the dialog. The dialog provides a default set of accounts with predefined account types, and you simply select the accounts you want. For more information on account types, see .

The New Account Hierarchy Setup Druid - Currency

This image shows the second screen of the New Account Hierarchy Setup Druid where you select the currency.

The currency you select here, will be assigned to all the accounts created in this druid.

The New Account Hierarchy Setup Druid - Choose accounts

This image shows the third screen of the New Account Hierarchy Setup Druid where you choose the various accounts.

Select one or more of the predefined account-groups here. For more information on account types, see .

The New Account Hierarchy Setup Druid - Configure

This image shows the fourth screen of the New Account Hierarchy Setup Druid where you can set Opening Balance.

In this dialog you will be able to set an Opening Balance on each of the accounts, as well as indicate if it the account should be a Placeholder (only sub-accounts allowed, no transactions. Like Current Assets in above image)

The New Account Hierarchy Setup Druid - Finish

This image shows the Last screen of the New Account Hierarchy Setup Druid.

Click Apply to create all the accounts and leave the druid.

If you intend to import your data from another program and you want to keep the same account names you used in that program, you may want to delay setting up default accounts at this time. You can simply import the data and the account names into GnuCash from the other program ( explains how to do this).

### Tip of the Day

GnuCash provides a Tip of the Day dialog to give helpful hints for using the program:

The Tip of the Day

This image shows the Tip of the Day.

These tips provide useful information for beginning users. To view more of the tips, click Next to continue. If you do not wish to see this dialog box on start-up, deselect the box next to Display this dialog next time. When you have finished viewing the helpful tips, click Close to close the Tip dialog.

### Account Tree Window

You should now see the Accounts window, which appears as shown below. The exact layout of the account tree will depend on which default accounts you selected during the New Account Hierarchy Setup. In this example, the "Common Accounts" are shown.

The Account Tree Window

This image shows the Accounts window.

The Account Tree window provides an overview of the data contained in the current file. It contains a list of account names and their current balances. From this window, you can open any of the accounts. The individual account windows are called account registers. GnuCash allows you to have as many account registers open as you wish.

At the top of this window is the title bar, which displays the file name (once you have saved the file.) Below that is the menu bar. You can access the menu options by either clicking on these menu headings or by using shortcuts and access key combinations, covered later in this chapter. Next is the tool bar, which contains buttons for the most common functions.

The account tree appears below the tool bar. Once you have started creating accounts, the account names will appear in the account tree. You can customize which headings show up by using the small down-arrow at the far right just above the account tree.

At the bottom is the status bar, which tells you information about what you own (Net Assets) and how much money you have made (Profits).

### Account Register Window

The Account Register windows are used to enter and edit your account data. As the name suggests, they look similar to a checkbook register. When you double-click an account name in the Accounts window, the Register window for that account will open.

The Checking Account Register

This image shows The Checking Account - Register with several transactions.

explains more about account register windows and how to enter data into them. For now, note that the parts of an account register window are similar to the parts of the account tree window described earlier. The title bar at the top contains the account name. Below that, the menu bar contains menu options related to the account register. Tool bar buttons simplify common data entry functions. The status bar at the bottom of the window, displays some account balances covered in . At the bottom of the account register window, information appears about the current location of the cursor.

You can resize the various columns that GnuCash display, but keep in mind that the description column will automatically expand to fill all unused space. Therefore you should increase the size of all your other columns first and then decrease the size of the description column.

### Tool Bar Buttons

Both the account tree window and the account register window contain tool bar buttons. These buttons provide quick access to common functions such as Save and Open in the account tree window and Record and Delete in the account register window. If you are not sure what a button does, move the mouse pointer over that button, and you should see a description of the function appear.

Here is a summary of the account tree window buttons:

- Save - Use this function often to save the current file to disk.

- Close - Use this function to close the current notebook page.

- Open, Edit, New and Delete - These are functions related to accounts. They are discussed in .

Register buttons are discussed in .

### Menu Items

The account tree window and the account register window both contain menu headings in a menu bar. Clicking on a menu heading brings up the menu items for that heading.

You can click on the account tree menu headings and then move the mouse pointer over the menu items to see what they do. As the pointer moves over a menu item, a description of the item appears in the lower left-hand corner of the window. To select a menu item, click on it.

You can also access the most common menu items in a window by right-clicking the mouse anywhere in that window. In the account tree window, this will bring up a list of account items. In the account register window, this will bring up a list of transaction items.

Other ways of accessing menu items are through keyboard shortcuts and access keys, described next.

### Menu Shortcuts

All of the menu items have access keys which are marked by underlined characters in the menu names. Pressing the Alt key with the underlined character in the menu heading will bring up the menu items for that heading. Once the menu items are displayed, type the underlined character in the menu item to activate it. For example, typing Alt F in the main window brings up the File menu, then typing S will save the file. Access keys are fixed and may not be changed by users.

Some of the more commonly used menu items also have shortcut keys that directly activate the command without having to traverse the menu structure. These shortcuts typically use the Ctrl key, although they can use any key combination. Menu shortcuts are displayed at the end of each menu item. These shortcuts may be edited by users by setting a preference in the "Menu and Toolbar" preference panel.

GnuCash, as a Gnome application, also allows you to define your own menu shortcuts. To define a shortcut, first go to the "Menu and Toolbar" preference panel and select the "Editable menu accelerators" check box. Then return to GnuCash, click on the menu header and move the mouse pointer over the menu item. While the menu item is highlighted, press a key or key combination to set the shortcut. You should now see your shortcut choice next to the item in the menu. To delete a shortcut, press the Delete key while the menu item is highlighted. Be careful when setting shortcuts as Gnome does no checking on the key values pressed, and you can easily do things like set a letter of the alphabet as your shortcut.

## Setting Preferences

GnuCash allows you to customize your session by setting several preference options. From the menu select Edit -> Preferences, then make your desired changes using the list of items shown on the left. The changes you made will be applied directly. To close the preference window press the Close button.

### Accounts

In Accounts, you will see the default settings shown here:

GnuCash Preferences - Accounts

This image shows The Preferences - Accounts

- Separator Character - The account separator is the character that separates a parent account from its sub-account, for example Utilities:Electric. The default is a :(Colon), but you can also select /(Slash), \(Backslash), -(Dash) or .(Period), or any single non alphanumeric unicode. Parent accounts and sub-accounts are discussed in

- Reverse Balanced accounts - This option lets you determine whether account balances will display as positive or negative numbers:

  - None shows all credit balances as negative and all debit balances as positive. (See Accounting Terminology note in this chapter for more information on debits and credits.)

  - Credit Accounts (default) displays a positive balance for account types that would normally carry a credit balance (income, credit, liability, equity). See for more information on these account types.

  - Income & Expense assigns a positive credit balance to income account balances and a negative debit balance to expense account balances. See for more information on these account types.

- Labels - Select this option if you want column headings to refer to debits and credits instead of the default informal headings. (See Accounting Terminology note in this chapter for more information on debits and credits.)

- Default Currency - This item determines which currency will be selected by default when creating new accounts.

  - Locale will use whatever currency is specified in your system.

  - Choose will let you specify a specific currency to use, independent of your system settings.

### Business

In Business, you will see the default settings shown here:

GnuCash Preferences - Business

This image shows The Preferences - Business

- Open in a new window - If checked, each invoice will be opened in its own top level window. If clear, the invoice will be opened in the current window.

- Accumulate splits on post - Whether multiple entries in an invoice which transfer to the same account should be accumulated into a single split by default.

- Number of rows - Default number of register rows to display in invoices.

- Tax Included (Invoices) - Whether tax are included by default in entries on invoices. This setting is inherited by new customers and vendors.

- Notify when due - Lets you set whether you want to be notified of when a bill is soon to be due.

- Days in advance - How many days in the future to warn about bills coming due.

- Tax Included (Bills) - Whether tax are included by default in entries on bills. This setting is inherited by new customers and vendors.

### Date/Time

In Date/Time, you will see the default settings shown here:

GnuCash Preferences - Date/Time

This image shows The Preferences - Date/Time

- Time Format - lets you specify if you want to use 24 or 12 hours time format. That is if 23:00 should be represented as 11PM or 23.

- Date Format - This item controls the appearance of the date. The available options are US, UK, Europe, ISO, and Locale. Choosing "Locale" will automatically determine the date format based on your operating system settings.

### General

In General, you will see the default settings shown here:

GnuCash Preferences - General

This image shows The Preferences - General

- Display "tip of the Day" - You can turn on or off the option to display the Tip of the Day dialog on start-up.

- Perform account list setup on new file - This option turns off the display of the New Account Hierarchy Setup druid when File -> New File is selected.

- Show close button on notebook tabs - Adds a small close icon on each tab, to make it easier to close the various tabs.

- Enable Euro support - If selected, enables support for the European Union EURO currency. Needed if you have any accounts with EURO currency.

- Display negative amounts in red - If you turn off this option, GnuCash will display negative numbers in black.

- Automatic Decimal Point - This option will automatically insert a decimal point into numbers you type in.

- Decimal Places - This option allows you to set the number of decimal places to be used.

- Compress files - This option determines whether the GnuCash data file will be compressed or not.

- Retain log files - This option deletes log files (and backup files) after the number of days set here.

- New search limit - Defaults to 'new search' if fewer than this number of items is returned.

### On-line Banking

In Online banking, you will see the default settings shown here:

GnuCash Preferences - Online banking

This image shows The Preferences - Online banking

- Show documentation - The first time you use the QIF importer (discussed later in this chapter), you may notice that the importer has detailed instructions on how to import a file. Once you have become familiar with using the importer, you might want to turn off this option. Turning off the option gives you less detail in the importer dialogs.

- Use Bayesian matching - Use Bayesian algorithms to match new transactions with existing accounts.

- Match display threshold - The minimal score a potential match must have to be displayed in the match list.

- Auto-add threshold - A transaction whose best match's score is in the red zone (above display threshold, but below or equal to Auto-add threshold) will be added by default.

- Auto-clear threshold - A transaction whose best match's score is in the green zone (above or equal to Auto-clear threshold) will be cleared by default.

- Commercial Cash Machine fees threshold - If the ATM machine automatically adds a small transaction fee, GnuCash will still be able to match it to the transaction as long as the difference is below this threshold

### Register

In Register, you will see the default settings shown here:

GnuCash Preferences - Register

This image shows The Preferences - Register

- 'Enter' moves to blank transaction - If selected, move to the blank transaction after the user presses 'enter', otherwise move down on row.

- Auto-raise lists - If selected, all lists will automatically be expanded when input focus is in the list field.

- Check cleared transactions - If selected, automatically check off cleared transactions when reconciling.

- Automatic interest transfer - If selected, prior to reconciling an account which charges or pays interest, prompt the user to enter a transaction for the interest charge or payment. Currently only enabled for Bank, Credit, Mutual, Asset, Receivable, Payable, and Liability accounts.

- Automatic credit card payments - If selected, after reconciling a credit card statement, prompt the user to enter a credit card payment.

- Use system theme colours - If selected, GnuCash will use the system theme colours instead of the default colours.

- Double mode colors alternate with transactions - If selected, configures the register window to alternate between the primary and secondary colors with each transaction, instead of each row.

- Draw horizontal lines between rows - If selected, GnuCash will draw a horizontal line between each row.

- Draw vertical lines between cells - If selected, GnuCash will draw a vertical line between the cells in each row.

### Register Defaults

The Register Defaults preferences item affects the behavior of the transaction register windows. More information about the transaction register can be found in of this guide.

In Register, you will see the default settings shown here:

GnuCash Preferences - Register Defaults

This image shows The Preferences - Register Defaults

- Default Style - you can choose from 3 different styles for register windows, Basic Ledger (default), Auto-Split Ledger, and Transaction Journal. The basic style is a standard one-line register where everything appears on a single line. The auto-split style is similar to the basic style except that the current transaction is split-expanded. The journal style has every transaction split-expanded.

- Register opens in a new window - If selected, Register will be in a separate window instead of in a tab.

- Double Line Mode - If selected, show two lines of information for each transaction instead of one.

- Number of transactions - How many transactions to show in a register

- Number of rows - How many rows to display when the register is opened.

### Reports

The Reports preferences item affects the behavior of the transaction register windows. More information about the transaction register can be found in of this guide.

In Reports, you will see the default settings shown here:

GnuCash Preferences - Reports

This image shows The Preferences - Reports

- Default Report Currency - This item determines which currency will be used by default when creating reports. You can choose between Locale which uses system settings, or Choose which lets you specify your own default report currency.

- Location - if you select this option, the reports will open up in a new window, instead of in a tab.

### Accounting Period

In Accounting Period, you will see the default settings shown here:

GnuCash Preferences - Accounting Period

This image shows The Preferences - Accounting Period

- Include grand total - if this item is selected, GnuCash will include a grand total on the report.

- Include non-currency totals - if this item is selected, GnuCash will include a total of non-currency items (for instance number of shares) in the report.

- Start Date - This item determines which from which start date the report will report from. You can choose between Relative which uses a dynamic start date (like "start of this year", "start of this month" etc), or Absolute which lets you specify a specific start date (which will not change as time goes by).

- End Date - This item determines which to which end date the report will report to. You can choose between Relative which uses a dynamic end date (like "end of this year", "end of this month" etc), or Absolute which lets you specify a specific end date (which will not change as time goes by).

### Scheduled Transactions

The Scheduled Transactions preferences item affects the behavior of GnuCash for scheduling transactions. More information about scheduled transactions can be found in of this guide.

In Scheduled Transactions, you will see the default settings shown here:

GnuCash Preferences - Scheduled Transactions

This image shows The Preferences - Scheduled Transactions

- Run when data file opened - If selected, the "Since-Last-Run" window will appear on GnuCash start-up (or rather when GnuCash opens the file).

- Auto-Create new transactions - If selected, new Scheduled Transactions will automatically be entered into the register. Also, if selected Notify before transactions are created can be set to allow the user to confirm creating the transactions.

- Create in advance, days - The default number of days in advance to create new Scheduled Transactions.

- Remind in advance, days - The default number of days in advance to remind on new Scheduled Transactions.

### Windows

In Windows, you will see the default settings shown here:

GnuCash Preferences - Windows

This image shows The Preferences - Windows

- Save window size and position - If selected, next time GnuCash starts it will re-use the window size and position of the last run.

- Toolbar Style - you can choose from 5 different styles for the toolbar, Use system default (default), Text below icons, Text beside icons, Icons only, and Text only.

## Getting Help

GnuCash offers help in many ways. We have already covered the Tip of the Day dialog that gives you helpful hints upon start-up of your GnuCash session. GnuCash also offers an extensive help manual.

### Help Manual

Once you have opened GnuCash, you will see the Account Tree window Help menu heading, which opens the on-line manual. The on-line manual is organized by topic, and you can expand each topic into its subtopics.

Topics are listed on the left side. To select a topic or subtopic, click on it, and you should see the text for that topic appear on the right. Use the Back and Forward buttons to navigate through your topic choices, and print any text using the Print button.

### Web Access

The GnuCash Help window also acts as a simple web browser, so you can pull up a web site for additional information. You can open any web site under this window by clicking the Open tool bar button and then typing in the URL. Use the Back, Forward, Reload, Stop, and Print buttons as you would in a standard browser.

The GnuCash web site contains helpful information about the program and about any updates to it. It also contains links to the GnuCash mailing lists for developers and users, and you can search the archives of GnuCash mailing lists for discussions on a particular topic. If you don't find the answers you are looking for, you can post your question to the GnuCash user list, and someone on the list will attempt to answer you.

The most updated GnuCash FAQ is also located on the GnuCash FAQ website, and contains answers to the popular questions.

### Topic Search

The online manual also provides a search function. To search for a particular topic, click the Search tab at the bottom of the help window and type in your topic in the field provided. Click the Search button to complete your search. A list of choices should appear in the box below, clicking a choice will bring up its text on the right.

## Creating and Saving Files

If you are using GnuCash for the first time, it will automatically open a new file when you begin. Follow these steps to save the file under a new name:

1. Choose File -> Save As... from the menu bar or select the Save toolbar button. GnuCash will bring up this window:

   The Save dialog

   This image shows the Save dialog.

2. In the text box below Selection type your chosen file name (e.g. gcashdata).

3. Click the OK button to save the file.

If you are keeping track of finances for a single household, you need only one file. But if you are also tracking business finances or want to keep data separate for some reason, then you will need more than one file. To create a new file:

1. From the main menu, choose File -> New File.

2. Follow the steps above for saving a file under a new name.

Before ending each GnuCash session, be sure to save your data changes using File -> Save or the Save toolbar button. In fact, it is a good idea to save your data changes often, since GnuCash does not permanently record your changes until you save them. To open an existing file, select File -> Open and choose your file from the list.

GnuCash is storing its data file without any extension. If you name your GnuCash file to `MyBudget`, the actual file name will be `MyBudget.`

Ensure that you do not specify an extension when you specify the file name. Per the above example, only specify `MyBudget` as the filename.

## Importing QIF Files

This section tells you how to initially import data from other financial programs that use QIF (Quicken Interchange Format).

To import data from Quicken, MS Money, or other programs that use QIF(Quicken Interchange Format), you must first export your data to a QIF file. One way to do this is to export each account as a separate QIF file. An easier way, available in Quicken 98 and beyond, is to export all accounts at once into a single QIF file. Check your program's manual to determine if this option is available.

Once your data is in QIF form, follow the easy 3-step import process described below. Before you get started, though, please note that part of the import process involves checking for duplicate transactions, so it is very important that you load all of your QIF files before importing. Duplicate transactions result when more than one account is involved. For example, if one of your transactions transferred money from savings to checking, you would end up with this same transaction recorded twice - once in the savings account and once in the checking account.

To import QIF files:

1. Load all of the QIF files containing data you wish to import.

   To do this, select File -> Import -> Import QIF... from the menu. When the QIF Import dialog box appears, click Next and follow the instructions to guide you through the process of loading your files.

   The QIF Import Druid

   This image shows the start of the QIF Import Druid.

   You will be prompted for a filename to load. Use the Select button to select your QIF file and click Next to load it. Once the file is loaded, select Load another file if you have more files to load. When you have loaded all your QIF files, click Next to continue with the import process.

2. Review the GnuCash accounts to be created.

   The importer then matches up your QIF accounts and categories with GnuCash accounts and gives you a brief description of the matching process. Clicking Next will bring you to a view comparing your QIF accounts with the corresponding GnuCash accounts created. To change an account name, select the row containing that account name and edit the name in the dialog box provided. Click Next when you have finished making changes, and proceed through a similar category matching process. QIF income and expense categories import as GnuCash income and expense accounts (see for more on this). Make changes to these account names if necessary, and click Next to continue.

   If you are not sure what changes are needed, it is safe to accept the GnuCash account names. It is easy to edit the accounts later if you find you need to make a change.

   From the drop-down list, select a standard currency to be used for imported accounts and click Next to continue. If you have stocks, mutual funds, or other securities, you will be prompted for additional information. The importer dialog will ask for the exchange or listing (i.e. NASDAQ), the security's full name, and the ticker symbol. If you do not have this information handy, you can edit the account information later, once the import is complete. Click Next to continue.

3. Tell GnuCash to import the data.

   The last step is the import. Once you have verified your account names and investment information, click Finish in the Update your GnuCash accounts page to complete the import process. Depending upon the size of your file, the import might take a few minutes to complete, so a progress bar displays the percentage finished. When the import process is complete, GnuCash will return you to the main window, which should now display the names of the accounts you imported.

## Backing Up and Recovering Data

GnuCash creates several types of files to help ensure that your data is not lost. You may see files with the following file extensions: xac, log, LCK, LNK in the same directory as your primary data file. What each of these files does is presented below.

          $ ls
          gcashdata
          gcashdata.20060414185747.xac
          gcashdata.20060414223248.log
          gcashdata.20060415114340.xac
          gcashdata.20060415154508.log
          gcashdata.20060415173322.xac
          gcashdata.20060415194251.log
          gcashdata.7f0982.12093.LNK
          gcashdata.LCK

### Backup file (.xac)

Each time you save your data file, a backup copy will also be saved with the extension xac. This backup file is a complete copy of your previous data file, and the filename format refers to the data file, year, month, day and time of the backup. For example, the filename `gcashdata.20060414185747.xac` indicates this is a backup copy of the file gcashdata saved in the year 2006, April 14, at 6:57:47 p.m.

To restore an old backup file, simply open the .xac file with the date to which you wish to return. Be sure and save this file with a different file name, do not use a .xac extension for you regular file name.

### Log file (.log)

Each time you open a file in GnuCash, a .log is created and saved with the same name format as the .xac backup files. As you make changes to the open data file, the log file saves only those changes. Log files are not a full backup of your data file - they simply record changes you have made to the data file in the current GnuCash session.

In case you exit GnuCash inadvertently, possibly due to a power outage or a system wide crash, it is possible to recover most of your work since the last time you saved your GnuCash file using this log file. This is the procedure:

- Open the last saved GnuCash file.

- Go to "File" -> "Import" -> "Replay GnuCash .log file" and select the one .log file with the same date as the saved file you just opened. Make sure that you picked the right .log file, or you will possibly wreck havoc in your accounts.

Log replaying will recover any transaction affecting the balance entered since the last save, including those created from scheduled transactions and business features (invoices, bills, etc.).

Warning: Changes to the scheduled transactions, invoices of bills themselves are NOT recovered, and their transactions that were recovered may not be properly associated with them, and should thus be double-checked. Especially for business transactions, you may have to delete and re-create some of them. If you do not, although the balance will be correct, some reports may not.

### Lock files (.LNK and .LCK)

You may occasionally see .LNK and .LCK files appear. These do not store any data, but they are created to prevent more than one user from opening the same file at the same time. These files are automatically created when you open the file, to lock it so no one else can access it. When you close your GnuCash session or open another file, GnuCash unlocks the first data file by deleting the LCK and LNK files.

If GnuCash crashes while you have a data file open, the LCK and LNK files are not deleted. The next time you try to open GnuCash, you will get a warning message that the file is locked. The warning message appears because the LNK and LCK files are still in your directory. It is safe to choose Yes to open the file, but you should delete the .LNK and .LCK files (using a terminal window or your file manager.) Once those files are deleted, you will not get the warning message again unless GnuCash crashes.

### File Management

So which files should you keep around? Keep your main data file, of course - data files do not have an automatic file extension. It's a good idea to keep some of the more recent .xac files, but you can safely delete the .log files since they are not complete copies of your data. You should also delete any .LCK and .LNK files that you see after closing GnuCash. If you decide to manually back up your data file to another disk, you only need to back up the main data file - not the .xac files.

GnuCash will automatically delete any .xac, .log files that are older than 30 days. You can change this behavior in the GnuCash preferences.

## Putting It All Together

This section begins a tutorial that will continue throughout this book. At the end of each chapter, you will see a Putting It All Together section that walks you through examples to illustrate concepts discussed in that section. Each Putting It All Together section builds on the previous one, so be sure to save your file for easy access.

Let's get started!

1. First, let's create a file to store your real data. Open GnuCash and go through the New Account Hierarchy Setup dialog. You will create a file and accounts to be used for your home finances, so choose the accounts that pertain to you. If you are not sure what accounts you will need, click the Select All option to create all of the accounts provided. When you have completed the setup, save this file with a filename you want to use for your home data.

2. Next, create a file to store test data. This is the file that will be used in the tutorials throughout this manual. Click File -> New to create a new file, and name it `gcashdata_1`. Your main window should now look something like this:

   The Main windows showing the test file

   This image shows the Account Tree window with a set of accounts loaded from the druid.

3. Now, adjust some preferences in the account tree window. Select Edit -> Preferences -> Windows and change the toolbar Style so that they display only text, not icons. The change will take place directly, so look at the tool bar buttons in the main window. Return to the Preferences dialog and change the tool bar buttons back to the default setting by clicking Use system default. From the column header row, select Arrow down and select Type (which means view column "Type"). The main window should now look like this:

   The effect of changing the display options

   This image shows the effect of changing the display options.

   Save your file.

4. If you plan to import QIF data from another program, let's try a practice file first. (If not, skip to the next chapter on account setup ().)

   1. First, create a new file called `gcashimport`. It is up to you if you would like to specify accounts (like Common Accounts) directly or not. If QIF importer do not find an account, it will create it automatically (or allow you to create it manually)

   2. From the main menu, select File -> Import -> Import QIF... to start the import.

   3. Select the appropriate currency

   4. Select `gnc_Sample_QIF.qif` as QIF file to load.

   5. In the following dialogs, ensure that each transaction has a valid account, if in doubt, just use the default ones.

   6. Complete the import.

   The main window should now look like this:

   After importing the provided sample QIF file

   This image shows the Main window after importing the provided QIF sample file.

   If after the import the screen is blank, go to File -> New -> New Accounts page to display a new Accounts tab.

   Save your file.