<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter SYSTEM "gnc-gui-C.dtd">
<!-- (Do not remove this comment block.)
Version: 3.5
Last modified: March 30th 2019
  modified: April 15th 2007
  modified: August 12th 2006
  modified: February 28th 2005
Maintainers:
  Frank H. Ellenberger
  Chris Lyttle <chris@wilddev.net>
  Neil Williams <linux@codehelp.co.uk>
Author:
  Chris Lyttle <chris@wilddev.net>
Translators:
  (translators put your name and email here)
-->
<chapter id="ch_Common_Trans_Ops">
  <title>Common Transaction Operations</title>

  <para>A <emphasis>transaction</emphasis> 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 <application>&appname;</application> transactions always involve at least two
    accounts.
  </para>

  <para><application>&appname;</application> uses accounts as a way of grouping or organizing the recording
    of transactions. This section describes the methods <application>&appname;</application> has to
    help enter transactions quickly into the register.
  </para>

  <para></para>

  <para><application>&appname;</application> has several methods available for entering transactions.
  </para>

  <itemizedlist>
    <listitem>
      <para>Entering directly into the register window is the most common way of entering transactions.
      </para>
    </listitem>

    <listitem>
      <para>Using the <guilabel>Transfer Funds</guilabel> window .
      </para>
    </listitem>

    <listitem>
      <para>Importing transactions either from a file or via on-line banking.
      </para>
    </listitem>
  </itemizedlist>
