# Tools & Druids

There are many specialized Tools used in GnuCash. These tools enable access to the enhanced functionality in GnuCash. These tools are accessed via the Tools option from any window that displays a Tools menu. Several of these tools may not be displayed depending on if your software was not configured to support Online banking, or the tools appropriate for the current window.

## Find Transactions

Find Transactions is used to search for transactions in GnuCash and display the results in a register window. The title bar of the Find Transactions dialog contains 'Search For...' and the first line of the dialog has 'Split Search'. In other search dialogs used in GnuCash the first line contains a different description but the same basic layout.

The Find tool will also search for; a Customer, an Invoice, a Job, a Vendor, Bill(s), Employee(s), or Expense Voucher(s). The target of the search is determined by where the tools is invoked. Access to the Tool via Business > (Customer/Vendor/Employee) > ... .

To open the Find Transactions dialog in the Account Tree Window go to the Tools menu and select Find Transactions or type menu shortcut Ctrl-F. To open the Find Transactions dialog in the Account Register Window go to the Edit menu and select Find... or type menu shortcut F6.

There are two panes in the search dialog. The top pane contains the Search Criteria buttons and the bottom pane contains the Type of Search selection.

There are two buttons in the top of the Search Criteria pane. The left button allows you to add another criteria row to search for multiple criteria. The existing criteria row needs to be completed before adding a new row. The right button is used to Search for items where all criteria are met or Search for items where any criteria are met. The all criteria are met search requires all of the criteria rows to have at least one match. The any criteria are met search requires only one of the criteria rows to be matched.

The criteria row is used to combine different criteria buttons. The following table describes the possible button combinations (regex means regular expression search);

## Search criteria buttons.

Button 1 | Button2 | Button3 | Button4 | Button5 | Button 6 | Button 7 | Button 8
Description | contains | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Description | does not contain | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Description | matches regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Description | does not match regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Memo | contains | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Memo | does not contain | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Memo | matches regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Memo | does not match regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Number | contains | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Number | does not contain | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Number | matches regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Number | does not match regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Action | contains | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Action | does not contain | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Action | matches regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Action | does not match regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Note | contains | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Note | does not contain | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Note | matches regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Note | does not match regex | Criteria entry field | Is entry Case Insensitive? | Remove row |  |  |
Date Posted | is before | Date selection field | Remove row |  |  |  |
Date Posted | is before or on | Date selection field | Remove row |  |  |  |
Date Posted | is on | Date selection field | Remove row |  |  |  |
Date Posted | is not on | Date selection field | Remove row |  |  |  |
Date Posted | is after | Date selection field | Remove row |  |  |  |
Date Posted | is on or after | Date selection field | Remove row |  |  |  |
Value | has credits or debits | less than | Amount entry field | Remove row |  |  |
Value | has credits or debits | less than or equal to | Amount entry field | Remove row |  |  |
Value | has credits or debits | equal to | Amount entry field | Remove row |  |  |
Value | has credits or debits | not equal to | Amount entry field | Remove row |  |  |
Value | has credits or debits | greater than | Amount entry field | Remove row |  |  |
Value | has credits or debits | greater than or equal to | Amount entry field | Remove row |  |  |
Value | has credits | less than | Amount entry field | Remove row |  |  |
Value | has credits | less than or equal to | Amount entry field | Remove row |  |  |
Value | has credits | equal to | Amount entry field | Remove row |  |  |
Value | has credits | not equal to | Amount entry field | Remove row |  |  |
Value | has credits | greater than | Amount entry field | Remove row |  |  |
Value | has credits | greater than or equal to | Amount entry field | Remove row |  |  |
Value | has debits | less than | Amount entry field | Remove row |  |  |
Value | has debits | less than or equal to | Amount entry field | Remove row |  |  |
Value | has debits | equal to | Amount entry field | Remove row |  |  |
Value | has debits | not equal to | Amount entry field | Remove row |  |  |
Value | has debits | greater than | Amount entry field | Remove row |  |  |
Value | has debits | greater than or equal to | Amount entry field | Remove row |  |  |
Shares | less than | Amount entry field | Remove row |  |  |  |
Shares | less than or equal to | Amount entry field | Remove row |  |  |  |
Shares | equal to | Amount entry field | Remove row |  |  |  |
Shares | not equal to | Amount entry field | Remove row |  |  |  |
Shares | greater than | Amount entry field | Remove row |  |  |  |
Shares | greater than or equal to | Amount entry field | Remove row |  |  |  |
Share Price | less than | Amount entry field | Remove row |  |  |  |
Share Price | less than or equal to | Amount entry field | Remove row |  |  |  |
Share Price | equal to | Amount entry field | Remove row |  |  |  |
Share Price | not equal to | Amount entry field | Remove row |  |  |  |
Share Price | greater than | Amount entry field | Remove row |  |  |  |
Share Price | greater than or equal to | Amount entry field | Remove row |  |  |  |
Reconcile | is | Not Cleared | Cleared | Reconciled | Frozen | Voided | Remove row
Reconcile | is not | Not Cleared | Cleared | Reconciled | Frozen | Voided | Remove row
Balanced | is | set true | Remove row |  |  |  |
Balanced | is not | set true | Remove row |  |  |  |
Account | matches any account | Choose Accounts | Remove row |  |  |  |
Account | matches no account | Choose Accounts | Remove row |  |  |  |
All Accounts | matches all account | Choose Accounts | Remove row |  |  |  |

