<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter SYSTEM "gnc-locale-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="finance-quote-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="invest-stockprice-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="invest-stockprice-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 reciepts,
      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/Help_Trans_Assoc_Dialog.png" format="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/Help_Trans_Assoc_Symbols.png" format="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-MT940-MT942-DTAUS">MT940</link></emphasis> SWIFT
            MT940 Customer End of Day Statement Message;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-MT940-MT942-DTAUS">MT942</link></emphasis> SWIFT
            MT942 Customer Intra-day Transaction Report;
          </para>
        </listitem>

        <listitem>
          <para><emphasis role="bold"><link linkend="trans-import-MT940-MT942-DTAUS">DTAUS</link></emphasis>
            (.DTAUS) Banking data Exchange File;
          </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/Help_Import_QIF_Druid.png" format="PNG" srccredit="David Cousens" width="510"></imagedata>
              </imageobject>

              <imageobject role="fo">
                <imagedata fileref="figures/Help_Import_QIF_Druid.png" format="PNG" srccredit="David Cousens"></imagedata>
              </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>

      <figure pgwide="1">
        <title>The CSV Transaction Import Assistant - Introduction</title><screenshot id="CSV_Transaction_Import_Assistant">
          <mediaobject>
            <imageobject role="html">
              <imagedata  fileref="figures/Help_CSV_Transaction_Import_Assistant.png" format="PNG" srccredit="David Cousens" width="515px"></imagedata>
            </imageobject>

            <imageobject role="fo">
              <imagedata width="515px" fileref="figures/Help_CSV_Transaction_Import_Assistant.png" format="PNG" srccredit="David Cousens"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <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>

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

        <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:
          <itemizedlist>
            <listitem>
              <para><emphasis role="bold">Transaction Import Assistant</emphasis>: Introductory information panel. Click
                <emphasis role="bold"><guibutton>Next</guibutton></emphasis> to continue;
              </para>
            </listitem>

            <listitem>
              <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>
            </listitem>

            <listitem>
              <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/Help_CSV_Import_transactions_Preview.png" format="PNG" srccredit="David Cousens" width="515px"></imagedata>
                      </imageobject>

                      <imageobject role="fo">
                        <imagedata  fileref="figures/Help_CSV_Import_transactions_Preview.png" format="PNG" srccredit="David Cousens"></imagedata>
                      </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>
                    <para id="trans-import-csv-save"><emphasis role="bold"><guilabel>Load and Save Settings</guilabel></emphasis>: Once you have set all
                      the import parameters, you can save these settings by typing in a setting a
                      unique name in the <guilabel>Load and Save Settings Entry</guilabel> combo box
                      and clicking the Save icon just to the right of the box. 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>

                    <para>The delete/trashcan icon 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>

                    <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>
                  </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>Separators</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>
                  </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>
            </listitem>

            <listitem>
              <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>
            </listitem>

            <listitem>
              <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>
            </listitem>

            <listitem>
              <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>
            </listitem>

            <listitem>
              <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>
            </listitem>
          </itemizedlist>
        </para>
      </formalpara>

      <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-MT940-MT942-DTAUS">
      <title>Import MT940 and MT942 SWIFT and DTAUS format files</title>

      <para>The SWIFT MT940 format is used for an end of day statement by banks using the SWIFT network for data
        exchange. MT942 is used for an intra-day statement in the same system. DTAUS is a format
        used with 9 track magnetic tapes since 1976 and later with other removable media (floppy
        disks). DTAUS has not been supported by banks since 1 February 2016.
      </para>