<!--
      <note>
      <para>Where should the Importing of data from downloaded files" and "On-line" banking be covered?.
      </para></note>
  -->
  <sect1 id="trans-win-enter">
    <title>Transfer Funds Dialog Box</title>

    <para>The <guilabel>Transfer Funds Dialog Box</guilabel>, accessed via
      <menuchoice>
        <shortcut>
        <keycombo>
          <keycap>Ctrl</keycap><keycap>T</keycap>
        </keycombo>
        </shortcut><guimenu><accel>A</accel>ctions</guimenu>
        <guimenuitem><accel>T</accel>ransfer...</guimenuitem>
      </menuchoice>
      or by pressing the <guibutton>Transfer</guibutton> icon from the account register tab, serves
      two purposes in &app;:
      <itemizedlist>
        <listitem>
          <para>A way to create a simple (i.e. two-split) transaction between arbitrary accounts.
          </para>
        </listitem>

        <listitem>
          <para>Collect exchange rate or amount information in a multi-currency transaction (see
            <xref linkend="trans-currency-enter"/>).
          </para>
        </listitem>
      </itemizedlist>
    </para>

    <note>
      <para>The <guilabel>Basic Information</guilabel> and <guilabel>Transfer Accounts</guilabel> panes will be
        disabled in the <guilabel>Transfer Funds</guilabel> dialog when it is being used only to
        collect exchange rate or amount information.
      </para>
    </note>

    <sect2>
      <title>Basic Information</title>

      <para>The Basic Information section collects the entries for constructing a transaction: Date,
        description, amount, etc.
      </para>

      <itemizedlist>
        <listitem>
          <para><guilabel>Amount:</guilabel> The amount of the transaction in the <guilabel>Transfer
            From</guilabel>account's commodity.
          </para>
        </listitem>

        <listitem>
          <para><guilabel>Date:</guilabel> The posting date for the transaction, i.e. the date that you want to
            record it in your book.
          </para>
        </listitem>

        <listitem>
          <para><guilabel>Num:</guilabel> A reference number for the transaction, often a check number.
          </para>
        </listitem>

        <listitem>
          <para><guilabel>Description:</guilabel> The description of the transaction, often the payer or payee.
          </para>
        </listitem>

        <listitem>
          <para><guilabel>Memo:</guilabel> Additional information you might want to note about the transaction.
            Anything entered here will be added to the <guilabel>Memo</guilabel> fields of
            <emphasis>both</emphasis> splits.
          </para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title>Transfer Accounts</title>

      <para>The <guilabel>Transfer From</guilabel> and <guilabel>Transfer To</guilabel> tree views are used to
        select the accounts which will participate in the transaction. They normally show only Asset
        and Liability accounts. If you need to use an Income or Expense account in one of them,
        check the <guilabel>Show Income/Expense</guilabel> checkbox below the appropriate view.
      </para>

      <itemizedlist>
        <listitem>
          <para>Choose the <guilabel>Transfer From</guilabel> account.
          </para>
        </listitem>

        <listitem>
          <para>Choose the <guilabel>Transfer To</guilabel> account.
          </para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="trans-win-price">
      <title>Currency Transfer</title>

      <para>The <guilabel>Currency Transfer</guilabel> pane is used to collect the needed information to enter
        the amount of the <guilabel>Transfer To</guilabel> split. You may enter either a price or an
        amount and <application>&appname;</application> will compute the other. If you have Online
        Price Retrieval installed (see <xref linkend="fq-install"/>) you can use the <guilabel>Fetch
        Rate</guilabel> button to retrieve a current quote.
      </para>

      <para>The <guilabel>Currency Transfer</guilabel> pane is enabled only if the selected accounts use
        different commodities or the <guilabel>Transfer Funds</guilabel> dialog was launched to
        collect price or amount information from editing a transaction in the register.
      </para>

      <para>The <guilabel>Currency Transfer</guilabel> pane is organized as a radio group with two selections,
        <guilabel>Exchange Rate</guilabel> and <guilabel>To Amount</guilabel>. Each consists of a
        radio button and a numeric entry.
      </para>

      <para>If a relevant price is available in the price database (see <xref linkend="tool-price-manual"/>) the
        <guilabel>Exchange Rate</guilabel> will have that as a default entry.
      </para>

      <itemizedlist>
        <listitem>
          <para>Select the <guilabel>Exchange Rate</guilabel> radio button if you want to enter a price or use the
            <guilabel>Fetch Rate</guilabel> button.
          </para>
        </listitem>

        <listitem>
          <para>Select the <guilabel>To Amount</guilabel> radio button if you want to enter the amount of the
            <emphasis>To Account</emphasis> split.
          </para>
        </listitem>

        <listitem>
          <para>Enter the price/exchange rate or the amount in the numeric entry corresponding to radio button you
            selected. <application>&appname;</application> will calculate the other amount for you
            when you exit the field. If it's enabled you can use the <guilabel>Fetch Rate</guilabel>
            button to retrieve a current quote.
          </para>
        </listitem>
      </itemizedlist>

      <note>
        <para>If you have created a price in the <guilabel>Price Editor</guilabel> (see
          <xref
      linkend="tool-price-manual"/>) for the current date quote retrieval will not
          update that price. You must first delete the manually-created price in the <guilabel>Price
          Editor</guilabel> before you
          <keycombo action="click">
            <mousebutton>Button1</mousebutton>
          </keycombo>
          on the <guibutton>Fetch Rate</guibutton> button.
        </para>
      </note>

      <note>
        <para>The <guibutton>Fetch Rate</guibutton> button will immediately create or replace a price in the
          <guilabel>Price Editor</guilabel> unless there is an existing manually-created price for
          today.
        </para>
      </note>
    </sect2>

    <sect2>
      <title>Finishing Up</title>

      <para>Select <guibutton>OK</guibutton> to commit the transaction (or confirm the price/amount) or
        <guibutton>Cancel</guibutton> to dismiss the dialog without entering the transaction.
        <note>
          <para>When committing a transaction or confirming an exchange rate the price on the transaction date in
            the <guilabel>Price Editor</guilabel> may be updated. See
            <xref
    linkend="tool-price"/> for details.
          </para>
        </note>
      </para>
    </sect2>
  </sect1>

  <sect1 id="trans-enter">
    <title>Enter Transaction via register</title>

    <para>When the Account Register Window for an account is opened the list of transactions for that account
      is shown. This window has the name of the account on its tab. The menus contain several
      functions that alter the display of transactions. The <emphasis>Toolbar</emphasis> also
      contains several functions that are often used when entering or manipulating transactions.
      These are described in the <xref linkend="account-register"></xref> section of this document.
    </para>

    <sect2 id="trans-reg-enter">
      <title>Entering Directly in the Register Window</title>

      <para>The register window will look slightly different depending on the style options you have chosen. The
        following describes entering simple transactions in the basic ledger style. The cursor is
        placed in the <guilabel>date</guilabel> field by default when the register window is opened.
      </para>

      <note>
        <para>When working on transactions in <application>&appname;</application>, be aware that the
          <keycap function="enter">Enter</keycap> key and the <keycap function="tab">Tab</keycap>
          key behave differently, and perform different actions.
        </para>

        <para>The <keycap function="enter">Enter</keycap> key moves to the first field of the next split,
          regardless of which field you are in. If there is no next split, proceeds to the next
          transaction. In any case, <keycap function="enter">Enter</keycap> finishes the transaction
          edit, and any imbalance is posted to <emphasis>Imbalance-CUR</emphasis>, where
          <emphasis>CUR</emphasis> is the currency of the transaction.
        </para>

        <para>The <keycap function="tab">Tab</keycap> key moves to the next field in the current split. If it's
          the last field, moves to the next split, creating a new one if there isn't one. If the
          split is blank, the <keycap function="tab">Tab</keycap> key finishes the transaction and
          posts any imbalance to <emphasis>Imbalance-CUR</emphasis>, as above.
        </para>
      </note>

      <orderedlist>
        <listitem>
          <para>Selecting the small icon on the right of the date field drops down a date selection calendar. Use
            the arrows to select the correct month and year for the transaction then select the
            date. Selecting the icon once more will close the date selection calendar. It is also
            possible to type in the date or part of the date and let
            <application>&appname;</application> fill the rest.
          </para>
        </listitem>

        <listitem>
          <para>Press <keycap>Tab</keycap> to move to or select the <guilabel>Num</guilabel> field. Here you can
            enter a check or transaction number. Pressing <keycap>+</keycap> (plus) will
            automatically advance the number by one from the last transaction to have a number.
          </para>
        </listitem>

        <listitem>
          <para>Press <keycap>Tab</keycap> to move or select the <guilabel>Description</guilabel> field. This field
            is used to enter either a payee or other description for the transaction. It will
            automatically attempt to fill the payee name as you type.
          </para>
        </listitem>

        <listitem>
          <para>At this stage one of two things will happen if tab is pressed. If
            <application>&appname;</application> matches an existing transaction the cursor will
            jump to one of the amount fields, automatically filling in the transfer account.
            Selecting any field with the mouse instead of tabbing will not automatically fill the
            transferring account field. If there is no matching (existing) transaction,
            <application>&appname;</application> will move the cursor to the
            <guilabel>Transfer</guilabel> field with only one line of the transaction supplied.
          </para>
        </listitem>

        <listitem>
          <para>Accounts may be selected either by typing them in or by pressing the small button on the right of
            the <guilabel>Transfer</guilabel> field, which will display a pick list of all
            non-placeholder accounts. Note that this pick list will still display hidden accounts.
            If you have hidden an account in your chart of accounts, you may want to set the account
            also to be a placeholder account so that it doesn't display here.
          </para>

          <para>When typing, <application>&appname;</application> will fill in available accounts as you type. For
            example, if you have <emphasis>Equity</emphasis> and <emphasis>Expenses</emphasis>
            top-level accounts, typing <keycap>E</keycap> will fill in
            <emphasis
          role="bold">Equity</emphasis> because it sorts before
            <emphasis role="bold">Expenses</emphasis>. Continuing to type <keycap>x</keycap> will
            present <emphasis
          role="bold">Expenses</emphasis> the account separator
            (<keycap>:</keycap> by default, see
            <xref
          linkend="prefs-accounts"></xref>Account Preferences about changing it)
            will accept the currently offered account so that you can start typing the name of a
            child account.
          </para>
        </listitem>

        <listitem>
          <para>The next field <guilabel>R</guilabel> is used for reconciliation. This is described in the
            <guimenu>Reconcile an Account to a Statement</guimenu> section.
            <xref linkend="acct-reconcile"></xref>
          </para>
        </listitem>

        <listitem>
          <para>Press the <keycap>Tab</keycap> key to move to the first of the amount fields. The names of the next
            two columns are different according to what type of account is opened. For example,
            <emphasis>Bank</emphasis> accounts show <guilabel>Deposit</guilabel> and
            <guilabel>Withdrawal</guilabel> here, <emphasis>Credit Card</emphasis> accounts show
            <guilabel>Payment</guilabel> and <guilabel>Charge</guilabel>, and
            <emphasis>Stock</emphasis> accounts show <guilabel>Shares</guilabel>,
            <guilabel>Price</guilabel>, <guilabel>Buy</guilabel> and <guilabel>Sell</guilabel>.
          </para>
        </listitem>

        <listitem>
          <para>Enter an amount for the transaction in the correct fields. When the transaction is "balanced"
            pressing the <keycap function="enter">Enter</keycap> key, selecting the
            <guibutton>Enter</guibutton> icon or going to
            <menuchoice>
              <guimenu>Transaction</guimenu><guimenuitem>Enter Transaction</guimenuitem>
            </menuchoice>
            will finish the transaction. Selecting the <guibutton>Cancel</guibutton> icon or going
            to
            <menuchoice>
              <guimenu>Transaction</guimenu><guimenuitem>Cancel Transaction</guimenuitem>
            </menuchoice>
            will erase the transaction.
          </para>
        </listitem>

        <listitem>
          <para>Transactions with just one transfer account will show the name of that account in the
            <guilabel>Transfer</guilabel> field in completed transactions. (The
            <guilabel>Transfer</guilabel> field is the fourth (4) from the left in the register
            display.)
          </para>
        </listitem>

        <listitem>
          <para>To move to the blank transaction at the bottom of the register, press the
            <guibutton>Blank</guibutton> <emphasis>Toolbar</emphasis> icon or go to
            <menuchoice>
              <guimenu>Actions</guimenu><guimenuitem>Blank Transaction</guimenuitem>
            </menuchoice>
            .
          </para>
        </listitem>
      </orderedlist>
    </sect2>
  </sect1>

  <sect1 id="trans-assoc">
    <title>Associating an External File with a Transaction.</title>

    <para>Some users find it helpful to associate external files or URLs, perhaps images of store receipts,
      cancelled checks, or vendor invoices, with their transactions. &app; provides a facility for
      doing just that.
    </para>

    <para>Select a transaction in the <guilabel>Register</guilabel> and <mousebutton>Button2</mousebutton>
      click it to present the <guimenu>Context Menu</guimenu> and select <guimenuitem>Update
      Association for Transaction</guimenuitem>. You will be presented with the <guilabel>Change a
      Transaction Association</guilabel> dialog.
    </para>

    <figure pgwide="1">
      <title>Change a Transaction Association Dialog</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/Trans_Assoc_Dialog.png"
                         srccredit="Frank H. Ellenberger" />
          </imageobject>
        </mediaobject>
      </screenshot>
    </figure>

    <para>At the top is a radio button with two choices <guilabel>File Association</guilabel> and
      <guilabel>Location Association</guilabel>. If there's an item associated then the radio button
      will have the appropriate selection. At the bottom, 3 buttons: <guilabel>Remove</guilabel>,
      <guilabel>Cancel</guilabel>, and <guilabel>OK</guilabel>. <guilabel>Remove</guilabel> will
      remove the current association and close the dialog box; the other two do the usual actions.
    </para>

    <para>If the <guilabel>File Association</guilabel> radio button is selected the control beneath it is a
      file chooser button. It will display the name of the selected file if there is one or
      <guilabel>None</guilabel> if there isn't. Clicking the button will bring up a file chooser
      dialog from which one may select the file to associate.
    </para>

    <para>If the <guilabel>Location Association</guilabel> radio button is selected there is a text entry
      beneath it in which you may type a URL.
    </para>

    <para>When you have finished click the <guilabel>OK</guilabel> button to confirm your choice or the
      <guilabel>Cancel</guilabel> button to dismiss the dialog without making a change.
    </para>

    <para><guimenuitem>Open Association for Transaction</guimenuitem> is enabled if there is a file or URL
      associated with the selected transaction. Selecting it will open a file in the operating
      system's default viewer for the file type and a URL in the default browser
    </para>

    <para><guimenuitem>Remove Association from Transaction</guimenuitem> is enabled if there is a file or URL
      associated with the selected transaction and does exactly what you'd expect.
    </para>

    <figure float="1">
      <title>Chain and Paperclip</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/Trans_Assoc_Symbols.png"
                       srccredit="Frank H. Ellenberger" />
          </imageobject>
        </mediaobject>
      </screenshot>
    </figure>

    <para>When the <guilabel>Register</guilabel> is in <guilabel>Double Line</guilabel> mode the cell
      underneath the <guilabel>Reconciliation</guilabel> cell is the
      <guilabel>Association</guilabel> cell and displays
      <itemizedlist>
        <listitem>
          <para>a <emphasis>paperclip symbol</emphasis> if there is a file associated with the transaction and
          </para>
        </listitem>

        <listitem>
          <para>a <emphasis>chain-link symbol</emphasis> if there is a URL associated with it
          </para>
        </listitem>
      </itemizedlist>
      as long as those symbols are supported by the current font for the cell. Hovering over the
      cell will display the file path or URL in a tooltip and clicking in it will open the file or
      URL as the <guimenuitem>Open Transaction</guimenuitem> context menu item would.
    </para>
  </sect1>

  <sect1 id="trans-multi-enter">
    <title>Multiple Split Transactions</title>

    <para>The register window will look slightly different depending on the style options you have chosen. The
      following describes entering transactions with multiple splits in the basic ledger style.
      <application>&appname;</application> describes as a <quote>Split</quote> when money is
      transferred to or from more than two accounts in a transaction. The cursor is placed in the
      date field by default when the register window is opened.
    </para>

    <para>The multiple account lines will not be displayed in the Basic Ledger unless the
      <guibutton>Split</guibutton> icon or the
      <menuchoice>
        <guimenu>Action</guimenu><guimenuitem>Split Transaction</guimenuitem>
      </menuchoice>
      option have been selected.
    </para>

    <orderedlist>
      <listitem>
        <para>Selecting the triangle icon on the right of the date field drops down a date selection dialog. Use
          the arrows to select the correct month and year for the transaction then select the date.
          Selecting the icon once more will close the date selection calendar. It is also possible
          to type in the date or part of the date and let <application>&appname;</application> fill
          the rest.
        </para>
      </listitem>

      <listitem>
        <para>Press <keycap>Tab</keycap> to move to or select the <guilabel>Num</guilabel> field. Here you can
          enter a check or transaction number. Pressing <keycap>+</keycap> (plus) will automatically
          advance the number by one from the last transaction to have a number.
        </para>
      </listitem>

      <listitem>
        <para>Press <keycap>Tab</keycap> to move to or select the <guilabel>Description</guilabel> field. This
          field is used to enter either a payee or other description for the transaction. It will
          automatically attempt to fill the payee name as you type.
        </para>
      </listitem>

      <listitem>
        <para>At this stage one of two things will happen if tab is pressed. If
          <application>&appname;</application> matches an existing transaction the cursor will jump
          to one of the amount fields, automatically filling in the transfer account. Selecting any
          field with the mouse instead of tabbing will not automatically fill the transferring
          account field. If there is no matching (existing) transaction,
          <application>&appname;</application> will move the cursor to the
          <guilabel>Transfer</guilabel> field with only one line of the transaction supplied.
        </para>
      </listitem>

      <listitem>
        <para>When typing in the <guilabel>Transfer</guilabel> field <application>&appname;</application> will
          also attempt to automatically match the account. It does this alphabetically, so typing
          <userinput>Ex</userinput> will match the <computeroutput>Expenses</computeroutput> section
          of the account list. When the section is matched, it is possible to move to a child
          account by pressing <keycap>:</keycap> (colon). If after typing <emphasis>Ex</emphasis>
          you press <keycap>:</keycap> then the cursor will move to the first child account in the
          list. Typing combinations of letters and <keycap>:</keycap> will allow movement down the
          tree of accounts quickly. The small icon on the right of the <guilabel>Transfer</guilabel>
          field can be used as an alternate way of selecting accounts.
        </para>
      </listitem>

      <listitem>
        <para>The next field is used for reconciliation. This is described in
          <xref linkend="acct-reconcile"></xref>
        </para>
      </listitem>

      <listitem>
        <para>Press <keycap>Tab</keycap> to move to the first of the amount fields. The names of the next two
          columns are different according to what type of account is opened. For example, Bank
          accounts show Deposit and Withdrawal here, Credit Card accounts show Payment and Charge,
          and Stock accounts show Shares, Price, Buy and Sell.
        </para>
      </listitem>

      <listitem>
        <para>Enter the total amount for the transaction in the correct field. Before pressing
          <keycap>Tab</keycap> or <keycap function="enter">Enter</keycap> read next step.
        </para>
      </listitem>

      <listitem>
        <para>To enter the additional splits, press the <guibutton>Split</guibutton> button on the
          <emphasis>Toolbar</emphasis> or select
          <menuchoice>
            <guimenu>Actions</guimenu><guimenuitem>Split Transaction</guimenuitem>
          </menuchoice>
          . Transactions with more than one split show the text <emphasis>--Split
          Transaction--</emphasis> and the <guibutton>Split</guibutton> button will need to be used
          to show the details.
        </para>
      </listitem>

      <listitem>
        <para>The display will expand, the titles of the amount columns will be renamed and the
          <guilabel>Transfer</guilabel> column name will be blank. The first line contains the
          description and the amount of the transaction. The second line contains the currently
          opened account name in the <guilabel>Account</guilabel> field and the amount of the
          transaction. The third line contains the transfer account name in the
          <guilabel>Account</guilabel> field. If the amount is not balanced,
          <application>&appname;</application> will indicate this by placing gray check-boxes in the
          amount columns with the unbalanced amount in a blank last row.
        </para>
      </listitem>

      <listitem>
        <para>When one of the short lines is selected, the column titles will change. The very first and last
          (<guilabel>Date</guilabel> and <guilabel>Balance</guilabel>) columns will have blank
          titles. <guilabel>Num</guilabel> will change to <guilabel>Action</guilabel>,
          <guilabel>Description</guilabel> to <guilabel>Memo</guilabel>, the now blank
          <guilabel>Transfer</guilabel> column will change to <guilabel>Account</guilabel>. The last
          two amount columns will show the name described in step seven.
        </para>
      </listitem>

      <listitem>
        <para>The <guilabel>Action</guilabel> and <guilabel>Memo</guilabel> columns are optional to fill out at
          this stage. <guilabel>Action</guilabel> is used to describe what kind of account transfer
          is involved. <guilabel>Memo</guilabel> is an additional description of the transfer.
        </para>
      </listitem>

      <listitem>
        <para>Move to the missing amount field on the third line and fill in the amount. Pressing the
          <keycap function="enter">Enter</keycap> key, selecting the <guibutton>Enter</guibutton>
          icon or going to
          <menuchoice>
            <guimenu>Actions</guimenu><guimenuitem>Enter</guimenuitem>
          </menuchoice>
          will now move the cursor to the next line.
        </para>
      </listitem>

      <listitem>
        <para>The <guilabel>Account</guilabel> column contains the list of transfer accounts. This column is the
          one that is used to add splits. The method described in step five can be used to select
          another account on a blank line. Add as many additional splits as needed.
        </para>
      </listitem>

      <listitem>
        <para>When the transaction is balanced the gray check-boxes will disappear and the last blank line will
          not have an amount.
        </para>
      </listitem>

      <listitem>
        <para>Pressing <keycap function="enter">Enter</keycap> as described above will jump to the next
          transaction. Selecting the next transaction will close the split or it can be manually
          closed by pressing the <guibutton>Split</guibutton> icon or selecting
          <menuchoice>
            <guimenu>Actions</guimenu><guimenuitem>Split Transaction</guimenuitem>
          </menuchoice>
          .
        </para>
      </listitem>
    </orderedlist>
  </sect1>

  <sect1 id="trans-currency-enter">
    <title>Multiple Currency/Commodity Transactions</title>

    <para>Any transaction that has splits whose accounts are denominated in different commodities (currencies
      are a subset of commodities) requires an exchange rate to convert between the two. For more
      information please see Chapter 10 of the <emphasis role="italic">Tutorial and Concepts
      Guide</emphasis>.
    </para>

    <para>Registers for accounts of type STOCK or FUND display four columns, <guilabel>Shares</guilabel>,
      <guilabel>Price</guilabel>, <guilabel>Buy</guilabel>, and <guilabel>Sell</guilabel> (the last
      two will be <guilabel>Credit</guilabel> and <guilabel>Debit</guilabel> respectively if you've
      enabled <guilabel>Use formal accounting labels</guilabel> in the <guilabel>Accounts</guilabel>
      tab of <guilabel>Preferences</guilabel>). Enter any two and
      <application>&appname;</application> will calculate the other for you; if you enter 3 and the
      result doesn't balance <application>&appname;</application> will ask which one to change to
      make the split balance.
    </para>

    <para>Registers of other types have only <guilabel>Credit</guilabel> and <guilabel>Debit</guilabel> (the
      names will be different depending on the account type if you haven't enabled <guilabel>Use
      formal accounting labels</guilabel>) and so use the <guilabel>Transfer Dialog</guilabel> with
      most of the fields disabled to collect either an <guilabel>Exchange Rate</guilabel> or a
      <guilabel>To Amount</guilabel> (the amount in the other currency/comodity). Please see
      (<xref
    linkend="trans-win-price"></xref>) for details of using this dialog.
    </para>

    <note>
      <para>When committing a transaction or confirming an exchange rate the price on the transaction date in
        the <guilabel>Price Editor</guilabel> may be updated. See <xref
    linkend="tool-price"/>
        for details.
      </para>
    </note>
  </sect1>

  <sect1 id="trans-edit">
    <title>Editing a Transaction</title>

    <para>Editing a transaction involves just selecting the part of the transaction that needs to be changed.
      Once the changes are complete pressing the <keycap function="enter">Enter</keycap> key,
      selecting the <guibutton>Enter</guibutton> icon or going to
      <menuchoice>
        <guimenu>Transaction</guimenu><guimenuitem>Enter Transaction</guimenuitem>
      </menuchoice>
      will now move the cursor to the next line or transaction.
    </para>

    <para>To see a more detailed view of a transaction for editing in Basic Ledger, press the
      <guibutton>Split</guibutton> button on the <emphasis>Toolbar</emphasis> or select
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Split Transaction</guimenuitem>
      </menuchoice>
      .
    </para>
  </sect1>

  <sect1 id="trans-delete">
    <title>Deleting a Transaction</title>

    <para>If a transaction needs to be removed from the register, select the transaction and press either the
      <guibutton>Delete</guibutton> icon on the <emphasis>Toolbar</emphasis> or go to
      <menuchoice>
        <guimenu>Transaction</guimenu><guimenuitem>Delete Transaction</guimenuitem>
      </menuchoice>
      . A window will appear to confirm the delete, unless the preference has been changed. The
      window presents two options; "Remember and don&rsquo;t ask again", and "Remember and
      don&rsquo;t ask again this session". The response will be set according to the selected
      checkbox. The preference can also be reset via
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Reset Warnings</guimenuitem>
      </menuchoice>
      . <xref linkend="reset-warning"></xref>.
    </para>

    <para>Parts of a transaction can also be removed by pressing the <guibutton>Split</guibutton> button on
      the <emphasis>Toolbar</emphasis> or selecting
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Split Transaction</guimenuitem>
      </menuchoice>
      . The part of the transaction that needs to be deleted can be then selected for deletion.
    </para>
  </sect1>

  <sect1 id="trans-reverse">
    <title>Add Reversing Transaction</title>

    <para>In formal accounting, transactions should never be deleted or altered. Instead, when a mistake is
      made, the original transaction remains in the ledger, and a reversing transaction is added to
      the ledger. This <emphasis>reversing transaction</emphasis> restores the ledger to its state
      before the error, allowing the user to enter the transaction again correctly.
    </para>

    <para>While a user can certainly enter reversing transactions manually,
      <application>&appname;</application> includes a menu option (
      <menuchoice>
        <guimenu>Transaction</guimenu><guimenuitem>Add Reversing Transaction</guimenuitem>
      </menuchoice>
      ) that can quickly create the reversing transaction for you. This option only appears when you
      are in an account register. When you are in the transaction that needs to be reversed, all you
      need to do is select this menu item, and a duplicate transaction that reverses the active
      transaction is immediately created.
    </para>

    <note>
      <para>Once you choose the menu item, a reversing transaction is immediately created in the account using
        the current date. You may wish to locate the new transaction at the end of the register, and
        add explanatory notes to it.
      </para>
    </note>
  </sect1>

  <sect1 id="trans-split-remove">
    <title>Removing Transaction Splits</title>

    <para>Removing Transaction Splits involves erasing all splits except the one for the account that is
      opened. This is a useful way of reusing a previous transaction that has multiple splits that
      need to be changed. (Note this can be done without opening the split, but doing so makes the
      effect more visible)
    </para>

    <orderedlist>
      <listitem>
        <para>If in Basic Ledger, press the <guibutton>Split</guibutton> button on the
          <emphasis>Toolbar</emphasis> or select
          <menuchoice>
            <guimenu>Actions</guimenu><guimenuitem>Split Transaction</guimenuitem>
          </menuchoice>
          to open the transaction. If in other modes select transaction.
        </para>
      </listitem>

      <listitem>
        <para>Select
          <menuchoice>
            <guimenu>Transaction</guimenu><guimenuitem>Remove Transaction Splits</guimenuitem>
          </menuchoice>
          .
        </para>

        <para>A window will appear to confirm the delete, unless the preference has been changed. The window
          presents two options; "Remember and don&rsquo;t ask again", and "Remember and don&rsquo;t
          ask again this session". The response will be set according to the selected checkbox. The
          preference can also be reset via
          <menuchoice>
            <guimenu>Actions</guimenu><guimenuitem>Reset Warnings</guimenuitem>
          </menuchoice>
          . <xref linkend="reset-warning"></xref>.
        </para>
      </listitem>

      <listitem>
        <para>All Accounts and their related details will be removed except for the currently opened account.
        </para>
      </listitem>

      <listitem>
        <para>The amount is not balanced and <application>&appname;</application> will indicate this by placing
          gray check-boxes in the amount columns with the unbalanced amount in the blank last row.
        </para>
      </listitem>

      <listitem>
        <para>Edit the transaction to fill in the new details.
        </para>
      </listitem>
    </orderedlist>
  </sect1>

  <sect1 id="trans-copy">
    <title>Copying a Transaction</title>

    <para>Copying Transactions is available from the <guimenu>Transaction</guimenu> menu. The
      <guimenu>Transaction</guimenu> menu has <guimenu>Cut Transaction</guimenu>, <guimenu>Copy
      Transaction</guimenu> and <guimenu>Paste Transaction</guimenu> which allows a whole
      transaction to be cut or copied and pasted to a new transaction line. This way of copying a
      transaction will use the date showing in the new transaction blank line.
    </para>

    <para>The
      <menuchoice>
        <guimenu>Transaction</guimenu><guimenuitem>Duplicate Transaction...</guimenuitem>
      </menuchoice>
      or the <emphasis>Toolbar</emphasis> <guimenu>Duplicate</guimenu> which, unlike the Copy
      method, allows for choosing a different date.
    </para>

    <itemizedlist>
      <listitem>
        <para>Select the transaction to duplicate.
        </para>
      </listitem>

      <listitem>
        <para>Go to
          <menuchoice>
            <guimenu>Transaction</guimenu><guimenuitem>Duplicate Transaction...</guimenuitem>
          </menuchoice>
        </para>
      </listitem>

      <listitem>
        <para>A dialog called <emphasis role="bold">Duplicate Transaction</emphasis> will prompt for a new Date
          and Num for the transaction.
        </para>
      </listitem>

      <listitem>
        <para>Press <guibutton>OK</guibutton> to add the transaction to the register.
        </para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="trans-stts">
    <title>Setting the reconcile status (<guilabel>R</guilabel> field) of a transaction</title>

    <para>In the <application>&appname;</application> register there is a column labeled
      <guilabel>R</guilabel>. This field indicates the status of a transaction. Possible values are:
    </para>

    <variablelist>
      <varlistentry>
        <term><guilabel>n</guilabel></term>

        <listitem>
          <para>No. This is the default status when a transaction is created.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><guilabel>c</guilabel></term>

        <listitem>
          <para>Cleared. Status may be assigned either manually or by an import process. Indicates the transaction
            is included in the bank's record of the account transactions but has not yet been
            reconciled to a bank statement in &app;.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><guilabel>y</guilabel></term>

        <listitem>
          <para>Yes, reconciled. This status is solely assigned by the reconciliation process (see
            <xref linkend="acct-reconcile" />). Places limits optionally requiring confirmation on
            editing fields in that line of a transaction.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><guilabel>f</guilabel></term>

        <listitem>
          <para>Frozen. Not implemented at this time
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><guilabel>v</guilabel></term>

        <listitem>
          <para>Voided. Status is assigned or released manually through the transaction menu
            (<xref linkend="Trans-transaction-menu" />) to a transaction and applies to every line
            in the transaction. It hides most of the transaction details but does not delete them.
            When a transaction is voided a reason entry is required that appears to the right of the
            transaction notes. The notes and void reason will only be visible when you have enabled
            <menuchoice>
              <guimenu>View</guimenu><guimenuitem>Double Line</guimenuitem>
            </menuchoice>
            .
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>

  <sect1 id="acct-jump">
    <title>Jump to another Account Register</title>

    <para>When using the Account Register Window it is frequently useful to be able to view another account
      and also the transfer account at the same time. <application>&appname;</application> allows
      you to do this quickly by using the <guibutton>Jump</guibutton> button available in the
      <emphasis>Toolbar</emphasis> or the
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Jump</guimenuitem>
      </menuchoice>
      menu item in the Account Register Window.
    </para>

    <para>Select the transaction in the Account Register Window and either click the
      <guibutton>Jump</guibutton> icon or select
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Jump</guimenuitem>
      </menuchoice>
      to open the Account Register Window target. If the transaction is split between more than one
      transfer account then you will need to show all the split transfer accounts first and select
      the transfer account to jump to.
    </para>
  </sect1>

  <sect1 id="trans-sched">
    <title>Scheduling Transactions</title>

    <para>Scheduled Transactions provide the ability to have reminders scheduled or transactions scheduled to
      be entered at a specified date. This is combined with the <guilabel>Since Last Run</guilabel>
      assistant (<xref linkend="trans-sched-slr"></xref>) to review and enter the transactions. The
      <guilabel>Mortgage &amp; Loan Repayment</guilabel> assistant
      (<xref linkend="trans-sched-loans"></xref>) is used to setup a scheduled transaction to repay
      a compounding interest loan. The Scheduled Transaction Editor
      (<xref linkend="sched-editor"></xref>) is used to create and edit transactions that are to be
      added to the register in an automated way.
    </para>

    <para>The easiest way to setup a scheduled transaction is to use an existing transaction in an account
      register as a template. Select the transaction you wish to use as a template and then either
      select the <guibutton>Schedule</guibutton> icon on the <emphasis>Toolbar</emphasis> or go to
      <menuchoice>
        <guimenu>Actions</guimenu><guimenuitem>Schedule...</guimenuitem>
      </menuchoice>
      . This will bring up the <emphasis role="bold">Make Scheduled Transaction</emphasis> dialog.
    </para>

    <itemizedlist>
      <listitem>
        <para><guilabel>Name:</guilabel> Enter a name to use for the scheduled transaction. This will be used in
          the <guilabel>Description</guilabel> field of the transaction.
        </para>
      </listitem>

      <listitem>
        <para><guilabel>Frequency:</guilabel> Choose the time period you want between scheduled entries. The dates
          that the transactions will be entered will show in the mini calendar pane to the right.
        </para>
      </listitem>

      <listitem>
        <para><guilabel>Start Date:</guilabel> Choose a date for the scheduled transaction to start.
        </para>
      </listitem>

      <listitem>
        <para><guilabel>Never End:</guilabel> This scheduled transaction has no finish date.
        </para>
      </listitem>

      <listitem>
        <para><guilabel>End Date:</guilabel> Choose a date for the scheduled transaction to end.
        </para>
      </listitem>

      <listitem>
        <para><guilabel>Number of Occurrences:</guilabel> Enter the number of times you wish the scheduled
          transaction to be added to the register.
        </para>
      </listitem>
    </itemizedlist>

    <para>The <guilabel>Advanced...</guilabel> button brings up the Scheduled Transaction Editor&rsquo;s
      dialog to Edit the Scheduled Transaction. This is described in the section Scheduled
      Transaction Editor. <xref linkend="sched-editor"></xref>
    </para>

    <sect2 id="sched-trans-win">
      <title>Scheduled Transactions Window</title>

      <para>The Scheduled Transactions Window is used to access the list of scheduled transactions and create,
        edit or remove them. It also provides a calendar which displays upcoming scheduled
        transactions. Clicking on the calendar view and hovering over any date will pop up a small
        dialog that shows the transactions scheduled for that day. The blue highlight in the
        calendar indicates which days have scheduled transactions. To dismiss the hover dialog click
        once more.
      </para>

      <para>The top pane of the Scheduled Transaction Window contains the list of scheduled transactions that
        are currently setup. This window lists the Name of the transaction, if the transaction is
        enabled for scheduling, the Frequency (month and day) that the transaction is to be entered,
        the last time the transaction was entered and the next time the transaction will be entered.
      </para>

      <para>The right side of this pane contains a down arrow button that when clicked will pull-down a window
        to allow selection of the characteristics displayed in the list. Unchecking the appropriate
        box will remove the characteristic from the display.
      </para>

      <para>The <emphasis>Toolbar</emphasis> of this window contains three buttons to create, delete and edit
        scheduled transactions. <guibutton>New</guibutton> and <guibutton>Edit</guibutton> buttons
        opens the Edit Scheduled Transaction dialog. <guibutton>Delete</guibutton> removes the
        selected scheduled transaction. The same options are available thru
        <menuchoice>
          <guimenu>Schedule</guimenu><guimenuitem>New/Edit/Delete</guimenuitem>
        </menuchoice>
        , from the Scheduled Transaction Tab.
      </para>

      <para>Below the list of scheduled transactions is the Upcoming calendar. This calendar displays up to the
        next year and highlights the dates that the scheduled transactions are scheduled to occur so
        it is easy to see when the transactions are scheduled. Clicking on a date in the calendar
        brings up a list of scheduled transactions for that date. Moving the mouse over other dates
        changes to the list of transactions on those dates. Clicking once more on the calendar
        removes the transaction list.
      </para>

      <para>The Scheduled Transaction Window is activated from the Account tab or the Transaction Register via
        <menuchoice>
          <guimenu>Actions</guimenu><guisubmenu>Scheduled Transaction</guisubmenu>
          <guimenuitem>Scheduled Transaction Editor...</guimenuitem>
        </menuchoice>
        .
      </para>
    </sect2>
  </sect1>

  <sect1 id="sched-editor">
    <title>Edit Scheduled Transaction Window</title>