The Account button performs a search where the accounts selected in the Choose Accounts dialog will both be searched individually for results. This means that a match in any of the selected accounts will either be displayed (matches any account) or discarded (matches no account).

The All Accounts button performs a search where accounts selected in the Choose Accounts dialog will only return results that match in both accounts.

There are four selections in the Type of Search pane. When a new search is started only the New Search button is selectable. The other buttons become selectable only when the Search Results register window is visible.

- New Search: Perform a new transaction search

- Refine current search: Search within the results of the previous search.

- Add results to current search: Search based on the first set of criteria or the new criteria.

- Delete results from current search: Discard any results that match the previous search results.

## Since Last Run Druid

The Since Last Run druid is run automatically when GnuCash is started. It is used to enter into the register any transactions that are due to be automatically entered. The run on GnuCash start can be altered in the preferences. To run the Since Last Run druid manually go to Actions -> Scheduled Transactions -> Since Last Run...

The Since Last Run druid will automatically skip any screens that have no transactions. The following describes every possible screen the druid will show. The three buttons at the very bottom of the screen will not change while using the druid.

- The Cancel button is used to exit the druid and cancel entering the transactions. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Forward button will bring up the next screen so you can continue though the druid.

The first screen shows Transaction Reminders page. This lists scheduled transactions that have been set to give a reminder a number of days in advance. The screen contains three columns. The first column contains the name of the scheduled transaction and the date it is due. The second column contains the Frequency of the scheduled transaction. The third column has the number of Days Away the transaction is due to be entered. To create any transactions in the list instead of just being reminded, select the date line. This will add it to the list of transactions on the To-Create Transaction Preparation page.

The next screen shows the Auto-Created Transactions Notification page. This lists scheduled transactions that have been set to be automatically created and notify when they are created. Each transaction is presented in a register view that shows the details of the splits in the transaction.

The next screen shows the To-Create Transaction Preparation page. This lists scheduled transactions that are due to be entered in the register. This screen is divided into three panes. The top left pane contains the list of transactions due to be automatically entered. The top right pane allows you to change the Disposition and has a read only view of the Variables used to create the transaction. The bottom pane contains a read only view of the transactions due to be entered.

The next screen shows the Created Transaction Review page. This screen displays the list of transactions about to be created and allows for final changes to be made. The list is presented in a register view that shows the details of the splits in the transaction. This is editable in the same way transactions are able to be edited in the register.

The last screen shows the Obsolete Scheduled Transactions page. This screen displays a list of scheduled transactions that are able to be deleted as the schedule is completed. Select the ones to be removed.

- The Cancel button is used to exit the druid and cancel creating the scheduled transactions. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Finish button creates the accounts you have selected.

The Since Last Run druid has now added the scheduled transactions to the register.

## Mortgage & Loan Repayment Druid

This druid creates a loan repayment scheduled transaction. When used to setup a scheduled transaction, the druid creates a variable formula so that the compounding interest is correctly calculated. To start this druid manually go to Actions -> Scheduled Transactions -> Mortgage and Loan Repayment...

The Mortgage and Loan Repayment druid opens with a screen that briefly describes what this druid does. The three buttons at the very bottom of the screen will not change while using the druid.