<!--FIXME replace with link to glossary if and when extended to help -->
      <para>When you select
        <emphasis role="bold"><guimenu>File</guimenu>-><guisubmenu>Import</guisubmenu>-></emphasis>
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold"><guimenuitem>Import MT940</guimenuitem></emphasis> or;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guimenuitem>Import MT942</guimenuitem></emphasis> or;
            </para>
          </listitem>

          <listitem>
            <para><emphasis role="bold"><guimenuitem>Import DTAUS</guimenuitem></emphasis>.
            </para>
          </listitem>
        </itemizedlist>
        from the menu, <application>&appname;</application> opens a file selection dialog. Navigate
        to the MT940, MT942 or DTAUS format file you wish to import and then click on the
        <emphasis role="bold"><guibutton>Import</guibutton></emphasis> button. On the first import
        of data to a given account specification in the import file,
        <application>&appname;</application> will bring up an account selection dialog to select an
        appropriate account into which to import the transactions in the file.
        <application>&appname;</application> will 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/Help_Import_Transaction_matcher_1.png" format="PNG" srccredit="David Cousens" width="510"></imagedata>
              </imageobject>

              <imageobject role="fo">
                <imagedata fileref="figures/Help_Import_Transaction_matcher_1.png" format="PNG" srccredit="David Cousens"></imagedata>
              </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>
                <row>
                  <entry morerows='1' valign='middle'>
                    <emphasis role="strong">A</emphasis>
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#FFD700"?>
    <?dbfo bgcolor="#FFD700"?>
                    Gold
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#FFD700"?>
    <?dbfo bgcolor="#FFD700"?>
                    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>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    DarkSeaGreen1
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    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  valign='middle'>
                    <emphasis role="strong">U+C</emphasis>
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    DarkSeaGreen1
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    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  valign='middle'>
                    <emphasis role="strong">C</emphasis>
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    DarkSeaGreen1
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#CFFFCB"?>
    <?dbfo bgcolor="#CFFFCB"?>
                    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>
    <?dbhtml bgcolor="#FF4040"?>
    <?dbfo bgcolor="#FF4040"?>
                    Brown1
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#FF4040"?>
    <?dbfo bgcolor="#FF4040"?>
                    Transaction has poor matches and no action was set: &ndash; Not to be imported.
                    Intervention required.
                  </entry>
                </row>

                <row>
                  <entry></entry>

                  <entry>
    <?dbhtml bgcolor="#6495ED"?>
    <?dbfo bgcolor="#6495ED"?>
                    Cornflower Blue
                  </entry>

                  <entry>
    <?dbhtml bgcolor="#6495ED"?>
    <?dbfo bgcolor="#6495ED"?>
                    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="https://github.com/Gnucash/gnucash/blob/maint/gnucash/gnucash-fallback-310.css">gnucash-fallback-310.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 action="simul">
                  <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 action="simul">
                  <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>
<?dbhtml bgcolor="#6495ED"?>
<?dbfo bgcolor="#6495ED"?>
          Cornflower 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>
<?dbhtml bgcolor="#CFFFCB"?>
<?dbfo bgcolor="#CFFFCB"?>
          DarkSeaGreen1</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>
<?dbhtml bgcolor="#6495ED"?>
<?dbfo bgcolor="#6495ED"?>
          Cornflower Blue</phrase> background.
        </para>

        <para>Only rows which have the <emphasis role="strong">A</emphasis> checkbox checked and either a <phrase>
<?dbhtml bgcolor="#CFFFCB"?>
<?dbfo bgcolor="#CFFFCB"?>
          DarkSeaGreen1</phrase> or <phrase>
<?dbhtml bgcolor="#FFD700"?>
<?dbfo bgcolor="#FFD700"?>
          Gold</phrase> background colour can be selected for inclusion in a multiple selection.
          Rows with a <phrase>
<?dbhtml bgcolor="#FF4040"?>
<?dbfo bgcolor="#FF4040"?>
          Brown1</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 action='simul'>
                <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 action='simul'>
                <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/Help_Import_MatchPicker.png" format="PNG" srccredit="David Cousens" width="510"></imagedata>
            </imageobject>

            <imageobject role="fo">
              <imagedata fileref="figures/Help_Import_MatchPicker.png" format="PNG" srccredit="David Cousens"></imagedata>
            </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/Help_Import_Map_Editor.png" format="PNG" srccredit="David Cousens" width="510"></imagedata>
            </imageobject>

            <imageobject role="fo">
              <imagedata fileref="figures/Help_Import_Map_Editor.png" format="PNG" srccredit="David Cousens"></imagedata>
            </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/Help_Choose_Export_Settings.png" format="PNG" srccredit="David Cousens" width="510"></imagedata>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/Help_Choose_Export_Settings.png" format="PNG" srccredit="David Cousens"></imagedata>
          </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>