<!-- Todo: has been redesigned -->
    <para>The Edit Scheduled Transaction Window is divided into a Name area, Options area, Occurrences area,
      Recurrence Frequency area, mini calendar and Template Transaction pane.
    </para>

    <para>The <guilabel>Name</guilabel> field is used to enter the name for the scheduled transaction. This
      will be used in the <guilabel>Description</guilabel> of the transaction.
    </para>

    <para>The <guilabel>Options</guilabel> area contains check-boxes to set if the transaction is
      automatically created and how many days in advance the transaction is created and/or a
      reminder posted.
    </para>

    <para>The <guilabel>Occurrences</guilabel> area contains selections to set for dates limits on
      transactions to be entered or the number of transactions to be entered.
    </para>

    <para>The <guilabel>Recurrence Frequency</guilabel> area contains selections to set how often the
      transaction is scheduled to be added and on what dates this occurs.
    </para>

    <para>The mini calendar provides a visual indication of what transactions are already scheduled.
    </para>

    <para>The <guilabel>Template Transaction</guilabel> pane allows you to setup the transaction as you would
      like it to be entered into the register.
    </para>

    <para>These options are described in more detail in <xref linkend="trans-sched"></xref>
    </para>

    <itemizedlist>
      <listitem>
        <para>From the Scheduled Transaction tab selecting a transaction from the list and pressing the
          <guibutton>Edit</guibutton> or <guibutton>New</guibutton> buttons will bring up the Edit
          Scheduled Transaction Editor.
        </para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="print-check">
    <title>Printing Checks</title>

    <para>Checks are printed in <application>&appname;</application> from the account register.
      <application>&appname;</application> provides the ability to print to several standard Quicken
      Checks (including US Letter) or to make a custom check format. Check position and Date formats
      are also customizable.
    </para>

    <para>To print a single check in <application>&appname;</application>, select the transaction to print a
      check for and go to
      <menuchoice>
        <guimenu>File</guimenu><guimenuitem>Print Checks</guimenuitem>
      </menuchoice>
      . This will open the Print Checks properties dialog to print the selected transaction.
    </para>

    <para>To print multiple checks in <application>&appname;</application> execute a search to find the
      transactions you wish to print. With the search results window as the front window go to
      <menuchoice>
        <guimenu>File</guimenu><guimenuitem>Print Checks</guimenuitem>
      </menuchoice>
      . This will open the Print Checks properties dialog to print all the transactions in the
      search results window.
    </para>

    <para>The Print Checks dialog has two tabs. The first tab, Options, is used to setup the most common
      options to print a check. The second tab, Custom format, is used to setup the position of
      various fields on the check. It is useful to print a test check to a plain piece of paper
      first and use that to make any adjustments needed.
    </para>

    <para>The default selection in Options is for Quicken/Quickbooks (tm) US-Letter checks.
    </para>

    <itemizedlist>
      <listitem>
        <para>Check format: Test with Quicken first then use custom if the position is incorrect.
        </para>
      </listitem>

      <listitem>
        <para>Check position: This sets if the Top, Middle or Bottom check is printed. Custom is used if the
          position of the checks on the page is incorrect.
        </para>
      </listitem>

      <listitem>
        <para>Date format: The default here is set in the Preferences International section. Choose a date format.
          This can also be adjusted by the Use of the Months: and Years: lines. Custom allows the
          date format to be set in the Format: box (%m means month, %d means day, %Y means year) A
          Sample of the format chosen is displayed below.
        </para>
      </listitem>

      <listitem>
        <para>Address: This sets the address of the Payee, if the check format includes a space for it and you are
          printing a single check.
        </para>
      </listitem>
    </itemizedlist>

    <para>The Custom format tab has two sections. The top half of the window (above the dividing line) allows
      you to position the fields in each check. It contains two columns to enter in the X and Y
      co-ordinates of the field position on the check. Positions in the Custom Check Format entry
      area are specified with x = 0 at the left edge of the check with x increasing to the right,
      and y = 0 at the top edge of the check with y increasing as you travel down. (If you are using
      a version of GTK prior to 2.10, then y = 0 is at the bottom of the page and y increases as you
      travel up.)
    </para>

    <itemizedlist>
      <listitem>
        <para>Payee:
        </para>
      </listitem>

      <listitem>
        <para>Date:
        </para>
      </listitem>

      <listitem>
        <para>Amount (words):
        </para>
      </listitem>

      <listitem>
        <para>Amount (numbers):
        </para>
      </listitem>

      <listitem>
        <para>Address:
        </para>
      </listitem>

      <listitem>
        <para>Notes:
        </para>
      </listitem>

      <listitem>
        <para>Memo:
        </para>
      </listitem>

      <listitem>
        <para>Splits Amount:
        </para>
      </listitem>

      <listitem>
        <para>Splits Memo:
        </para>
      </listitem>

      <listitem>
        <para>Splits Account:
        </para>
      </listitem>
    </itemizedlist>

    <para>The part of the custom format tab below the dividing line contains fields to position the entire
      check correctly on the page. The Translation field is the distance from the top left corner
      and the Rotation field rotates the check clockwise by the indicated amount.
    </para>

    <para>The Units field in the bottom half of the window specifies the units used in all the fields in both
      halves of the window.
    </para>

    <para>Once <guibutton>OK</guibutton> is pressed on the Print Check dialog the Print
      <application>&appname;</application> Document dialog is presented. Press
      <guibutton>OK</guibutton> to print the check.
    </para>
  </sect1>

  <sect1 id="trans-import">
    <title>Importing Transactions from Files</title>

    <para>Imported transactions will generally be to a specific account in your account tree. In the following
      this will be referred to as the <emphasis role="bold">import</emphasis> or
      <emphasis role="bold">base</emphasis> account. It may or may not be specified in the data
      being imported depending on the import format. It is usually the first split of a transaction
      being imported.
    </para>

    <para>All transactions will also need to have a <emphasis role="bold">destination</emphasis> account for
      any other splits associated with the tansaction. These may or may not be supplied in the
      imported data, depending upon the data source and the format of the data. If it is not,
      <application>&appname;</application> may be able to assign an account on the basis of the
      previous import history by matching infomation in the imported data to data associated with
      previous account assignments in the importer. The user may always over-ride this automatic
      assignment or where no assignment can be made automatically assign an account manually.
    </para>

    <para>Multi-split data exported from <application>&appname;</application> in CSV format will normally have
      both the import and destination accountsfor transaction splits specified in the data file.
    </para>

    <sect2 id="trans-import-formats">
      <title>Import Formats</title>

      <para><application>&appname;</application> allows transactions to be imported in a number of structured
        formats for the exchange of financial data as well as in the unstructured CSV format, a
        plain text tabular format commonly used for the import and export of data to and from
        spreadsheets:
      </para>

      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-qif">QIF</link></emphasis> (.qif) Quicken
            Interchange format - import data from Quicken financial software;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-ofx">OFX/QFX</link></emphasis> (.ofx,.qfx) Open
            Financial eXchange format (QXF is an Intuit/Quicken proprietary version of OFX);
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-csv">CSV</link></emphasis> (.csv) Comma Separated
            Values;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-aqbanking">Others</link></emphasis>
            <guilabel>Import with AQBanking</guilabel> supports importing several European and
            International file formats including:
            <itemizedlist>
              <listitem>
                <para><emphasis role="bold">CAMT 052</emphasis>Daily Bank Statements
                </para>
              </listitem>

              <listitem>
                <para>OLYMPIC Banking System <emphasis role="bold">ERI</emphasis>
                </para>
              </listitem>

              <listitem>
                <para>Spanish <emphasis role="bold">Q45</emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold">SWIFT MT535, MT940, MT942.</emphasis>Bank Statements
                </para>
              </listitem>

              <listitem>
                <para>Swiss <emphasis role="bold">YellowNet XML</emphasis>
                </para>
              </listitem>
            </itemizedlist>
          </para>
        </listitem>
      </itemizedlist>

      <note>
        <para>Files using these formats do not necessarily use the file extensions shown above.
        </para>
      </note>

      <para>These import methods can be accessed from the
        <menuchoice>
          <guimenu>File</guimenu><guisubmenu>Import </guisubmenu>
        </menuchoice>
        sub-menu entry, along with methods for importing other types of data. Select the appropriate
        entry from the
        <menuchoice>
          <guimenu>File</guimenu><guisubmenu>Import</guisubmenu>
        </menuchoice>
        sub-menu to initiate importing transactions.
      </para>
    </sect2>

    <sect2 id="trans-import-prefs">
      <title>Import Preference</title>

      <para>User preferences set in the <link linkend="prefs-import">Import tab</link> or the
        <link linkend="prefs-online">Online Banking tab</link> of the user preferences accessed by
        <menuchoice>
          <guimenu>Edit</guimenu><guisubmenu>Preferences</guisubmenu>
        </menuchoice>
        from the menu will affect the importing of transactions from the files described below.
      </para>
    </sect2>

    <sect2 id="trans-import-qif">
      <title>Import QIF</title>

      <para>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.
      </para>

      <sect3>
        <title>To import QIF files:</title>

        <para>Select
          <menuchoice>
            <guimenu>File</guimenu> <guisubmenu>Import</guisubmenu> <guimenuitem>Import
            QIF...</guimenuitem>
          </menuchoice>
          from the menu to open the QIF Import dialog box illustrated below.
        </para>

        <figure pgwide="1">
          <title>The Import QIF Files Assistent</title>

          <screenshot id="ImportQIFDruid">
            <mediaobject>
              <imageobject role="html">
                <imagedata fileref="figures/Import_QIF_Druid.png"
                           srccredit="David Cousens" width="&img-w;"/>
              </imageobject>

              <imageobject role="fo">
                <imagedata fileref="figures/Import_QIF_Druid.png"
                           srccredit="David Cousens"/>
              </imageobject>
            </mediaobject>
          </screenshot>
        </figure>

        <formalpara>
          <title>Dialog Navigation</title>

          <para>The right hand pane will display some or all of the following navigation buttons:
            <itemizedlist>
              <listitem>
                <para><emphasis role="bold"><guibutton>Cancel</guibutton></emphasis>: Exit the dialog;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Back</guibutton></emphasis>: Go back to the previous step;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Next</guibutton></emphasis>: Proceed to the next step.
                </para>
              </listitem>
            </itemizedlist>
            The buttons displayed are determined by whether navigation to the destination step is
            valid from the current step.
          </para>
        </formalpara>

        <formalpara>
          <title>Import Dialog Steps</title>

          <para>The left hand pane lists the steps in the import dialog process. The right hand pane contains
            instructions and/or controls for performing the operations in the step selected and
            highlighted in the left hand pane. The import process steps are:
            <itemizedlist>
              <listitem>
                <para><emphasis role="bold"><guilabel>Import of QIF files</guilabel></emphasis>: Initial informational
                  panel. Click <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to
                  proceed;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Select a QIF file to load</guilabel></emphasis>: Open a file
                  selection dialog. Navigate to and select the file you wish to import and click
                  <emphasis role="bold"><guibutton>Import</guibutton></emphasis>. Then click
                  <emphasis role="bold"><guibutton>Next</guibutton></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Load QIF files</guilabel></emphasis>: Click the
                  <emphasis role="bold"><guibutton>Start</guibutton></emphasis> button to load the
                  file. The file will be parsed and loaded. If errors or warnings occur you may have
                  to remove the file, edit it and reimport it. If there are no errors click
                  <emphasis role="bold"><guibutton>Next</guibutton></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Set a date format for the file</guilabel></emphasis>: Select a date
                  format (m-d-y or d-m-y) appropriate to the locale of the source of your QIF file.
                  In the US this is generally m-d-y and in Europe d-m-y;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Set the default QIF account name</guilabel></emphasis>: If the QIF
                  file does not specify an account name, enter an account name. If importing data
                  from another accounting program you should use the name used in that program;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>QIF files you have loaded</guilabel></emphasis>: This step allows
                  you to edit the list of files to be imported and to load additional files. To
                  remove a file, click on the row and then click on
                  <emphasis role="bold"><guibutton>Unload selected file</guibutton></emphasis>. To
                  load another file click the <emphasis role="bold"><guibutton>Load another
                  file</guibutton></emphasis>. When you have all the files you wish to import
                  loaded, click <emphasis role="bold"><guibutton>Next</guibutton></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Accounts and stock holdings</guilabel></emphasis>: Information
                  panel. Click <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to
                  proceed;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Match QIF accounts with &appname; accounts</guilabel></emphasis>:
                  QIF account names are matched to <application>&appname;</application> accounts if
                  possible. New <application>&appname;</application> accounts are created if no
                  matching accounts are found. For stock, the required account structures are also
                  created. Created accounts are indicated by checking the checkbox in the New
                  column. Assigned accounts may be edited by selecting the appropriate the row and
                  clicking on the <emphasis role="bold"><guibutton>Change &appname;
                  Account</guibutton></emphasis> button to to run the account selection dialog;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Income and Expense categories</guilabel></emphasis>: Information
                  panel. Click <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to
                  proceed;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Match QIF categories to &appname; accounts</guilabel></emphasis>:
                  QIF categories are matched to <application>&appname;</application> accounts where
                  possible. New <application>&appname;</application> accounts are created where no
                  matching <application>&appname;</application> account is found. Created accounts
                  are indicated by the checkbox in the New column being checked. If you are not sure
                  what changes are needed, it is safe to accept the
                  <application>&appname;</application> account names. These may be changed later in
                  <application>&appname;</application>. Assigned accounts may be edited by selecting
                  the appropriate row and clicking on the <emphasis role="bold"><guibutton>Change
                  &appname; Account</guibutton></emphasis> button to run the account selection
                  dialog;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Payees and Memos</guilabel></emphasis>: Information page. Click
                  <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to proceed;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Match payees/memos to &appname; accounts</guilabel></emphasis>: QIF
                  payees and memos are matched to &appname; accounts where possible and new accounts
                  are created where this is not possible again indicated by the checkbox in the New
                  column. The assigned account may be changed by selecting a row and clicking on the
                  <emphasis role="bold"><guibutton>Change &appname; Account</guibutton></emphasis>
                  button to to run the account selection dialog;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Choose the QIF file currency</guilabel></emphasis>: Select the
                  required currency from the dropdown list and click on
                  <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to continue;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Tradable commodities</guilabel></emphasis>: Not yet implemented;
                </para>