- The Cancel button is used to exit the druid and cancel creating the scheduled transaction. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Forward button will bring up the next screen so you can continue though the druid.

The next screen allows you to enter the basic loan information. This is usually the information provided by the bank when loan and disclosure documents are given to the borrower. Here you can also setup an account that the scheduled transaction will use to enter the payment transaction.

- Loan Account: Choose an account for the loan payment transactions or use New... to setup a new account for the transactions.

- Loan Amount: Enter the amount of the loan.

- Interest Rate: Enter the loan interest rate.

- Type: Choose the type of loan. If an adjustable rate is used the frequency screen is enabled.

- Interest Rate Change Frequency: Choose the frequency for the rate change and the start date of the rate change.

- Start Date: Choose the date the loan is starting on.

- Length: Enter the length of the loan.

- Months Remaining: This should be automatically calculated. Choose how many months are remaining on the loan.

The next screen is used to set escrow, insurance and tax options for the loan. It is mainly used for mortgage payments. When each of the options here is set, this enables additional pages in the druid to setup those portions of the payments. All of the pages will be described here, even though some may not show if that option is not chosen.

- ... utilize an escrow account for payments?: This selection enables the use of an account setup for tracking escrow payments. If the mortgage or loan uses an escrow account to pay taxes, insurance, etc then setup an account here.

- ... pay "Taxes"?: adds an additional page to setup a scheduled transaction to pay taxes.

- ... pay "Insurance"?: adds an additional page to setup a scheduled transaction to pay insurance payments.

- ... pay "PMI"?: adds an additional page to setup a scheduled transaction to pay PMI payments.

- ... pay "Other Expense"?: adds an additional page to setup a scheduled transaction to pay other expenses.

The next screen is used to setup the details of the scheduled transaction for the Loan Repayment.

- Transaction Memo: The name entered here will be used as the name for the scheduled transaction, the description of the scheduled transaction and the memo.

- Payment Amount: Shows the variable used to calculate the payment amount.

- Payment From: Choose an account to pay the loan amount from.

- Principal To: Choose an account to transfer the principal part of the loan to.

- Interest To: Choose an account to transfer the interest part of the loan to.

- Remainder to: Choose an account to transfer the rest of the payment amount to.

- Repayment Frequency: Select the Frequency and start date for loan repayments.

The next screen is used to setup the details of the scheduled transaction for the Tax payment.

- Transaction Memo: The name entered here will be used as the name for the scheduled transaction, the description of the scheduled transaction and the memo.

- Amount: Enter the payment amount.

- Payment From: Choose an account to pay the tax amount from.

- Payment To: Choose an account to transfer the tax payment to.

- Repayment Frequency: Select the Frequency and start date for tax payments.

The next screen is used to setup the details of the scheduled transaction for the Insurance payment.

- Transaction Memo: The name entered here will be used as the name for the scheduled transaction, the description of the scheduled transaction and the memo.

- Amount: Enter the payment amount.

- Payment From: Choose an account to pay the insurance amount from.

- Payment To: Choose an account to transfer the insurance payment to.

- Repayment Frequency: Select the Frequency and start date for insurance payments.

The next screen is used to setup the details of the scheduled transaction for the PMI payment.

- Transaction Memo: The name entered here will be used as the name for the scheduled transaction, the description of the scheduled transaction and the memo.

- Amount: Enter the payment amount.

- Payment From: Choose an account to pay the PMI amount from.

- Payment To: Choose an account to transfer the PMI payment to.

- Repayment Frequency: Select the Frequency and start date for PMI payments.

The next screen is used to setup the details of the scheduled transaction for the Other Expense payment.

- Transaction Memo: The name entered here will be used as the name for the scheduled transaction, the description of the scheduled transaction and the memo.

- Amount: Enter the payment amount.

- Payment From: Choose an account to pay the other expense amount from.

- Payment To: Choose an account to transfer the other expense payment to.

- Repayment Frequency: Select the Frequency and start date for other expense payments.

The last screen gives you a list of three choices to finish the druid.

- The Cancel button is used to exit the druid and cancel creating a new loan scheduled transaction. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Finish button creates the scheduled transaction.

You should now have the Mortgage or Loan Repayment scheduled transaction setup.

## Recording a Stock Split