<!--FIXME when implemented.-->
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>QIF Import</guilabel></emphasis>: Click on
                  <emphasis role="bold"><guibutton>Start</guibutton></emphasis> to begin the import.
                  <application>&appname;</application> currently proceeds to the Update your
                  <application>&appname;</application> accounts tab if the import is successful;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Match existing transactions</guilabel></emphasis>: Not yet
                  implemented;
                </para>
<!--FIXME when implemented.-->
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Select possible duplicates</guilabel></emphasis>: Not yet
                  implemented;
                </para>
<!--FIXME when implemented.-->
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Update your &appname; accounts</guilabel></emphasis>: Click
                  <emphasis role="bold"><guibutton>Apply</guibutton></emphasis> to complete the
                  import. 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, <application>&appname;</application> will return you to the
                  main window, which should now display the names of the accounts you imported.
                </para>

                <para>Other features are not currently implemented;
<!--FIXME when implemented.-->
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>QIF Import Summary</guilabel></emphasis>: Click on
                  <emphasis role="bold"><guibutton>Close</guibutton></emphasis> to exit the wizard.
                </para>
              </listitem>
            </itemizedlist>
          </para>
        </formalpara>
      </sect3>
    </sect2>

    <sect2 id="trans-import-ofx">
      <title>Import OFX/QFX</title>

      <para><guimenu>File</guimenu>-><guisubmenu>Import</guisubmenu>-><guimenuitem>Import OFX/QFX
        transactions</guimenuitem> opens a file selection dialog. Navigate to the file you wish to
        import, select a file with the appropriate extension (.ofx or .qfx), then press the
        <emphasis role="bold"><guibutton>Import</guibutton></emphasis> button.
      </para>

      <para><application>&appname;</application> then opens an Account Selection dialog to select an account in
        your CoA to match to an account name in the import file. Select the appropriate account from
        the account tree and press the <emphasis role="bold"><guibutton>OK</guibutton></emphasis>
        button. On subsequent import of files from the same source account, the mapped
        <application>&appname;</application> account is remembered and the account selection dialog
        is not displayed.
      </para>

      <para>The generic import transaction matcher dialog is opened next. See the
        <link linkend="trans-import-matcher"> Import Matcher</link> section (common to both OFX/QFX
        and CSV import formats) following the Import CSV section to continue the import process.
      </para>
    </sect2>

    <sect2 id="trans-import-csv">
      <title>Import CSV</title>

      <para>Clicking on
        <emphasis role="bold"><guimenu>File</guimenu>-><guisubmenu>Import</guisubmenu>-><guimenuitem>Import
        Transactions from CSV</guimenuitem></emphasis> will bring up the CSV Transaction Import
        Assistant dialog illustrated below.
      </para>

      <para>The CSV Transaction import Assistant is largely self explanatory with information panes which
        describe the functionality.
      </para>

      <formalpara>
        <title>Dialog Navigation</title>

        <para>Each pane displays a selction of the following navigation buttons at the bottom right:
          <itemizedlist>
            <listitem>
              <para><emphasis role="bold"><guibutton>Cancel</guibutton></emphasis> Exit the CSV Transaction Import
                Assistant;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guibutton>Back</guibutton></emphasis> Return to the previous step in the
                assistant;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guibutton>Next</guibutton></emphasis> Proceed to the next step in the
                assistant.
              </para>
            </listitem>
          </itemizedlist>
          The buttons displayed are determined by the validity of the traget step from the current
          step.
        </para>
      </formalpara>

      <procedure>
        <title>CSV Import Process Steps</title>

        <highlights>
          <para>The steps in the CSV import process are listed in the left hand pane with the current step
            highlighted. Explanatory text and the widgets to setup and carry out the step are
            displayed in the right hand pane. The function of the controls in each step is explained
            below, in the explanatory information in the panes or in tooltips on some controls. The
            steps in the CSV import process are:
          </para>
        </highlights>

        <step>
          <title>Introductory information panel</title>

          <figure pgwide="1">
            <title>The CSV Transaction Import Assistant - Introduction</title>

            <screenshot id="CSV_Transaction_Import_Assistant">
              <mediaobject>
                <imageobject role="html">
                  <imagedata fileref="figures/CSV_Transaction_Import_Assistant.png"
                         srccredit="David Cousens" width="&img-w;"/>
                </imageobject>

                <imageobject role="fo">
                  <imagedata fileref="figures/CSV_Transaction_Import_Assistant.png"
                         srccredit="David Cousens"/>
                </imageobject>
              </mediaobject>
            </screenshot>
          </figure>

          <para>Click <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to continue;
          </para>
        </step>

        <step>
          <para><emphasis role="bold"><guilabel>Select File for Import</guilabel></emphasis>: Display the File
            selection dialog. Navigate to the file you wish to import then click the
            <emphasis role="bold"><guibutton>Next</guibutton></emphasis> button;
          </para>
        </step>

        <step>
          <para><emphasis role="bold">Import Preview</emphasis>: The Import Preview pane controls set options for
            the import of CSV data and provides a preview of the data to be imported.
            <figure pgwide="1">
              <title>The CSV Import Preview Pane</title>

              <screenshot id="CSV_Import_Preview">
                <mediaobject>
                  <imageobject role="html">
                    <imagedata fileref="figures/CSV_Import_transactions_Preview.png" width="&img-w;"
                               srccredit="David Cousens"/>
                  </imageobject>

                  <imageobject role="fo">
                    <imagedata fileref="figures/CSV_Import_transactions_Preview.png"
                               srccredit="David Cousens"/>
                  </imageobject>

                  <caption>
                    The CSV Import Preview Pane with settings to import the shown data.
                  </caption>
                </mediaobject>
              </screenshot>
            </figure>

            <itemizedlist>
              <title>Import preview Controls</title>

              <listitem>
                <variablelist id="trans-import-csv-save">
                  <title>Load and Save Settings</title>

                  <abstract>
                    <para>The settings group <emphasis role="bold"><guilabel>&appname; Export Settings</guilabel></emphasis>
                      defines a setting group for used for the export and reimport of
                      <application>&appname;</application> transaction data - use this if importing
                      data previously exported from <application>&appname;</application>.
                    </para>
                  </abstract>

                  <varlistentry>
                    <term>Save</term>

                    <listitem>
                      <para>Once you have set all the import parameters, you can save these settings by typing a unique name in
                        the <guilabel>Load and Save Settings Entry</guilabel> combo box and clicking
                        the Save icon <guiicon>
                        <inlinemediaobject>
                          <imageobject>
                            <imagedata fileref="figures/Icon_Save.png"
                                     srccredit="David Cousens"/>
                          </imageobject>
                        </inlinemediaobject>
                        </guiicon> just to the right of the box.
                      </para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>Load</term>

                    <listitem>
                      <para>A previously defined settings group can be retrieved by selecting the appropriate setting group name
                        from the dropdown list activated by the down arrow at the right end of the
                        text box. This will set all other settings to the stored values.
                      </para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>Delete</term>

                    <listitem>
                      <para>The Delete/Trashcan icon <guiicon>
                        <inlinemediaobject>
                          <imageobject>
                            <imagedata fileref="figures/Icon_Delete.png"
                                     srccredit="David Cousens"/>
                          </imageobject>
                        </inlinemediaobject>
                        </guiicon> to the right of the Save icon can be used to remove the saved
                        settings group selected from the drop down list for the box.
                      </para>
                    </listitem>
                  </varlistentry>
                </variablelist>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Account</guilabel></emphasis>: If the data you are importing does
                  not specify the source account for the transaction an account can be selected from
                  the drop down list will import all transactions to the selected account. Leave
                  blank if your imported data specifies a source account;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>File Format</guilabel></emphasis>:
                  <itemizedlist>
                    <listitem>
                      <para><emphasis role="bold"><guilabel>Character-separated</guilabel></emphasis>: Selecting this radio button will
                        allow you to define characters which will be used to distinguish columns in
                        the input file. The default is comma separated. In countries using the comma
                        as decimal separator the semicolon is common as column separator. However
                        spaces, tabs, colons or semicolons or any combination of them may be used to
                        separate columns in the input file by selecting the appropriate check boxes.
                        You may also define custom separators by typing the required characters into
                        the text box and selecting the <guilabel>Custom</guilabel> checkbox. This
                        may be used in combination with any of the predefined separators;
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Fixed-Width</guilabel></emphasis>: Selecting this radio button will
                        allow you to define column boundaries by double clicking at the appropriate
                        positions in the sample records displayed in the panel below. Single
                        clicking in a column will narrow, widen or merge the column.
                      </para>
                    </listitem>
                  </itemizedlist>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Multi-split</guilabel></emphasis>: Selecting this check box allows
                  the splits for a single transaction to be defined on consecutive lines within the
                  file with each line defining a single split. If not selected each line is assumed
                  to contain the information for a single transaction including one or two splits;
                </para>

                <para>Multi-split is a gnucash specific variant of a csv file to support easier data preparation.
                </para>

                <para>Each line should define one split by
                  <variablelist>
                    <varlistentry>
                      <term>transaction-specific fields</term>

                      <listitem>
                        <para>date and description as bare minimum <emphasis>and</emphasis>
                        </para>
                      </listitem>
                    </varlistentry>

                    <varlistentry>
                      <term>split specific fields</term>

                      <listitem>
                        <para>account and deposit/withdrawal as bare minimum.
                        </para>
                      </listitem>
                    </varlistentry>
                  </variablelist>
                </para>

                <tip>
                  <para>There is a convenience feature built-in so you don't have to repeat the transaction fields if the
                    split belongs to the same transaction as the previous one (though you can repeat
                    them if that makes csv preparation easier).
                  </para>
                </tip>

                <example>
                  <title>Sample Multi-split.csv</title>
<programlisting language="csv">Date,Description,Deposit,Account
05/03/2006,Grocery Store,-45.21,Assets:Checking
,,45.21,Expenses:Groceries
14/03/2006,Employers R Us,670.00,Assets:Checking
,,180.00,Expenses:Taxes:Federal
,,90.00,Expenses:Taxes:Medicare
,,60.00,Expenses:Taxes:Social Security
,,-1000.00,Income:Salary</programlisting>
                </example>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Miscellaneous</guilabel></emphasis>: The miscellaneous settings
                  allow you to set:
                  <itemizedlist>
                    <listitem>
                      <para><emphasis role="bold"><guilabel>Encoding</guilabel></emphasis>: This is usually UTF-8, but may
                        differ for files from other sources;
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Date Format</guilabel></emphasis>: This does not default to the
                        Locale setting so check it matches the data you are importing;
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Currency Format</guilabel></emphasis>: Select the format of the
                        decimal separator (full stop or comma or other) for the currency if the
                        correct value is not supplied by Locale;
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Leading Lines to Skip</guilabel></emphasis>: Select the number of
                        header lines to skip in the imported file;
                        <footnote id='txn-imp-skip'>
                          <simpara>While we only want to import <emphasis>transactions</emphasis>, some banks send additional
                            informations like a <emphasis>fieldname</emphasis> header or
                            <emphasis>account status</emphasis> information as header or footer.
                          </simpara>
                        </footnote>
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Trailing Lines to Skip</guilabel></emphasis>: Select the number of
                        trailing lines to skip in the import
                        file;<footnoteref linkend='txn-imp-skip'/>
                      </para>
                    </listitem>

                    <listitem>
                      <para><emphasis role="bold"><guilabel>Skip alternate lines</guilabel></emphasis>: Use to skip every second
                        line in the import file.
                      </para>
                    </listitem>
                  </itemizedlist>
                  to match the settings for the file you are importing. Tooltips may also contain
                  information on the setting and options.
                </para>
              </listitem>
            </itemizedlist>
          </para>

          <para>The import panel shows the data being imported as it is interpreted using the settings chosen to
            define columns and formats. The dropdown lists in the headers for each column of the
            import allow you to associate a specific column in the imported data with a specific
            field in the display of a transaction in an account register. At a minimum to import
            data, columns in the imported data containing the following information
            <emphasis>must</emphasis> be specified:
            <itemizedlist>
              <listitem>
                <para><guilabel>Date</guilabel>: of transaction;
                </para>
              </listitem>

              <listitem>
                <para><guilabel>Account</guilabel>: into which transaction is to be imported (or alternatively set the
                  base account as above);
                </para>
              </listitem>

              <listitem>
                <para><guilabel>Description</guilabel>: of the transaction;
                </para>
              </listitem>

              <listitem>
                <para><guilabel>Deposit or Withdrawal</guilabel>: column.
                </para>
              </listitem>
            </itemizedlist>
          </para>

          <para>The dropdown list of <application>&appname;</application> transaction data fields which may be
            associated with a column of the imported data contains the following:
            <itemizedlist>
              <listitem>
                <para><emphasis role="bold"><guilabel>None</guilabel></emphasis>: The column is not assigned to a
                  transaction data field and is not imported;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis>: Ensure the date format in the column
                  matches the Miscellaneous date Format Setting;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Num</guilabel></emphasis>: Transaction Num field - Use for check
                  numbers etc.;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Notes</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transaction Commodity</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Void Reason</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Action</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Account</guilabel></emphasis>: This header should be matched to a
                  column specifying the source account for a transaction if it is present.
                  Otherwise, set the source account in the
                  <emphasis role="bold"><guilabel>Account</guilabel></emphasis> combo box;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Deposit</guilabel></emphasis>: Apply this header to a column
                  containing the amount of the transaction. Positive amounts in the column generally
                  represent an increase in the account balance and negative amounts a decrease in
                  the balance (asset accounts: Checking, Savings). In external statements supplied
                  by a bank for a check or savings account, a credit (Cr) is normally an increase in
                  the account balance and a debit (Dr) a decrease in the account balance. In the
                  banks eyes, your savings or checking account is a Liability to them;
                </para>

                <para>If the amount data is in separate columns for debits and credits you will have to apply both this
                  heading and the Withdrawal heading.
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Withdrawal</guilabel></emphasis>: Apply this header to a column with
                  the amount of the transaction where positive amounts in the column represent a
                  decrease in the account balance and negative amounts an increase in the balance
                  (e.g. Liability account: credit card).
                </para>

                <para>Where separate columns are used for debits and credit to the account apply it to the opposite to the
                  column to which Deposits is applied;
                </para>

                <note>
                  <para>Some experimentation may be necessary to determine the correct allocation of the Deposit and
                    Withdrawal headings.
                  </para>
                </note>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Price</guilabel></emphasis>: The price for commodity transactions
                  and/or transactions involving currency exchange;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Memo</guilabel></emphasis>: Additional column containing descriptive
                  information relevant to one split of a transaction. If in the first line of a
                  multi-split import it will apply to the source account. In subsequent lines/splits
                  it is applied to the transfer account defined in that line or allocated to it in
                  the matcher;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Reconciled</guilabel></emphasis>: Apply to a column indicating the
                  reconciliation status of the transaction. This generally only applies to data
                  exported from <application>&appname;</application>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Reconcile Date</guilabel></emphasis>: Apply to a column which
                  specifies the date of reconciliation, generally only for
                  <application>&appname;</application> exported data;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transfer Action</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transfer Account</guilabel></emphasis>: This header should be
                  applied to a column which specifies the transfer account for the second split of a
                  single line import and/or for subsequent splits in multiline exported
                  transactions;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transfer Memo</guilabel></emphasis>: Apply to a column with
                  descriptive information relevant to a split to a transfer account specified by
                  <emphasis role="bold"><guilabel>Transfer Account</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transfer Reconciled</guilabel></emphasis>: Apply to a column with
                  reconciliation status information relevant to a split to a transfer account
                  specified by <emphasis role="bold"> <guilabel>Transfer
                  Account</guilabel></emphasis>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transfer Reconcile Date</guilabel></emphasis>: Apply to a column
                  containing a reconciliation date relevant to a split to a transfer account
                  previously specified in <emphasis role="bold"><guilabel>Transfer
                  Account</guilabel></emphasis>.
                </para>
              </listitem>
            </itemizedlist>
          </para>

          <para>The <guilabel>Skip Errors</guilabel> check box will skip trying to import any rows with errors in
            matching the columns.
          </para>

          <para>When you are happy with all the import settings, <link linkend="trans-import-csv-save">save</link>
            them if you will use the same settings again, then press the
            <emphasis role="bold"><guibutton>Next</guibutton></emphasis> button.
          </para>
        </step>

        <step>
          <para><emphasis role="bold">Match Import and <application>&appname;</application> accounts</emphasis>:
            This window allows you to map the accounts identified in the account columns (Account
            and Transfer Account) with accounts in the <application>&appname;</application> account
            tree (Account name). Double click on a row to bring up a dialog to select the matching
            <application>&appname;</application> account. If you have previously imported
            transactions to this account and account mappings can be matched automatically, this
            window will not be displayed. When you have selected a match for all accounts, click on
            the <emphasis role="bold"><guibutton>Next</guibutton></emphasis> button;
          </para>
        </step>

        <step>
          <para><emphasis role="bold">Transaction Information</emphasis>: The Transaction Information panel allows
            review of data entry settings so far. Clicking Next will perform checks on the data. If
            there are errors you will be returned to the <emphasis role="bold">Import
            Preview</emphasis> pane to edit the settings. For no errors you proceed to the next
            step;
          </para>
        </step>

        <step>
          <para><emphasis role="bold">Match Transactions</emphasis>: Clicking on Match Transactions will then bring
            up the main <link linkend="trans-import-matcher">Import Matcher</link> window. The
            Import Matcher is described in a separate section;
          </para>
        </step>

        <step>
          <para><emphasis role="bold">Import Summary</emphasis>: <application>&appname;</application> displays a
            summary of the imported data. Click on the
            <emphasis role="bold"><guibutton>Close</guibutton></emphasis> to exit the wizard.
          </para>
        </step>
      </procedure>

      <caution>
        <para>Multi-split imports of multicurrency transactions and commodity transactions are experimental and
          may currently experience some errors. Please experiment and report any bugs encountered.
        </para>