Stock splits commonly occur when a company decides its stock price is to expensive for individual investors to buy the stock. Splits have the effect of lowering the price of a single share while keeping the value of shares owned by investors who have already purchased shares.

### Stock Split Druid

GnuCash uses the Stock Split druid to record stock splits. This provides a way of entering the details of the stock split and also any change in stock price or cash disbursement as a result of the stock split.

The Stock Split druid is accessed by going to Actions -> Stock Split...

The Stock Split druid opens with a screen that briefly describes what this druid does. The three buttons at the very bottom of the screen will not change while using the druid.

- The Cancel button is used to exit the druid and cancel entering the stock split information. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Forward button will bring up the next screen so you can continue though the druid.

The next screen allows you to select a Stock Account. Select an account from the list to record a stock split or merger.

- Account: Lists the GnuCash account name for the stock.

- Symbol: The stock symbol for the stock associated with this account.

- Shares: The amount of shares that have been purchased in the account.

The next screen lets you set the Stock Split Details. The top part of the screen contains details used in creating the stock split transaction.

- Date: Choose the date of the stock split.

- Share Distribution: Enter the amount of shares gained from the stock split. For a stock merger enter a negative number.

- Description: Enter a description or leave as the default.

The bottom part of the screen contains details used to record a price for the split (optional).

- New Price: Enter the price of the shares on the day of the stock split.

- Currency: Choose the currency of the shares.

The next screen lets you enter a transaction for a cash disbursement (Cash In Lieu) as a result of the stock split (optional).

- Cash Amount: Enter the amount of the Cash disbursement.

- Memo: Enter a memo or leave as the default.

- Income Account: Choose an Income Account for the disbursement.

- Asset Account: Choose an Asset Account for the disbursement.

The last screen gives you a list of three choices to finish the druid.

- The Cancel button is used to exit the druid and cancel creating the Stock Split transactions. Any selections you have made in this druid up to this point will be lost.

- The Back button will bring up the previous screen so you can change a selection made on that screen.

- The Finish button creates the transactions for the Stock Split.

You should now have successfully entered the Stock Split or Merger.

## HBCI (Online Banking) Setup Wizard

This section is "under construction - any input will be welcome !!".

The HBCI Wizard is used to create and edit data to enable access to Online banking transactions. Currently the best instruction for this process are in the GnuCash wiki at Setting up OFXDirectConnect in GnuCash 2. If HBCI Setup does not appear in your Tools menus verify that you are in an Account Tree or Register tab.

## Price Editor

The Price Editor is used to track/modify the value of a currency, mutual fund and stocks. It provides a unified interface to updating the values of these commodities and is able to update manually or through on-line quotes.

Each entry in the editor shows a record of a security/commodity price(s):

- Security: The Security/commodity being priced. The display is sorted by the "exchange" that the individual securities are listed on. The list is expanded by clicking on the "caret" on the left of the name.

- Currency: The currency the price is recorded in.

- Date: The date the price was recorded.

- Source: The source of the commodities price quote. Typically, this will be either "user:price-editor", indicating you entered it directly, or "Finance::Quote", indicating that it was retrieved from an on-line source by the Finance::Quote module.

- Type: There are several different types of stock price quotes.

  - Bid: Indicates what a specialist dealer is prepared to pay for a stock.

  - Ask: Indicates at what price the dealers are prepared to sell a stock.

  - Last: Indicate the price at which the last trade in that stock/security occurred at. This is the price most commonly quoted in the media.

  - Net Asset Value: Are typically used for mutual funds. They are calculated on the net value of the fund's assets.

  - Unknown: Use this if the type of price quoted is not known.

- Price: The actual price of the commodity.

### Adding a stock price manually

To add a new price, click on Add, and enter the details of the security and price into the dialog box. To edit an existing price, select the price in the price list, click the Edit button, and edit the figures.

To remove just one price, select the price and click the Remove button. If you want to remove all prices older than a certain date, click on the Remove Old button and enter the details in the dialog box.

A pop-up will display with the message "Delete all stock prices based upon the criteria below:". Enter the date of the last price you wish to delete.

Two check-boxes are below the date field;

- Delete manually entered prices - If checked, delete manually entered stock prices dated earlier than the specified date. Otherwise only stock prices added by Finance::Quote will be deleted.