<!--FIXME remove when bug fixes are incorporated.-->
      </caution>
    </sect2>

    <sect2 id="trans-import-aqbanking">
      <title>Import several file formats with AQBanking</title>

      <para>If &app; was built with &app-aqb; support and you have &app-aqb; installed on your computer you may
        use <guilabel>Import using AQBanking</guilabel> to import files in several formats.
      </para>

      <para>You will first be presented with a dialog box having two lists. The left one lists importer plugins
        and the right one lists file format profiles available for that importer. In some cases, for
        example <guilabel>swift</guilabel>, the profiles include specialized formats for particular
        bank: Continuing the example the <guilabel>swift</guilabel> importer can import both generic
        <guilabel>MT940</guilabel> and <guilabel>MT942</guilabel> statements and those specialized
        for the Netherlands's AMRO Bank.
      </para>

      <para>Select an importer and a profile from the lists. &app; will remember your selection for the next
        time you do an import.
      </para>

      <para>Click <guilabel>OK</guilabel> to proceed to the filechooser. Select a file to import and click the
        <guilabel>Import</guilabel> button to proceed.
      </para>

      <para><application>&appname;</application> will process the selected file and map the account description
        in the import file onto the selected account and use it for future imports from the same
        account. The imported transactions will then be displayed in the
        <link linkend="trans-import-matcher"><emphasis role="bold"><guimenuitem>Generic Import
        Transaction Matcher</guimenuitem></emphasis></link> for review.
      </para>
    </sect2>

    <sect2 id="trans-import-matcher">
      <title>Generic Transaction Import Matcher</title>

      <sect3>
        <title>Introduction</title>

        <figure id="fig-fil-imp-match" pgwide="1">
          <title>The Generic Transaction Import Matcher Window</title>

          <screenshot id="ImportMatcherScreenShot">
            <mediaobject>
              <imageobject role="html">
                <imagedata fileref="figures/Import_Transaction_matcher_1.png" width="&img-w;"
                           srccredit="David Cousens"/>
              </imageobject>

              <imageobject role="fo">
                <imagedata fileref="figures/Import_Transaction_matcher_1.png"
                           srccredit="David Cousens"/>
              </imageobject>

              <caption>
                This is an image of the import transaction matcher window after opening a file to
                import.
              </caption>
            </mediaobject>
          </screenshot>
        </figure>

        <para>The Import Matcher checks whether an imported transaction matches an existing transaction already
          recorded in <application>&appname;</application> within a predefined time window (~+_42
          days) for the account into which the transactions are being imported. A match probablity
          is calculated based on the Date, Amount, Transaction ID's (if present), Check numbers (if
          present) and the Description and split Memo fields. Exact matches will generate a high
          match probability and flag a transaction as matching an existing transaction and therefore
          not to be imported. If there is a lower quality match to an existing transaction, the
          imported transaction may be flagged for updating of non-matching information in the
          <application>&appname;</application> record of the matching transaction. These decisions
          can be overridden by the user.
        </para>

        <para>If no matching transaction can be identified the transaction will be flagged for import. The matcher
          will attempt to assign a transfer account based on matches between tokenized information
          for previously imported transactions stored in lists associated with the transfer accounts
          which were assigned to them on import.
          <itemizedlist>
            <listitem>
              <para>If a good match is obtained, the transfer account is assigned and the transaction is flagged as
                ready to import.
              </para>
            </listitem>

            <listitem>
              <para>If a transfer account cannot be assigned, the transaction will be flagged for import and manual
                assignment of the transfer account by the user. By default, if no transfer account
                is assigned, transactions will be assigned to an Imbalance account on import. This
                is to indicate that they need an appropriate account assigned to them.
              </para>
            </listitem>
          </itemizedlist>
        </para>
      </sect3>

      <sect3>
        <title>Import Formats</title>

        <para>The generic import transaction matcher is invoked when transaction data is imported using any of the
          following import formats:
          <itemizedlist spacing="compact">
            <listitem>
              <para>QIF;
              </para>
            </listitem>

            <listitem>
              <para>OFX/QXF;
              </para>
            </listitem>

            <listitem>
              <para>CSV;
              </para>
            </listitem>

            <listitem>
              <para>MT940;
              </para>
            </listitem>

            <listitem>
              <para>MT942;
              </para>
            </listitem>

            <listitem>
              <para>DTAUS.
              </para>
            </listitem>
          </itemizedlist>
        </para>
      </sect3>

      <sect3>
        <title>Controls</title>

        <sect4>
          <title>List of Controls</title>

          <para>This window has the following
            <itemizedlist>
              <title>Controls:</title>

              <listitem>
                <para><emphasis role="bold"><guilabel>List of downloaded transactions</guilabel></emphasis>: Table
                  containing information from the imported transactions.
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Show Account column</guibutton></emphasis>: Checkbox to display the
                  account into which the transactions are being imported. This is the second column
                  labelled <guilabel>Account</guilabel> in the screenshot;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Show Memo column</guibutton></emphasis>: Checkbox to display the
                  <guilabel>Memo</guilabel> from the imported transactions after the column labelled
                  <guilabel>Description</guilabel>;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Show matched information</guibutton></emphasis>: Checkbox to
                  display the matched transaction which has been already imported or entered into
                  <application>&appname;</application>. If there is one, this will be a line with a
                  white background (by default) after the imported transaction. This is either the
                  manually selected match if one has been selected or the best possible match
                  otherwise;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Append</guibutton></emphasis>: Checkbox to indicate that when
                  updating and clearing a matched transaction, the imported
                  <guilabel>Description</guilabel> and <guilabel>Notes</guilabel> are to be appended
                  to the matched transaction <guilabel>Description</guilabel> and
                  <guilabel>Notes</guilabel> respectively, rather than overwriting them. When the
                  <emphasis role="bold"> <guibutton>OK</guibutton></emphasis> button is clicked, the
                  state of the checkbox is saved so the next import for that account will
                  automatically default it to the saved state;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Reconcile after match</guibutton></emphasis>: Checkbox to
                  automatically start the reconciliation process after transactions have been
                  matched and imported;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Help</guibutton></emphasis>: Display a popup help window;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>Cancel</guibutton></emphasis>: Close this window without importing
                  transaction data;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guibutton>OK</guibutton></emphasis>: Close this window importing transaction
                  data;
                </para>
              </listitem>
            </itemizedlist>
          </para>
        </sect4>

        <sect4 id="trans-match-col">
          <title>List of downloaded transactions</title>

          <para>The <guilabel>List of downloaded transactions</guilabel> has the following columns which display the
            following information for each of the downloaded transactions:
          </para>

          <itemizedlist>
            <title >Columns in <quote>List of Downloaded Transactions</quote></title>

            <listitem>
              <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis> - The date supplied with the downloaded
                transaction;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Account</guilabel></emphasis> - The import or base account to which
                the transactions will be imported (optional see above);
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Amount</guilabel></emphasis> - The amount of the transaction (split
                to the import or base account);
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis> - The description of the
                transaction;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Memo</guilabel></emphasis> - The memo for the split to the import or
                base account of the transaction (optional see above);
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>A</guilabel></emphasis> - Add - Checkbox which indicates that the
                transaction is to be imported as a new transaction;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>U+C</guilabel></emphasis> - Update and Clear - Checkbox which
                indicates that the transaction matches an existing transaction but has some
                differences and the existing transaction will be updated with the different
                information;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>C</guilabel></emphasis> - Clear - Checkbox which indicates that the
                transaction matches an existing transaction and will not be imported;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Info</guilabel></emphasis> - For transactions which have been
                matched to an existing transaction, this column displays a bar indicating the
                quality of the match;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold"><guilabel>Additional Comments</guilabel></emphasis> - Shows what is to happen
                to the transaction and the transfer account if known;
              </para>
            </listitem>
          </itemizedlist>
        </sect4>

        <sect4>
          <title>Import Status</title>

          <para>In addition to the checkboxes, the import status of each transaction is indicated by the background
            color of the transaction row. The checkbox state, background colors and their meaning
            are described in <xref linkend="match_status"/>.
          </para>

          <table id="match_status" frame="all">
            <title>Import Status of Transactions</title>

            <tgroup cols="3" rowsep="1">
              <colspec colwidth="1*+ 1cm" align="center" colsep="1" />

              <colspec colwidth="15*" align="left" colsep="1" />

              <colspec colwidth="26*" align="left" colsep="1" />

              <thead>
                <row rowsep="1">
                  <entry>
                    Checked Box
                  </entry>

                  <entry>
                    Background
                  </entry>

                  <entry>
                    Meaning
                  </entry>
                </row>
              </thead>

              <tbody valign='middle'>
                <row>
                  <entry morerows='1'>
                    <emphasis role="strong">A</emphasis>
                  </entry>

                  <entry>
                    &color-intervention-probably-required; Gold
                  </entry>

                  <entry>
                    &color-intervention-probably-required; No matches, flagged for input and no
                    transfer account matched &ndash; Import as a new transaction. Intervention
                    required to select a transfer account.
                  </entry>
                </row>

                <row>
                  <entry>
                    &color-intervention-not-required; Green
                  </entry>

                  <entry>
                    &color-intervention-not-required; No matches detected, flagged for input and a
                    transfer account is matched &ndash; Import as a new transaction. Reconciliation
                    status will be set as cleared (c) on import. Intervention is not required.
                  </entry>
                </row>

                <row>
                  <entry>
                    <emphasis role="strong">U+C</emphasis>
                  </entry>

                  <entry>
                    &color-intervention-not-required; Green
                  </entry>

                  <entry>
                    &color-intervention-not-required; Matches an existing transaction but not
                    exactly on date and/or amount &ndash; Intervention not required, import and
                    update. Reconciliation status will be set as cleared (c) on import.
                  </entry>
                </row>

                <row>
                  <entry>
                    <emphasis role="strong">C</emphasis>
                  </entry>

                  <entry>
                    &color-intervention-not-required; Green
                  </entry>

                  <entry>
                    &color-intervention-not-required; Matches an existing transaction: &ndash; Not
                    to be imported. The existing transaction reconciliation status will be as
                    cleared (c) on import. Intervention is not required
                  </entry>
                </row>

                <row>
                  <entry></entry>

                  <entry>
                    &color-intervention-required; Brown
                  </entry>

                  <entry>
                    &color-intervention-required; Transaction has poor matches and no action was
                    set: &ndash; Not to be imported. Intervention required.
                  </entry>
                </row>

                <row>
                  <entry></entry>

                  <entry>
                    &color-row-selected; Blue
                  </entry>

                  <entry>
                    &color-row-selected; Row is selected
                  </entry>
                </row>
              </tbody>
            </tgroup>
          </table>

          <note>
            <para>The colors illustrated here are the defaults for <application>&appname;</application> specified in
              <ulink url="&url-gh-gc-stable;gnucash/gnucash-fallback.css">gnucash-fallback.css</ulink>.
              You may experience different colors if the gtk-3.0 CSS files have been modified
            </para>
          </note>

          <para>You may always intervene manually to
            <itemizedlist>
              <listitem>
                <para>change the import action by selecting another checkbox (or none) and/or
                </para>
              </listitem>

              <listitem>
                <para>manually assign a different transfer account
                </para>
              </listitem>
            </itemizedlist>
            after reviewing the matched transactions and accounts and the automatically selected
            actions.
          </para>

          <para>Multi row selection is enabled for the list of downloaded transactions. The following operations can
            be performed on the list of downloaded transactions:
          </para>

          <itemizedlist>
            <listitem>
              <para><emphasis role="bold">Click <mousebutton>Button1</mousebutton> (see
                <link linkend="Help-Mouse-Buttons">Mouse Buttons</link>) on a row</emphasis>: Select
                this row (row is displayed with a blue background);
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold">Double-click <mousebutton>Button1</mousebutton> on a row</emphasis>: If the
                transactions is flagged for import (see below) this will open an account selection
                dialog to select a destination/transfer account to be used in the second split of
                the imported transaction. You may create a new account if necessary in this dialog
                using the <emphasis role="bold"><guibutton>New Account</guibutton></emphasis>
                button. If the transaction is flagged as matching an existing transaction either for
                import or updating, the match picker dialog is opened to allow the matched
                transactions to be examined and a correct match selected;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold">
                <keycombo>
                  <keycap>Ctrl</keycap><mousebutton>Button1</mousebutton>
                </keycombo>
                on a row</emphasis>: Add the row to a selection of rows (displayed with a blue
                background) to which a single destination/transfer account may be applied;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold">
                <keycombo>
                  <keycap>Shift</keycap><mousebutton>Button1</mousebutton>
                </keycombo>
                on a row</emphasis>: Select all rows between the last selected row and this row and
                add them to the current selection of rows;
              </para>
            </listitem>

            <listitem>
              <para><emphasis role="bold">Click <mousebutton>Button2</mousebutton> in the window</emphasis>: Display a
                popup menu which when clicked in turn opens a dialog to select a single
                destination/transfer account which will be applied to all rows currently selected.
              </para>
            </listitem>
          </itemizedlist>

          <important>
            <para>It is important to assign a transfer account to each transaction prior to import of the
              transactions. Otherwise the tokenized information from the imported transaction will
              not be appended to the list of tokens for an assigned account for use in future
              matching of transactions to transfer accounts.
            </para>
          </important>

          <note>
            <para>Note that "reconciled" in this context does not mean the same as "reconciled" in the process of
              reconciling an account to an external statement. The reconciliation status of an
              imported transaction is set to cleared (c) on import of a new transaction. See
              <link linkend="trans-stts">Setting the reconcile status (R field) of a
              transaction</link> for details of the values of reconciliation status.
            </para>
          </note>

          <para>Where a row has been matched to an existing transaction or is to update an existing transaction it
            will have a DarkSeaGreen background. <emphasis role="bold">Double-clicking
            <mousebutton>Button1</mousebutton></emphasis> on the row will bring up the Match Picker
            dialog which displays detail of the imported. If you, feel the wrong transfer account
            has been assigned or the matcher has not produced a valid result, you may change the
            checkbox selection if you disagree with the matcher decisions and you may reassign an
            assigned transfer account (see below).
          </para>

          <para><emphasis role="bold">Double-clicking <mousebutton>Button1</mousebutton></emphasis> on a row marked
            as New with a <phrase>DarkSeaGreen1</phrase> background and a transfer account assigned
            to it will bring up the account selection dialog to allow you to choose a different
            transfer account for the second split.
          </para>

          <para><emphasis role="bold">Double-clicking <mousebutton>Button1</mousebutton></emphasis> on a row marked
            New with no transfer account matched with a <phrase>Gold</phrase> background will also
            bring up the account selection dialog to allow you to assign a suitable transfer account
            to the transaction.
          </para>
        </sect4>
      </sect3>

      <sect3>
        <title>Assign a Destination Account to a Single Transaction</title>

        <para>Select the required row by clicking <mousebutton>Button1</mousebutton> on it. It is displayed with a
          <phrase>Blue</phrase> background color.
        </para>

        <para>Double clicking <mousebutton>Button1</mousebutton> on a row will select it and open an Account
          Selection dialog to allow you to assign a transfer account. Select the desired transfer
          account in the dialog and click
          <emphasis role="bold"><guibutton>OK</guibutton></emphasis>. The dialog has a
          <emphasis role="bold"><guibutton>New Account</guibutton></emphasis> button which will
          allow you to create a suitable account if there is no existing account which can be
          applied as the transfer account.The row background will change to a <phrase>Green</phrase>
          and the assigned destination account will be displayed in the Info column.
        </para>

        <para>or alternatively, <mousebutton>Button1</mousebutton> click on a row to select it followed by a
          <mousebutton>Button2</mousebutton> click to bring up a popup menu then select
          <guimenuitem>Assign a transfer account</guimenuitem> to display the <guilabel>Account
          Selection</guilabel> dialog, select the destination account and click the
          <emphasis role="bold"><guibutton>OK</guibutton></emphasis> button.
        </para>
      </sect3>

      <sect3>
        <title>Assign a Destination Account to Multiple Transactions</title>

        <para>Sometimes you will have several transactions which can have the same destination account.
          <application>&appname;</application> allows you to select multiple transactions and apply
          the same destination account to all transactions in the selection.
        </para>

        <para>Rows in a selection are displayed with a <phrase>Blue</phrase> background.
        </para>

        <para>Only rows which have the <emphasis role="strong">A</emphasis> checkbox checked and either a
          <phrase>Green</phrase> or <phrase>Gold</phrase> background colour can be selected for
          inclusion in a multiple selection. Rows with a <phrase>Brown</phrase> background or with
          the <emphasis role="strong">U+C</emphasis> or <emphasis role="strong">C</emphasis>
          checkboxes checked cannot be selected in a multiple selection.
        </para>

        <para>To select rows and add rows to a selection either:
        </para>

        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">Click <mousebutton>Button1</mousebutton></emphasis> on first row and then
              <emphasis role="bold">
              <keycombo>
                <keycap>Ctrl</keycap> <mousebutton>Button1</mousebutton>
              </keycombo>
              </emphasis> on other rows to add to the selection; or
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold">Click <mousebutton>Button1</mousebutton></emphasis> on first row and then
              <emphasis role="bold">
              <keycombo>
                <keycap>Shift</keycap> <mousebutton>Button1</mousebutton>
              </keycombo>
              </emphasis> on another row to select all rows between them.
            </para>
          </listitem>

          <listitem>
            <para>Rubber banding is also enabled so you may also <emphasis role="bold"> hold
              <mousebutton>Button1</mousebutton> and drag</emphasis> over rows to create a
              selection. To add more rows, <emphasis role="bold">
              <keycombo action="press">
                <keycap>Ctrl</keycap><mousebutton>Button1</mousebutton>
              </keycombo>
              and drag</emphasis> over more rows.
            </para>
          </listitem>
        </itemizedlist>

        <para>then <emphasis role="bold">
          <keycombo action="click">
            <mousebutton>Button2</mousebutton>
          </keycombo>
          </emphasis> to display a popup menu and then select <guimenuitem>Assign a transfer
          account</guimenuitem> to open the Account Selection dialog. Select the desired destination
          account (create a new account if necessary) and click the
          <emphasis role="bold"><guibutton>OK</guibutton></emphasis> button in the Account Selection
          dialog.
        </para>
      </sect3>

      <sect3>
        <title>Completing the Import</title>

        <para>Once you have assigned destination accounts for all the imported transactions using the above
          methods (all row backgrounds will be a light green colour), check that the assigned
          destination acounts are correct and then press the <guibutton>OK</guibutton> button at the
          bottom of <xref linkend="fig-fil-imp-match"/>. The transactions selected for import will
          have their splits added to the selected source and destination accounts.
        </para>

        <para>The tokenized data from the transactions assigned to a given transfer account is stored on exiting
          from the matcher and is used to match transactions to the appropriate transfer account in
          future imports.
        </para>
      </sect3>
    </sect2>

    <sect2 id="trans_match_picker">
      <title>Match Picker</title>

      <para>The Match Picker allows you to review and edit existing <application>&appname;</application>
        transactions which have been matched to a transaction being imported.
        <keycombo action ="double-click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        on a row with the <guilabel>C</guilabel> checkbox checked to bring this dialog up.
      </para>

      <figure pgwide="1">
        <title>The Match Picker Dialog</title>

        <screenshot id="ImportMatcherPicker">
          <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/Import_MatchPicker.png" width="&img-w;"
                         srccredit="David Cousens"/>
            </imageobject>

            <imageobject role="fo">
              <imagedata fileref="figures/Import_MatchPicker.png"
                         srccredit="David Cousens"/>
            </imageobject>

            <caption>
              The Match Picker dialog window showing existing &appname; transactions matching an
              imported transaction.
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>The top pane of the Match Picker displays details of the first split of the transaction to be
        imported. The column labels:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Account</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Amount</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Memo</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Balanced</guilabel></emphasis>
            </para>
          </listitem>
<!--FIXME ????-->
        </itemizedlist>
        are the same and have the same meaning as in <xref linkend="trans-match-col"/> with the
        exception of the Balanced column which gives the amount of the balancing split for the
        transaction.
<!--FIXME not sure what happens here with multisplit transactions -->
      </para>

      <para>The lower pane displays the details of existing <application>&appname;</application> transactions
        which match this transaction. If no transactions are displayed check the
        <emphasis role="bold"><guilabel>Show Reconciled</guilabel></emphasis> checkbox at the bottom
        of the panel. The first row in this pane will normally be the auto-matched transaction with
        the best match score. Other rows will display other existing transactions which might also
        be matches for the transaction being imported. The columns in this pane are:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Confidence</guilabel></emphasis>: This column indicateds the
              confidence of the individual match as both a bar chart and a numerical value. Where
              the bar extends into the green, the match is good. If the bar only extend to the red
              or yellow setions the quality of match is more doubtful.
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Amount</guilabel></emphasis>: If this does not match exactly the
              amount of the transaction being imported but otherwise the match is good, the amount
              of the imported transactions is used to update the existing transaction matching it.
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Memo</guilabel></emphasis>
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Reconciled</guilabel></emphasis>: Indicates the reconciliation
              status of a matching existing transaction.
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Pending Action</guilabel></emphasis>
            </para>
          </listitem>