- Delete last price for a stock - If checked, delete all prices before the specified date. Otherwise the last stock price dated before the date will be kept and all earlier quotes deleted.

### Configuring for use of the "Get Quotes" button

To support on-line quotations for a particular stock or mutual fund account, you must first enable on-line price quoting and select a price source in the Security. This is described in detail in the "Configuring Securities for Online Quotes" (invest-stockprice-online3) section of Using the Security Editor. Once on-line quotes are enabled, and Finance::Quote is installed, you can update prices for your stocks and mutual funds manually by clicking the Get Quotes button.

## Security Editor

The Security Editor is used to create and edit commodities that are used by mutual fund and stock type accounts. It also shows the details of National Currencies that are used by GnuCash.

To show the details for National Currencies click the Show National Currencies check-box at the bottom of the screen.

Each entry in the editor shows the details used by the security/currency:

- Type: Indicates for stocks the exchange on which a stock is traded. For mutual funds use the FUND type. If your commodity is not of one of these types, you can create a new type by typing it in the box. For national currencies the type is ISO4217. ISO-4217 is an international standard which defines unique three-letter symbols for each currency. National currencies are not user editable.

- Symbol: Indicates the symbol or abbreviation for the commodity. This is usually the ticker symbol (for stocks) or other unique abbreviation for the commodity. If the commodity is traded on any public exchange, it is important to use the same identifier used on that exchange. For national currencies the symbol is the ISO-4217 currency code.

- Name: The full name of the commodity is a recognizable name such as "US Dollars" or "IBM Common Stock".

- Code: This is any numeric or alphanumeric code that is used to identify the commodity. The CUSIP code is a unique identifying numeric string that is associated with every stock, bond or mutual fund, and most kinds of traded options, futures and commodities. This code is not required.

- Fraction: This is the smallest traded unit of the commodity, expressed as a fraction of a single nominal unit. This unit is used by GnuCash accounts as the default fraction for trades in the commodity.

### Adding or Editing a Commodity

To add a new commodity (stock, or mutual fund), click on Add, and enter the details of the commodity into the New Security dialog box. To edit an existing commodity, select the commodity from the Commodities list, click the Edit button, and edit the Edit Security dialog box. To remove a commodity, select the commodity and click the Remove button.

The fields in the New/Edit Security screens are the same as defined for the Security Editor tool-security-edit. Below these fields are the options for Online Quotes.

### Configuring Securities/Currencies for On-Line Retrieval of Prices

To support on-line quotations for a particular stock or mutual fund account, you must first enable on-line price quoting and select a price source in the Security Editor. Online currency quotes require only that the check-box for Online quotes and the timezone be selected, and that the Get Quotes box be checked in the Security Editor.

Detailed instructions are in the section on Creating New Accounts. Online-price-setup

## Financial Calculator

The Financial Calculator is used to calculate compound interest. It provides a way of entering four of the five parameters of a compound interest calculation and then calculating the remaining figure.

The calculator is split into two panes. The left pane has five fields with a Calculate button and a Clear button. The Calculate button is used to select the figure to calculate. The Clear button is used to clear any amount in the field.

- Payment Periods: This field is used to select the number of payments you wish to use in the calculation.

- Interest Rate: This field is used for the interest rate percentage.

- Present Value: This field usually contains the amount you have borrowed. It is the base amount you wish to compound.

- Periodic Payment: This field contains the amount that is the payment for the period selected (IE monthly, weekly, etc). If it is for repaying a loan it should be a negative number.

- Future Value: This field contains the final value at the end of the periods above. If we are repaying a loan in full it would be '0'.

The right pane contains buttons to select what sort of payments and compounding is used for the left pane calculations.

- Compounding: This button allows you to select the interval used if the Discrete Compounding button is selected.

- Payments: This button allows you to select the interval used for the Payment Periods field.

- End of Period Payments: Use this button if the payment is at the end of the period.

- Beginning of Period Payments: Use this button if the payment is at the beginning of the period.

- Discrete Compounding: This button is used where interest is charged at a discrete interval defined by the Compounding button above.

- Continuous Compounding: This button is used when the interest is charged continuously.

- Payment Total: This field shows the total amount paid.

Examples of using the Financial Calculator are given in the Tutorial and Concepts Guide. GnuCash Tutorial and Concepts Guide's Chapter on Loans