<!--FIXME  not sure what this column really indicates. Doesn't seem to display the actual action proposed i.e. whether it is to skip importing or to update an existing transaction.-->
        </itemizedlist>
      </para>

      <para>If you are not happy with the existing transaction that was auto-matched,
        <keycombo action="click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        on your preferred match to select it and then
        <keycombo action="click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        the <emphasis role="bold"><guibutton>OK</guibutton></emphasis>. The transaction will then be
        marked as a (manual) match in the Info column of the Import Matcher. To exit the dialog
        without changing the auto-match
        <keycombo action="click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        on the <emphasis role="bold"><guibutton>Cancel</guibutton></emphasis>.
      </para>
    </sect2>

    <sect2 id="ImportMatchEditor">
      <title>Import Match Editor</title>

      <para>The Import Match Editor allows you to edit the data used by <application>&appname;</application> to
        automatically assign a transfer account in the Import Matcher. It can be used to edit the
        data used by the Bayesian matcher, the Non-Bayesian matcher and online ID's. To open it
        select <emphasis role="bold"> <guimenu>Tools</guimenu>-><guimenuitem>Import Map
        Editor</guimenuitem></emphasis> from the menu.
      </para>

      <figure pgwide="1">
        <title>The Import Map Editor</title>

        <screenshot>
          <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/Import_Map_Editor.png" width="&img-w;"
                         srccredit="David Cousens"/>
            </imageobject>

            <imageobject role="fo">
              <imagedata fileref="figures/Import_Map_Editor.png"
                         srccredit="David Cousens"/>
            </imageobject>

            <caption>
              The Import Map Editor illustrating typical entries for the Bayesian matcher.
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>The three radio buttons at the top of the dialog select the type of data being displayed and edited:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Bayesian</guilabel></emphasis>: The Bayesian matcher matches a
              transfer or destination account using the frequency of association of a token string
              with an assigned transfer/destination account in the Import matcher for a specific
              source account (the account that the first split of the imported transactionis
              directed to);
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Non-Bayesian</guilabel></emphasis>: The Non Bayesian matcher matches
              the transfer account on the basis of the occurrence of a token string in transactions
              assigned to a transfer/destination account and does not record the frequency of
              association. This was the original <application>&appname;</application> matching
              process and has now been superceeded by the Bayesian matcher in more recent versions;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>OnlineiD</guilabel></emphasis>: Online ids are specific strings
              which identify specific accounts in information downloaded from online sources. they
              may include account numbers and specific instiution identifiers.
            </para>
          </listitem>
        </itemizedlist>
      </para>

      <para>The <emphasis role="bold"><guilabel>Bayesian</guilabel></emphasis> matcher data columns are:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Source Account</guilabel></emphasis>: This is the account into which
              a transaction has been imported and is normally the first split in an imported record.
              It may either be specified in the record itself or during the import setup for all
              transactions to be imported. The arrow control at the left of each entry in this
              column may be used to display all the data used in matching a transfer or destination
              account for transactions which have this account as their source split;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Match String</guilabel></emphasis>: This column displays a specific
              token string that has been associated with the allocation of the account in the
              <emphasis role="bold"><guilabel>Mapped to Account Name</guilabel></emphasis> column as
              a transfer/destination account for transfers to the <guilabel>Source
              Account</guilabel>;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Mapped to Account Name</guilabel></emphasis>: The account name in
              this column is a <application>&appname;</application> account name which has been
              allocated as a transfer/destination account in association with the token string in
              the <emphasis role="bold"><guilabel>Match String</guilabel></emphasis> column;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Count of Match String Usage</guilabel></emphasis>: This is the
              number of times the token string in the <emphasis role="bold"><guilabel>Match
              String</guilabel></emphasis> column has occurred in association with the
              transfer/destination account specified in the <emphasis role="bold"><guilabel>Mapped
              to Account Name</guilabel></emphasis> column for transactions imported to
              <application>&appname;</application>.
            </para>
          </listitem>
        </itemizedlist>
      </para>

      <para>The <emphasis role="bold"><guilabel>Non-Bayesian</guilabel></emphasis> matcher displays the same
        first three columns as the Bayesian matcher having the same usage. It does not store data on
        the frequency with which a particular token is associated with the assignement of a given
        transfer/destination account. It has an additional column which specifies the type of the
        imported data process in which the assignment occurred.It has the following columns:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Source Account</guilabel></emphasis>;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Based on</guilabel></emphasis>: This identifies the import process
              in which the <emphasis role="bold"><guilabel>Match String</guilabel></emphasis> was
              associated with the transfer destination account in the
              <emphasis role="bold"><guilabel>Mapped to Account Name</guilabel></emphasis> column;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Match String</guilabel></emphasis>;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Mapped to Account Name</guilabel></emphasis>.
            </para>
          </listitem>
        </itemizedlist>
      </para>

      <para><emphasis role="bold"><guilabel>Online ID</guilabel></emphasis> displays the same columns with the
        same data as the Non-Bayesian matcher.
      </para>

      <para>The <emphasis role="bold"><guilabel>Filter</guilabel></emphasis> textbox at the bottom of the dialog
        allows filtering of the displayed data matching the entered string in either the
        <emphasis role="bold"><guilabel>Match String</guilabel></emphasis> column or the
        <emphasis role="bold"><guilabel>Mapped to Account Name</guilabel></emphasis> column.
      </para>

      <para>The <emphasis role="bold"><guibutton>Expand All</guibutton></emphasis> and
        <emphasis role="bold"><guibutton>Collapse All</guibutton></emphasis> buttons expand or
        collapse the data in the other columns for the accounts in the
        <emphasis role="bold"><guilabel>Source Account</guilabel></emphasis> column.
      </para>

      <para>The <emphasis role="bold"><guibutton>Delete</guibutton></emphasis> button will delete any selected
        rows in the displayed matcher data.
      </para>

      <para>The <emphasis role="bold"><guibutton>Close</guibutton></emphasis> button closes the Import Match
        Editor dialog.
      </para>
    </sect2>
  </sect1>

  <sect1 id="trans-export">
    <title>Exporting Transactions</title>

    <para><application>&appname;</application> allows transaction data to be exported in CSV format with the
      optional use of alternative column separators. Transactions can be exported in either a single
      line format (simple layout) which can only be used for transactions with two splits and may
      not allow all the data associated with a transaction to be exported or in a multiline format
      where two or more lines are used for transactions with two or more splits with each splits
      information on separate lines. Transaction data can be exported either from the currently
      selected active register or from selected accounts. The menu commands to export transactions
      are:
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><guimenu>File</guimenu>-><guisubmenu>Export</guisubmenu>-><guimenuitem>Export
            Transactions to CSV</guimenuitem></emphasis>;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guimenu>File</guimenu>-><guisubmenu>Export</guisubmenu>-><guimenuitem>Export
            Active Register to CSV</guimenuitem></emphasis>.
          </para>
        </listitem>
      </itemizedlist>
      These commands start the wizard illustrated in
<!--FIXME -->
      to setup the export. They differ only in that in the latter case the
      <emphasis role="bold"><guilabel>Account Selection</guilabel></emphasis> step is not available
      in the left hand pane.
    </para>

    <figure pgwide="1">
      <title>The Export Transactions Wizard.</title>

      <screenshot id="export-transactions-wizard">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/Choose_Export_Settings.png" width="&img-w;"
                       srccredit="David Cousens"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/Choose_Export_Settings.png"
                       srccredit="David Cousens"/>
          </imageobject>
        </mediaobject>
      </screenshot>
    </figure>

    <para>The Export transaction wizard opens at the first step and performs the steps listed in the left hand
      pane:
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><guilabel>Choose Export Settings</guilabel></emphasis>;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Account Selection</guilabel></emphasis>;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Choose File Name for export</guilabel></emphasis>;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Export Now...</guilabel></emphasis>;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Export Summary</guilabel></emphasis>.
          </para>
        </listitem>
      </itemizedlist>
    </para>

    <para>Navigation between the steps uses the buttons displayed in the right hand lower corner of the
      wizard. Which of the following buttons are displayed will depend on what is permissible from
      the step:
      <itemizedlist>
        <listitem>
          <para><emphasis role="bold"><guilabel>Cancel</guilabel></emphasis>: Exit the wizard without exporting any
            transactions;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Back</guilabel></emphasis>: Return to the previous step in the
            wizard;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><guilabel>Next</guilabel></emphasis>: Proceed to the next step.
          </para>
        </listitem>
      </itemizedlist>
    </para>

    <sect2 id="trans-export-settings">
      <title>Choose Export Settings</title>

      <para>This step allows you to choose various options in the formattig of the transactions being exported.
      </para>

      <para>The <emphasis role="bold"><guilabel>Options</guilabel></emphasis> checkboxes may be selected singly
        or both may be selected together:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Quotes</guilabel></emphasis>: Surround each data field in quotes;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Simple layout</guilabel></emphasis>: If checked, the ouput
              transaction data will be as displayed in the single row register view option and some
              of the transfer detail may be lost.
            </para>

            <para>The column headers for data exported in <emphasis role="bold"><guilabel>Simple
              layout</guilabel></emphasis> format are:
            </para>

            <orderedlist>
              <listitem>
                <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Account Name</guilabel></emphasis>: name of the source account;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Number</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Full Category Path</guilabel></emphasis>: full account name for
                  transfer/destination account;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Reconcile</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Amount with Sym</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Amount NUm</guilabel></emphasis>
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Rate/Price</guilabel></emphasis>
                </para>
              </listitem>
            </orderedlist>

            <para>If <emphasis role="bold"><guilabel>Simple layout</guilabel></emphasis> is not checked the
              transaction data will be exported in a multi-line format.
            </para>

            <para>The column headers for a multiline output for a transaction are:
            </para>

            <orderedlist>
              <listitem>
                <para><emphasis role="bold"><guilabel>Date</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Transaction ID</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Number</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Description</guilabel></emphasis>: first line only
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Notes</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Commodity/Currency</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Void Reason</guilabel></emphasis>: first line only;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Action</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Memo</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Full Account Name</guilabel></emphasis>: first line and subsequent
                  lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Account Name</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Amount with SYm</guilabel></emphasis>: first line and subsequent
                  lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Amount Num</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Reconcile</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Reconcile Date</guilabel></emphasis>: first line and subsequent
                  lines;
                </para>
              </listitem>

              <listitem>
                <para><emphasis role="bold"><guilabel>Rate/Price</guilabel></emphasis>: first line and subsequent lines;
                </para>
              </listitem>
            </orderedlist>

            <para>Each line contains the data relevant to a single split with the first line also having transaction
              data relevant to all splits in the first 7 columns.
            </para>
          </listitem>
        </itemizedlist>
      </para>

      <para>The <emphasis role="bold"><guilabel>Separators</guilabel></emphasis> radio buttons allow the choice
        of an alternative column separator:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guilabel>Comma(,)</guilabel></emphasis>: This is the default separator;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Colon(:)</guilabel></emphasis>: Use a colon to separate the columns;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Semicolon(;)</guilabel></emphasis>: Use a semicolon to separate the
              columns;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guilabel>Custom</guilabel></emphasis>: Define a custom character to separate
              the columns by entering it in the textbox.
            </para>
          </listitem>
        </itemizedlist>
      </para>

      <para><emphasis role="bold">
        <keycombo action="click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        on <guibutton>Next</guibutton></emphasis> to go to the next step.
      </para>
    </sect2>

    <sect2 id="trans-export-account-select">
      <title>Account Selection</title>

      <para>This step allows selection of one or more accounts and the specification of the date range
        containing the transactions to be exported.
      </para>

      <para>The <emphasis role="bold"><guilabel>Accounts</guilabel></emphasis> panel displays an account tree
        which allows one or more accounts to be selected for export. (
        <keycombo action="click">
          <keycap>Ctrl</keycap><mousebutton>Button1></mousebutton>
        </keycombo>
        and
        <keycombo action="click">
          <keycap>Shift</keycap><mousebutton>Button1</mousebutton>
        </keycombo>
        may be used to select accounts). The <emphasis role="bold"><guibutton>Select
        Subaccounts</guibutton></emphasis> button will select all subaccounts of a selected account.
        The <emphasis role="bold"><guibutton>Select All</guibutton></emphasis> button will select
        all accounts in the account tree for export. The number of accounts which have been selected
        is indicated.
      </para>

      <para>The <emphasis role="bold"><guilabel>Dates</guilabel></emphasis> panel allows selection of either all
        transactions or only those within a selected date range in the selected accounts to be
        exported.
      </para>
    </sect2>

    <sect2 id="trans-export-choosefile">
      <title>Choose File Name for export</title>

      <para>A file selection dialog is presented allowing specification of a file name and a path to the
        directory/folder in which it is to be stored.
      </para>
    </sect2>

    <sect2 id="trans-export-now">
      <title>Export Now...</title>

      <para>The filename and path of the file to be exported and the number of accounts to be exported is
        displayed. To continue with the export
        <keycombo action="click">
          <mousebutton>Button1</mousebutton>
        </keycombo>
        the <emphasis role="bold"><guibutton>Apply</guibutton></emphasis> button.
      </para>
    </sect2>

    <sect2 id="trans-export-summary">
      <title>Export Summary</title>

      <para>Displays a message if the file is successfully exported or an error message and debugging
        suggections if not.
      </para>
    </sect2>
  </sect1>

  <sect1 id="trans-online">
    <title>Online Actions ...</title>

    <important>
      <para>For each account on which you want to execute this actions you will have to run the
        <xref linkend="tools-on-line-banking"/> once.
      </para>
    </important>

    <note>
      <para>This section is "under construction - any input will be welcome !!".
      </para>
    </note>

    <sect2>
      <title>Get Balance</title>

      <para></para>
    </sect2>

    <sect2>
      <title>Get Transactions ...</title>

      <para></para>
    </sect2>

    <sect2>
      <title>Issue Transaction</title>

      <para></para>
    </sect2>

    <sect2>
      <title>Direct Debit</title>

      <para></para>
    </sect2>
  </sect1>

  <sect1  id="general-journal">
    <title>General Journal</title>

    <para>The General Journal is an advanced register used to enter transactions without needing to open
      individual accounts. The General Journal shows the transaction entries for all accounts on one
      register.
    </para>

    <para>Entering transactions in the General Journal is more complicated than entering them in the
      individual account registers. The advantage is the General Journal provides a more
      comprehensive view of the transactions you have entered in all your accounts.
    </para>

    <para>The General Journal defaults to showing only the previous month of transactions. This is changeable
      by using the "Filter By..." on the View menu.
    </para>
  </sect1>
</chapter>
