<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter SYSTEM "gnc-gui-C.dtd">
<!--
      (Do not remove this comment block.)
  Version: 2.0.0
  Last modified: 2014-09-26 (fell)
  Maintainers:
               Chris Lyttle <chris@wilddev.net>
  Author:
  		Jon Lapham <lapham@extracta.com.br>
  	Updated	Bengt Thuree <bengt@thuree.com>
  Originally written by Carol Champagne.
  Translators:
               (translators put your name and email here)
-->
<sect1 id="chapter_txns">
  <title>Transactions</title>

  <para>This chapter will give you the basic information you need to understand and use transactions in
    &app;. Whereas accounts are the framework and structure of a chart of accounts, transactions are
    the data which fills each account.
  </para>

  <sect2 id="txns-concepts1">
    <title>Basic Concepts</title>

    <para>A <emphasis>transaction</emphasis> in a double entry accounting system such as &app; is an exchange
      between at least 2 accounts. Thus, a single transaction must always consist of at least two
      parts, a <emphasis>from</emphasis> and a <emphasis>to</emphasis> account. The
      <emphasis>from</emphasis> account is transferring value to the <emphasis>to</emphasis>
      account. Accountants call these parts of a transaction <emphasis>Ledger Entries</emphasis>. In
      &app;, they are called <emphasis>Splits</emphasis>.
    </para>

    <para>A split identifies the account to which it refers, the amount of money specifically moved to or from
      that account, and can contain a few other specific pieces of information if needed. &app;
      supports multiple splits in a single transaction, and the splits can move money into or out of
      the involved accounts arbitrarily.
    </para>

    <para>For example, you receive a paycheck and deposit it into your savings account at the bank. The
      <emphasis>transaction</emphasis> that occurs is that your bank savings account (an asset)
      received money from your income account. Two accounts are affected, and in this case there is
      a net increase in your equity.
    </para>

    <para>Working with transactions in &app; is performed using what is known as the <emphasis>account
      register</emphasis>. Every account you create has an account register. It will appear familiar
      to you as it looks very similar to the log used to track checkbooks.
    </para>

    <para>The account register is explained in the upcoming section, <xref linkend="txns-register-oview"/>.
    </para>
  </sect2>

  <sect2 id="txns-register-oview">
    <title>The Account Register</title>

    <para>The <emphasis>account register</emphasis> is the window that allows you to view or edit preexisting
      transactions, or add new transactions for a particular account. To open an account register
      from the Account Tree, double-click the account name, right click the account name and select
      Open Account from the menu, or use the Open button on the toolbar. &app; will display the
      account register window.
    </para>

    <sect3 id="txns-registers-features2">
      <title>Features of the Account Register</title>

      <para>The <emphasis>Titlebar</emphasis> of the account register displays the account name. Below the
        <emphasis>Titlebar</emphasis>, the <emphasis>Menubar</emphasis> displays the menu items
        available within the account register, and the <emphasis>Toolbar</emphasis> contains handy
        buttons that help you work with the account register.
      </para>

      <para>At the bottom left of the register window, &app; displays helpful messages as you move about the
        register. To the right, you can see the current account balance and the total of cleared
        splits.
      </para>
    </sect3>

    <sect3 id="txns-regstyle1">
      <title>Choosing a Register Style</title>

      <para>&app; offers several options for viewing your registers. The default style is <guilabel>Basic
        Ledger</guilabel> mode, which displays only the summary of splits affecting the current
        account. This is the style that most closely resembles other popular personal financial
        packages. You can choose a different register style from the <menuchoice>
          <guimenu>View</guimenu>
        </menuchoice> menu. There are two other view modes:
      </para>

      <itemizedlist>
        <listitem>
          <para><menuchoice>
              <guimenu>View</guimenu><guimenuitem>Auto-Split Ledger</guimenuitem>
            </menuchoice> style expands the current transaction automatically. As you highlight a new transaction in the
            register, the transaction automatically expands to show all splits.
          </para>
        </listitem>

        <listitem>
          <para><menuchoice>
              <guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem>
            </menuchoice> style shows all splits for all transactions in the register, which is more like an accounting
            journal.
          </para>
        </listitem>
      </itemizedlist>

      <para>All styles permit you to view your data in either single-line or double-line format. Select <menuchoice>
          <guimenu>View</guimenu> <guimenuitem>Double Line</guimenuitem>
        </menuchoice>, and you will see your transaction line expand to two register lines. Double-line mode will also
        display the transaction-level Notes field.
      </para>

      <para>Below are screenshots that demonstrate how the Basic Ledger and Transaction Journal views differ.
      </para>

      <para>For this example, let&rsquo;s assume that you have purchased 3 pair of Jeans for $1,000, and have
        recorded the purchase as a split transaction with each pair entered on a separate split.
      </para>

      <para>The below screenshots illustrate the different view modes.
      </para>

      <para>First let&rsquo;s view the Jeans transaction from your checking account:
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>Purchase Of 3 Jeans In Assets:Checking</title>
        <screenshot id="txns-registersplit4">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_registersplit4.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows one split transaction with 3 Jeans purchases.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Now, let&rsquo;s open the <emphasis>Expenses:Clothes</emphasis> account, and look at it in Basic
        view.
      </para>

 <!-- ToDo: unshrink -->
      <figure>
        <title>Purchase Of 3 Jeans In Expenses:Clothes Account In Basic Ledger Mode</title>
        <screenshot id="txns-registersplit5">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_registersplit5.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows them in the <emphasis>Expenses:Clothes</emphasis> account in Basic Ledger mode.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Three entries appear here, but there was only the single split entry in the checking account.
        Further examination shows that each row has a different amount, $200, $300, and $500. This
        demonstrates that each row in this view reflects a single split from the original
        transaction.
      </para>

      <para>Changing to Transaction Journal mode will display only the original split transaction.
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>Purchase Of 3 Jeans In Expenses:Clothes Account In Transaction Journal Mode</title>
        <screenshot id="txns-registersplit6">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_registersplit6.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows the Expenses:Clothes account in <emphasis>Transaction Journal</emphasis> mode.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>

    <sect3 id="txns-columnwidths1">
      <title>Setting Column Widths</title>

      <para>As with most spreadsheet-like displays the columns in the register can be resized by left-clicking
        and dragging the dividers in the header. The divider to the <emphasis>right</emphasis> of
        the column header controls the width of that column. In &app; the
        <guilabel>Description</guilabel> and <guilabel>Memo</guilabel> columns autosize to fit the
        register into the window so dragging those columns' dividers to the left will shrink the
        column but it will snap back when you release it. Dragging them to the right will widen the
        display and put a scrollbar at the bottom of the window, but that will persist only while
        the register is open. If you close it and reopen it or quit &app; the register will again
        fill the space exactly.
      </para>

      <note>
        <para>Many new users have trouble resizing the <guilabel>Balance</guilabel> column, in particular making
          it larger. Just drag its right-hand border out of the window to grow it. Be careful,
          though, as there's another column called rate whose width is set to 1 pixel to hide it
          (it's for internal use). Approach the divider from the left side and click as soon as the
          cursor changes to a double-headed arrow (&dArrow;).
        </para>
      </note>
      
      <important>
        <para>When in split mode there are different column markers in the header for split rows and transaction rows
          depending on which type of row is active. In order to adjust split column widths one must first make
          a split row active; to adjust transaction line column widths a transaction row must be active.
        </para>
      </important>

      <para>Column width settings except for the Description column are saved in the user's book state file and
        will be restored when the register is closed and reopened.
      </para>
    </sect3>

    <sect3 id="txns-shortcuts1">
      <title>Using Entry Shortcuts</title>

      <para>&app; provides several shortcuts to speed data entry:
      </para>

      <itemizedlist>
        <listitem>
          <para>The date field will interpret short date entries (e.g. 2/15 or 15/2 depending on locale) to mean the
            month and day in either the current year or within a sliding window encompassing a
            12-month period selected in <guimenuitem>Preferences</guimenuitem> on the
            <guilabel>Date/Time</guilabel> tab, and the following keys will adjust the currently set
            date as follows:
          </para>

          <itemizedlist>
            <listitem>
              <para><keycap>+</keycap> or <keycap>=</keycap> to increment the date and <keycap>-</keycap> or
                <keycap>_</keycap> to decrement the date
              </para>
            </listitem>

            <listitem>
              <para><keycap>]</keycap> or <keycap>}</keycap> to increment the month and <keycap>[</keycap> or
                <keycap>{</keycap> to decrement the month
              </para>
            </listitem>

            <listitem>
              <para><keycap>M</keycap> or <keycap>m</keycap> to enter the first date of the month
              </para>
            </listitem>

            <listitem>
              <para><keycap>H</keycap> or <keycap>h</keycap> to enter the last date of the month
              </para>
            </listitem>

            <listitem>
              <para><keycap>Y</keycap> or <keycap>y</keycap> to enter the first date of the year
              </para>
            </listitem>

            <listitem>
              <para><keycap>R</keycap> or <keycap>r</keycap> to enter the last date of the year
              </para>
            </listitem>

            <listitem>
              <para><keycap>T</keycap> or <keycap>t</keycap> to enter today&rsquo;s date
              </para>
            </listitem>
          </itemizedlist>

          <tip>
            <para>These date shortcuts not only work in the account register but everywhere you can enter a date.
            </para>
          </tip>

          <tip>
            <para>Specifically for dates there's another way you can save time: you can enter partial dates. For
              example if you only enter one number, &app; will interpret it as the day in the
              current month of the current year. If you only enter a day and month, &app; will
              automatically append the year. The default this to take such a date in a sliding
              window starting 11 months before the current month. This means that if you enter 1/5
              (January 5th) as date while the current date is in December 2015, the date will be
              completed as 1/5/16. This default can be changed via <menuchoice>
                <guimenu>Edit</guimenu><guisubmenu>Preferences</guisubmenu><guisubmenu>Date/Time</guisubmenu>
                <guilabel>Date Completion</guilabel>
              </menuchoice>. You can change it to either always evaluate a date in the current calendar year or change the
              start of the sliding window.
            </para>
          </tip>
        </listitem>

        <listitem>
          <para>In the <guilabel>Num</guilabel> field of the transaction line, you can type <keycap>+</keycap> to
            increment the transaction number from the last one you typed in. Typing
            <keycap>-</keycap> will decrement the number. This will also work in the
            <guilabel>Action</guilabel> field of the split line, if you choose to enter split
            numbers there. The <guilabel>Action</guilabel> field also supports QuickFill - if you
            type the first characters of a common action (such as <guilabel>Deposit</guilabel>),
            &app; will fill in the rest.
          </para>
        </listitem>

        <listitem>
          <para>Perhaps most powerful of all, as you type in the <guilabel>Description</guilabel> field &app; will
            find previous transactions that begin the same as your typing and offer them as
            completions. When you <keycap>Tab</keycap> with the offered completion text shown &app;
            will copy that previous transaction and focus the <guilabel>Debit</guilabel> or
            <guilabel>Credit</guilabel> value used, selected and ready for you to overwrite it with
            a new value.<note>
              <para>This copies the <emphasis>whole transaction</emphasis> including parts that may not be visible like
                <guilabel>Notes</guilabel> and <guilabel>Price</guilabel>. Unless you intend to
                exactly duplicate the transaction be sure to edit all fields that should differ.
              </para>
            </note><tip>
              <para>You can use this feature to fill in the transaction then go back to the
                <guilabel>Description</guilabel> field and change the description.
              </para>
            </tip>
          </para>
        </listitem>

        <listitem>
          <para>The <guilabel>Transfer</guilabel> field supports QuickFill of account names. You can start typing an
            account name and &app; will fill in the remaining part of the name. Typing the separator
            character at any time will complete the current level of the account name, leaving the
            cursor positioned to start the next level of account name. For example, typing
            <keycap>A:C</keycap> might complete to the <emphasis>Assets:Checking</emphasis> account.
            Entering the name in sequence this way will pop up the whole account list with the
            predicted item selected. Alternatively you can type any character sequence in the
            account name and the popup will display an account list filtered to those accounts
            containing the characters typed so far. In either case you may use the <keycap>Up
            Arrow</keycap> or <keycap>Down Arrow</keycap> to select an account from the popup.
          </para>
        </listitem>

        <listitem>
          <para>In any of the amount fields, you can use a built-in calculator. Simply type in the first value,
            followed by <keycap>+</keycap>, <keycap>-</keycap>, <keycap>*</keycap>, or
            <keycap>/</keycap>, then type in the second value. &app; will perform the calculation
            and return the resulting value to the amount field when you press the
            <keycap>Tab</keycap> key.
          </para>
        </listitem>

        <listitem>
          <para>All of the menu items have access keys defined, and these are marked by underlined characters in the
            menu names while <keycap>Alt</keycap> is hold. Press
            <keycombo><keycap>Alt</keycap><keycap><replaceable>underlined character</replaceable></keycap></keycombo>
            to bring up the menu, then select an item by typing its underlined character. For example, typing <keycombo>
              <keycap>Alt</keycap><keycap>A</keycap>
            </keycombo> brings up the Actions menu, then typing <keycap>P</keycap> will split the transaction. A few of the
            menu items also have shortcut keys that immediately invoke the command (typically using
            the <keycap>Ctrl</keycap> key). These shortcuts are listed next to the item.
          </para>
        </listitem>

        <listitem>
          <para>To move around the register, use these keys to save time:
          </para>

          <itemizedlist>
            <listitem>
              <para><keycap>Tab</keycap> to move to the next field, <keycombo>
                  <keycap>Shift</keycap> <keycap>Tab</keycap>
                </keycombo> to move to the previous field
              </para>
            </listitem>

            <listitem>
              <para><keycap>Home</keycap> to move to the beginning of the field, <keycap>End</keycap> to move to the end
                of the field
              </para>
            </listitem>

            <listitem>
              <para><keycap function="enter">Enter</keycap> or <keycap>↓</keycap> to move to the next transaction,
                <keycap>↑</keycap> to move to the previous transaction
              </para>
            </listitem>

            <listitem>
              <para><keycap>Page Up</keycap> to move up one screen, <keycap>Page Down</keycap> to move down one screen
              </para>
            </listitem>

            <listitem>
              <para><keycombo>
                  <keycap>Shift</keycap> <keycap>Page Up</keycap>
                </keycombo> to go to the first transaction, <keycombo>
                  <keycap>Shift</keycap> <keycap>Page Down</keycap>
                </keycombo> to go to the last transaction
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
      </itemizedlist>

      <para>In the <guilabel>Reconcile</guilabel> window you can use these keyboard shortcuts:
      </para>

      <itemizedlist>
        <listitem>
          <para><keycap>Tab</keycap> moves to the next box and <keycombo>
              <keycap>Shift</keycap><keycap>Tab</keycap>
            </keycombo> moves to the previous box
          </para>
        </listitem>

        <listitem>
          <para>Space bar toggles the status between reconciled and not reconciled
          </para>
        </listitem>

        <listitem>
          <para><keycap>↑</keycap> and <keycap>↓</keycap> navigate through the entries within the current box
          </para>
        </listitem>
      </itemizedlist>
    </sect3>
  </sect2>

  <sect2 id="txns-registers-txntypes">
    <title>Simple vs. Split Transactions</title>

    <para>Every transaction in &app; has at least two splits, but a transaction can have more than two splits.
      A transaction with only two splits is called a <emphasis>simple transaction</emphasis>, since
      it only involves the current account and a single remote account. A transaction with three or
      more accounts is called a <emphasis>split transaction</emphasis>.
    </para>

    <para>When the register is in Basic view, you will see a summary of the splits affecting the current
      account. For a simple transaction, the <guilabel>Transfer</guilabel> column will display the
      other account from which money is <emphasis>transferred</emphasis>. For a split transaction,
      the <guilabel>Transfer</guilabel> column will display <guilabel>-- Split Transaction
      --</guilabel>. You can see the individual splits of each transaction by clicking the
      <guibutton>Split</guibutton> button in the <emphasis>Toolbar</emphasis> while selecting the
      appropriate transaction.
    </para>

    <para>For split transactions, the first line of the transaction is the <emphasis>transaction
      line</emphasis>. It contains a <guilabel>Date</guilabel>, optional <guilabel>Num</guilabel>
      (such as a check number), transaction <guilabel>Description</guilabel>, total amount affecting
      the current account (<guilabel>Tot Deposit</guilabel> here), and updated account
      <guilabel>Balance</guilabel> after the current transaction. Note that in the expanded view,
      the <guilabel>Transfer</guilabel> column heading disappears, and there is no account name
      listed in that field. This line shows you only a summary of the transaction&rsquo;s effect on
      the current account. For more detailed information, you need to look at the individual splits
      that make up the transaction.
    </para>

    <note>
      <para>An account register displays a transaction when that transaction has a split assigned to the
        account. If a given transaction has more than one split assigned to the account, then in
        Basic and Auto-Split views, that transaction will appear in the register one time for each
        split assigned to that account. In Transaction Journal view, such a transaction will only
        appear once in the register.
      </para>
    </note>

    <para>The partial lines below the transaction line are the <emphasis>split lines</emphasis>, and they are
      separated by gray lines. As you highlight one of the split lines, the column headings change
      to show the split-related fields:
    </para>

<!-- ToDo: unshrink -->
    <figure>
      <title>Salary In The Assets:Checking Account</title>
      <screenshot id="txns-registersplit2">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_registersplit2.png"
                       srccredit="Bengt Thuree" />
          </imageobject>
          <caption>
            <para>This image shows how split headings change.
            </para>
          </caption>
        </mediaobject>
      </screenshot>
    </figure>

    <para>Each split contains an optional <guilabel>Action</guilabel>, or type of split, which you can either
      type in or choose from a pull-down list. The split also contains an optional
      <guilabel>Memo</guilabel> which describes the split. Each split affects an
      <guilabel>Account</guilabel>, which can be selected from a pull-down list of your accounts.
      The <guilabel>R</guilabel> field indicates whether the split has been reconciled. The last two
      columns show the amount of the split and whether money is coming into or going out of the
      account.
    </para>

    <para>As we discussed in <xref linkend="basics-accounting1" />, total debits (left-column entries) must
      equal total credits (right-column entries) for each transaction. In the example shown above,
      the total debits equal the total credits, so this transaction is balanced. If you notice, the
      transaction line contains the same debit amount as the <guilabel>Checking</guilabel> split
      line. Why is this shown twice? Because the transaction line is merely a
      <emphasis>summary</emphasis> of the transaction&rsquo;s effect on the current account. The
      same transaction in a different account will have a different transaction line, one that shows
      the effect on that particular account. You can see this by highlighting another split line and
      clicking the <guibutton>Jump</guibutton> button on the <emphasis>Toolbar</emphasis>.
    </para>

    <para>In this example, if you jump to the <emphasis>Income:Salary</emphasis> account, &app; brings up the
      same transaction in the <emphasis>Income:Salary</emphasis> - Register:
    </para>

 <!-- ToDo: unshrink -->
    <figure>
      <title>Salary In The Income:Salary Account</title>
      <screenshot id="txns-registersplit3">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_registersplit3.png"
              srccredit="Bengt Thuree" />
          </imageobject>
          <caption>
            <para>This image shows a jump to the <emphasis>Income:Salary</emphasis> account.
            </para>
          </caption>
        </mediaobject>
      </screenshot>
    </figure>

    <para>Note that the transaction line total now summarizes the effect on the
      <emphasis>Income:Salary</emphasis> account instead of the <emphasis>Checking
      Account</emphasis>, because you are looking at the <emphasis>Income:Salary</emphasis> account
      register. The splits are exactly the same, but the transaction line now reflects the credit to
      the <emphasis>Income:Salary</emphasis> account.
    </para>

    <sect3 id="txns-registers-twoaccount2">
      <title>Simple Transaction Example</title>

      <para>Starting with the chart of accounts we created in the previous chapter
        <filename>gcashdata_3</filename>, double click on the <guilabel>Checking</guilabel> asset
        account. Let&rsquo;s add a simple transaction to the checking account. When you first create
        your accounts in &app;, it is common to start them off with an initial balance.
      </para>

      <para>In the first transaction row, enter a date (e.g.: March, 1, 2006), a description (e.g.:
        <quote>Opening Balance</quote>), click on the <guilabel>Transfer</guilabel> pop-up menu and
        select <emphasis>Equity:Opening Balances</emphasis>, add a deposit value of $1,000, and press
        the <keycap function="enter">Enter</keycap> key. The account register should now appear
        similar to this figure:
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>The Checking Account After Inserting The Opening Balance Transaction</title>
        <screenshot id="txns-register-2account">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_register_2account.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows the <emphasis>Assets:Checking</emphasis> register after inserting the opening balance
                transaction.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Setting the opening balances of an account is an example of a simple two account transaction. In
        this case, affecting the <emphasis>Assets:Checking</emphasis> and the
        <emphasis>Equity:Opening Balances</emphasis> accounts.
      </para>

      <para>As another example of a simple 2 account transaction, add another transaction to describe the
        purchase of $45.21 worth of groceries. From within the <emphasis>Assets:Checking</emphasis>
        account, you would set <guilabel>Transfer</guilabel> to
        <emphasis>Expenses:Groceries</emphasis>. The account register should now appear:
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>The Checking Account Adding A Transaction For Groceries</title>
        <screenshot id="txns-register-2account2">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_register_2account2.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows <emphasis>Assets:Checking</emphasis> - Register after adding a transaction for
                groceries.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>

    <sect3 id="txns-registers-multiaccount2">
      <title>Split Transaction Example</title>

      <para>The need for 3 or more splits in a transaction occurs when you need to split either the
        <quote>from</quote> or the <quote>to</quote> account in a transaction into multiple
        accounts. The classic example of this is when you receive a paycheck. Your take home pay
        from a paycheck will typically be less than your net pay, with the difference being due to
        taxes, retirement account payments, and/or other items. Thus, the single transaction of you
        receiving a paycheck involves other accounts besides simply
        <emphasis>Assets:Checking</emphasis> and <emphasis>Income:Salary</emphasis>.
      </para>

      <para>To add the paycheck split transaction from the<emphasis role="italic"> Assets:Checking</emphasis>
        account register window, click on a new transaction line and click
        <guilabel>Split</guilabel>. Note that if you have set your register view to Auto-Split or
        Transaction Journal, the splits will be opened for you. Enter the description of this
        transaction on the first line(e.g. “Employers R Us”). In the split lines below this,
        enter the various splits that make up this transaction, one by one. To enter the splits,
        first choose the account, then enter the amount by which to change the account. Keep in mind
        that when in an asset account register, amounts entered in the left column increase the
        account balance, while amounts entered in the right column decrease the balance (for more
        about this, see <xref linkend="basics-transactions2"/>). Tab or click the next split line
        and repeat the process. Note that if you are using the keyboard to navigate the transaction,
        use<keycap> Tab</keycap> to move from field to field, as using <keycap>Enter</keycap> will
        commit the transaction and create splits to an Imbalance account.
      </para>

      <note>
        <para>When creating a transaction in &app;, splits can be entered in any order. However, when the
          transaction is closed (either when leaving the transaction, or when pressing the
          <keycap function="enter">Enter</keycap> key), all debit splits will jump ahead of all
          credit splits.
        </para>
      </note>

      <para>In this example, choose the deposit account (<emphasis>Assets:Checking</emphasis>) and then enter
        the amount that is being deposited into it (e.g. $670). Follow this by entering the amounts
        for the various taxes: <emphasis>Expenses:Taxes:Federal</emphasis> account, $180;
        <emphasis>Expenses:Taxes:Medicare</emphasis> account, $90; and
        <emphasis>Expenses:Taxes:Social Security</emphasis> account, $60. Finally, enter the gross
        total of your paycheck ($1,000 in this example) as a withdrawal transfer from
        <emphasis>Income:Salary</emphasis>.
      </para>

      <para>The final split should look like <xref
      linkend="txns-register-multiaccount"/>. Remember to
        press <keycap function="enter">Enter</keycap> after finishing the entry. But you should also
        know that when you press <keycap function="enter">Enter</keycap>, the split view will be
        <quote>folded</quote> back into a simplified transaction view. The splits are still there;
        you just have to click <guilabel>Split</guilabel> to view them. See
        <xref
      linkend="txns-registers-features2"/> for details.
      </para>

<!-- ToDo: unshrink -->
      <figure id="txns-register-multiaccount">
        <title>Entering a split transaction</title>
        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_register_multiaccount.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>
  </sect2>

  <sect2 id="txns-reconcile1">
    <title>Reconciliation</title>

    <para>Once transactions have been entered into &app;, it is important to verify that they agree with the
      records of your financial institution. This verification process is known as
      <emphasis role="strong">reconciliation</emphasis>, and it is key to determine whether your
      records are accurate. Most commonly, you will check transactions against bank statements,
      although you can use this process to verify any transaction.
    </para>

    <para>&app; keeps track of the reconciliation status of each transaction. The reconciliation status of a
      transaction is shown by the reconciliation <guilabel>R</guilabel> field in a register:
      <emphasis>y</emphasis> indicates that a transaction has been reconciled,
      <emphasis>n</emphasis> indicates that it has not, and <emphasis>c</emphasis> indicates that it
      has been cleared, but not reconciled. A split marked cleared signifies that you got some kind
      of confirmation that the institution accepted the order (e.g. you have the restaurant's
      receipt for your credit card purchase). You can toggle the reconciliation status between
      <emphasis>n</emphasis> and <emphasis>c</emphasis> by clicking in the <guilabel>R</guilabel>
      field; you can set it to <emphasis>y</emphasis> by using
      <xref linkend="txns-reconcile-window2" />.
    </para>

    <para>At the bottom of the account window, there are (among others) two running balances (the
      <guilabel>cleared</guilabel> and <guilabel>reconciled</guilabel> balance), and the
      <guilabel>total</guilabel> balance. The former balances should correspond to how much money
      the bank thinks you have in your account, while the latter includes outstanding transactions.
    </para>

    <para>For example, when you write a check for something, you should enter the transaction into &app;. The
      reconciliation <guilabel>R</guilabel> field of the transaction will initially contain
      <guilabel>n</guilabel> (new). Your new entry will contribute to the <guilabel>total</guilabel>
      balance, but not to the <guilabel>cleared</guilabel> and <guilabel>reconciled</guilabel>
      balance. Later, if you got some confirmation that the check has been cashed, you might click
      on the transaction&rsquo;s <guilabel>R</guilabel> field to change it to <emphasis>c</emphasis>
      (cleared). When you do this, the <guilabel>cleared</guilabel> balance will change to include
      this amount. When the bank statement arrives, you can then compare it to what you&rsquo;ve
      recorded in &app; by opening the reconciliation window. There, you will be able to change the
      <guilabel>R</guilabel> field to <emphasis>y</emphasis> (reconciled).
    </para>

    <note>
      <para>You cannot reconcile directly in a register window by clicking in the <emphasis>R</emphasis> field.
        You must use the reconciliation window. Once a transaction has been marked
        <emphasis>reconciled</emphasis>, it can no longer be easily changed without breaking the
        <link linkend="rec-start-blnc"><guilabel>Starting Balance</guilabel></link> of the next
        reconciliation.
      </para>
    </note>

    <warning>
      <para>It is important to understand that reconciliation is done for a given date, and when you reconcile
        an account based on a statement from a given date, you are reconciling
        <emphasis role="strong">all transactions prior to that date</emphasis>. Therefore, if you
        add or modify transactions that predate your last reconciliation, your
        <emphasis role="strong">reconciled</emphasis> balances will be thrown off.
      </para>
    </warning>

    <sect3 id="txns-reconcile-window2">
      <title>Reconcile windows</title>

      <para>The reconciliation windows are used to reconcile a &app; account with a statement that a bank or
        other institution has sent you. Reconciliation is useful not only to double-check your
        records against those of your bank, but also to get a better idea of outstanding
        transactions, e.g. uncashed checks.
      </para>

      <para>To use the reconciliation windows, select an account from the account tree and click on <menuchoice>
          <guimenu>Actions</guimenu> <guimenuitem>Reconcile</guimenuitem>
        </menuchoice>. A window like the one below will appear in which you can enter the reconcile information.
      </para>

      <figure>
        <title>The Initial Reconcile Window</title>
        <screenshot id="txns-reconcile-window-1">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_reconcile_window1.png"
                         srccredit="Cristian Marchi"/>
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <para>In the initial reconcile window, some <guilabel>Reconcile Information</guilabel> need to be entered.
      </para>

      <variablelist>
        <varlistentry>
          <term><guilabel>Statement Date</guilabel></term>

          <listitem>
            <para>The date of the statement you will be reconciling against.
            </para>

            <tip>
              <para>Click on the down arrow in the right of this field to open a calendar
              </para>
            </tip>
          </listitem>
        </varlistentry>

        <varlistentry id="rec-start-blnc">
          <term><guilabel>Starting Balance</guilabel></term>

          <listitem>
            <para>This is a non-editable item which displays the balance from the previous reconciliation. It should
              match the starting balance in your statement.
            </para>

            <warning>
              <para>Sometimes, the starting balance in &app; does not match that found on your statement. This can
                happen the first time you reconcile your account or when a previously-reconciled
                transaction is de-reconciled or deleted.
              </para>
            </warning>

            <note>
              <para>The first time you reconcile your account, the <guilabel>starting balance</guilabel> will be
                <guilabel>0.00</guilabel>, thus probably not the <emphasis>opening
                balance</emphasis> of your account. When you reconcile the account, the
                <emphasis>opening balance</emphasis> for the account will be included in the
                reconciliation, and the result should balance.
              </para>
            </note>

            <tip>
              <para>In the case when a previously-reconciled transaction is accidentally de-reconciled, you can simply
                re-reconcile the transaction along with the transactions on the current statement,
                and the result should balance.
              </para>

              <para>The case of accidentally deleting a previously-reconciled transaction presents more of a challenge;
                if you cannot determine what was deleted and restore it to the register, you will
                have to create a dummy transaction to get the reconciliation to finish.
              </para>
            </tip>

            <caution>
              <para>While the latter case does not matter for your private accounting, you should have a really good
                explanation for your auditors, if you are the accountant of a club or a company.
              </para>
            </caution>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Ending Balance</guilabel></term>

          <listitem>
            <para>This field should be filled with the ending balance as it appears in the statement.
            </para>

            <note>
              <para>&app; automatically fills this field with the <guilabel>Present</guilabel> balance as shown in the
                lower part of the account&rsquo;s register.
              </para>
            </note>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Include Sub-accounts</guilabel></term>

          <listitem>
            <para>Check this option if you want to include in the reconciliation the transactions that belongs to the
              sub-accounts of the currently selected account. Note that all sub-accounts must be in
              the same commodity as the parent for the option to be enabled.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guibutton>Enter Interest Payment</guibutton></term>

          <listitem>
            <para>Clicking this button opens a new window that allow you to enter an interest transaction to the
              account to be reconciled.
            </para>

            <tip>
              <para>The <guilabel>Interest Payment</guilabel> window might be opened automatically when you start a
                reconciliation for an account of the type <emphasis>Bank</emphasis>,
                <emphasis>Credit</emphasis>, <emphasis>Mutual</emphasis>,
                <emphasis>Asset</emphasis>, <emphasis>Receivable</emphasis>,
                <emphasis>Payable</emphasis>, and <emphasis>Liability</emphasis>. If you want to
                disable this behavior for any of the previous accounts, go to the
                <guilabel>Register</guilabel> tab of the <guilabel>&appname; Preferences</guilabel>
                and uncheck the <guilabel>Automatic interest transfer</guilabel> option.
                Alternatively, to disable this behavior only for the selected account, press the
                <guibutton>No Auto Interest Payments for this Account</guibutton> button in the
                <guilabel>Interest Payment</guilabel> window.
              </para>
            </tip>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>Then, click on the <guibutton>Ok</guibutton> button, and you will see the transactions listing
        reconcile window:
      </para>

      <figure>
        <title>Reconcile Window</title>
          <screenshot id="txns-reconcile-window-2">
            <mediaobject>
              <imageobject>
                <imagedata fileref="figures/txns_reconcile_window2.png"
                           srccredit="Cristian Marchi"/>
              </imageobject>
              <caption>
                <para>The transactions listing in the reconcile window.
                </para>
              </caption>
            </mediaobject>
          </screenshot>
        </figure>

      <para>The two panes called <guilabel>Funds In</guilabel> and <guilabel>Funds Out</guilabel>, lists all the
        unreconciled transactions that belongs to the account that is going to be reconciled. The
        <guilabel>R</guilabel> columns show whether the transactions have been reconciled.
      </para>

      <para>Now, examine each item on the bank statement, and look for the matching item in the
        <guilabel>Reconcile</guilabel> window.
      </para>

      <para>If you cannot find a transaction, then perhaps you forgot to enter it, or did not know that the
        transaction had happened. You can use the <guibutton>New</guibutton> button on the
        <emphasis>Toolbar</emphasis>, or the <menuchoice>
          <guimenu>Transaction</guimenu><guimenuitem>New</guimenuitem>
        </menuchoice> menu item in the menu, to open a register window and enter the missing transaction. The new item
        will appear in the <guilabel>Reconcile</guilabel> window when you press the
        <guibutton>Enter</guibutton> button in the register after entering the transaction.
      </para>

      <para>When you find the item in the <guilabel>Reconcile</guilabel> window, compare the amount in the item
        to the amount on the statement. If they disagree, you may have made an error when you
        entered the transaction in &app;. You can use the <guibutton>Edit</guibutton> button on the
        <emphasis>Toolbar</emphasis>, or the <menuchoice>
          <guimenu>Transaction</guimenu><guimenuitem>Edit</guimenuitem>
        </menuchoice> item, to open a register window and correct the transaction.
      </para>

      <para>If the amounts agree, click on the item in the <guilabel>Reconcile</guilabel> window. A check mark
        will appear in the <guilabel>R</guilabel> column aside the selected transaction. &app; will
        automatically update the amounts in the lower right summary pane.
      </para>

      <tip>
        <para>You can use the <keycap>up</keycap>/<keycap>down</keycap> arrow keys to scroll to the item, the
          <keycap>space</keycap> key to mark the item as reconciled and the <keycap>Tab</keycap> key
          to switch panes.
        </para>
      </tip>

      <para>You then repeat this for each item that appears on the bank statement, verifying that the amounts
        match with the amounts in &app;, and marking off transactions in &app; as they are
        reconciled.
      </para>

      <tip>
        <para>You can check or uncheck the reconcile status of all transactions in either pane by clicking on a
          transaction in the required pane then clicking <keycap>Ctrl-A</keycap> followed by
          <keycap>space</keycap>. This will toggle the reconcile status of all transactions in the
          pane to either checked or unchecked state. This procedure can be repeated to achieve the
          desired status for the transactions in the pane.
        </para>
      </tip>

      <para>At the bottom of the <guilabel>Reconcile</guilabel> window there is a
        <guilabel>Difference</guilabel> field, which should show <guilabel>0.00</guilabel> when you
        are done reconciling. If it shows some other value, then either you have missed
        transactions, or some amounts may be incorrect in &app;. (Or, less likely, the bank may have
        made an error.)
      </para>

      <note>
        <para>Under some circumstances, it may be difficult or impossible to determine why an account will not
          reconcile. If you are unable to correct the discrepancy between your books and a
          statement, &app; includes a <guibutton>Balance</guibutton> button on the
          <emphasis>Toolbar</emphasis> that will automatically create a balancing entry for you in
          the amount that cannot be reconciled.
        </para>

        <para>To use this, carry out the full reconciliation (marking all transactions that you can identify) and
          then click this button. &app; will create a balancing entry for the remaining discrepancy
          that uses the <emphasis>Special Accounts:Orphan-XXX</emphasis> account (where "XXX"
          represents your currency). The Reconcile window will close; re-opening it will allow you
          to check the newly-created balancing entry and finish the process.
        </para>
      </note>

      <para>When you have marked off all the items on the bank statement and the difference is 0.00, press the
        <guibutton>Finish</guibutton> button on the <emphasis>Toolbar</emphasis> or select <menuchoice>
          <guimenu>Reconcile</guimenu><guimenuitem>Finish</guimenuitem>
        </menuchoice> from the menu. The <guilabel>Reconcile</guilabel> window will close. In the register window, the
        <guilabel>R</guilabel> field of the reconciled transactions will change to
        <emphasis>y</emphasis>.
      </para>

      <para>In this case, we have not received all the information yet, so we simply press the
        <guibutton>Postpone</guibutton> button, so we can continue at a later stage. Observe that
        the <guilabel>R</guilabel> column indicates we cleared (<emphasis>c</emphasis>) two
        transactions. They have not been reconciled yet, but we have verified these two transactions
        so they have been marked as cleared. If you look at the <emphasis>Statusbar</emphasis> at
        the bottom of the account register, you will see a summary of what has been reconciled and
        what has been cleared (<guilabel>Cleared:USD 954.79 Reconciled:USD 0.00</guilabel>)
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>The Checking account after postponing the reconciliation</title>
        <screenshot id="txns-reconcile-window-3">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_reconcile_window3.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>
  </sect2>

  <sect2 id="txns-sxn1">
    <title>Scheduled Transactions</title>

    <para>Scheduled transactions are made to help entering repetitive money operations, like subscriptions,
      insurances or taxes. By using scheduled transactions, you only have to enter the concerned
      transaction once, set a few parameters like start date, frequency and a little description,
      and then &app; will tell you whenever a scheduled transaction is ready to be created, and
      create it for you.
    </para>

    <para>In this how-to, we&rsquo;ll take a monthly Internet subscription of 20 USD as example, which is taken
      on the 28th of each month.
    </para>

    <para>In &app;, there are two ways of creating scheduled transactions,
      <link linkend="txns-sxn-ledger2">from the ledger</link> or from the
      <link linkend="txns-sxn-editor2">Scheduled Transactions Editor</link>.
    </para>

    <sect3 id="txns-sxn-ledger2">
      <title>Creating from the Ledger</title>

      <para>Enter the first occurrence of your to-schedule transaction in the ledger. In the
        <guilabel>Transfer</guilabel> field for this transaction, type
        <emphasis>Expenses:Internet</emphasis> as shown in the next screenshot.
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>Step 1 Of Creating Scheduled Transaction From The Ledger</title>
        <screenshot id="txns-sxn-ledger-1">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_ledger1.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <note>
        <para>Since we did not create the <emphasis>Expenses:Internet</emphasis> account, &app; will prompt us to
          create it.
        </para>
      </note>

      <para>Then you right click on your transaction and select <guilabel>Schedule...</guilabel>
      </para>

      <figure>
        <title>Step 2 Of Creating Scheduled Transaction From The Ledger</title>
        <screenshot id="txns-sxn-ledger-2">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_ledger2.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <para>A window like this will appear:
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>Step 3 Of Creating Scheduled Transaction From The Ledger</title>
        <screenshot id="txns-sxn-ledger-3">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_ledger3.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Let&rsquo;s fill the values, we know that the subscription is taken on the 28th each month, and the
        next one is for next month (since we entered the one for this month manually) :
      </para>

<!-- ToDo: unshrink -->
      <figure>
        <title>Filling In Data To A Scheduled Transaction</title>
        <screenshot id="txns-sxn-ledger-4">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_ledger4.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Click the <guibutton>OK</guibutton> button, and the transaction will be scheduled. &app; now has
        memorized this scheduled transaction and on the 28th of next month, it will pop up a window
        asking if it should create it (see far below for a screenshot of this window).
      </para>
    </sect3>

    <sect3 id="txns-sxn-editor2">
      <title>Creating from the Editor</title>

      <para>Another way of entering a scheduled transaction is from the <guilabel>Scheduled Transaction
        Editor</guilabel>, it may be faster if we have several scheduled transactions to create at
        once.
      </para>

      <para>From the main accounts windows, select <menuchoice>
          <guimenu>Actions</guimenu><guisubmenu>Scheduled Transactions</guisubmenu>
          <guimenuitem>Scheduled Transaction Editor</guimenuitem>
        </menuchoice> from the <emphasis>Menubar</emphasis>. A new <guilabel>Scheduled Transactions</guilabel> tab will be
        opened in the current &app; window as shown below:
      </para>

      <figure>
        <title>Empty Scheduled Transactions Tab</title>
       <screenshot id="txns-sxn-editor-2">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_editor-2.png"
                         srccredit="Cristian Marchi"/>
            </imageobject>
            <caption>
              <para>Empty <guilabel>Scheduled Transactions</guilabel> tab
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>This tab contains a list, now empty, of all the scheduled transactions. Let&rsquo;s create a new one
        by clicking on the <guibutton>New</guibutton> button in the <emphasis>Toolbar</emphasis>. A
        window like the one below will pop up:
      </para>

      <figure>
        <title>Overview Tab Of The Edit Scheduled Transaction Window</title>
        <screenshot id="txns-sxn-editor-3-overview">
          <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/txns_sxn_editor-3-overview.png"
                         srccredit="Cristian Marchi" width="&img-w;"/>
            </imageobject>
            <imageobject role="fo">
              <imagedata fileref="figures/txns_sxn_editor-3-overview.png"
                         srccredit="Cristian Marchi" />
            </imageobject>
            <caption>
              <para><guimenuitem>Edit Scheduled Transaction</guimenuitem> window, <guilabel>Overview</guilabel> tab
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>First, let&rsquo;s enter a name for this new scheduled transaction in the top of the window.
      </para>

      <note>
        <para>This name will only identify the transaction in the <guilabel>Edit Scheduled Transaction</guilabel>
          window, it will never appear in the ledger.
        </para>
      </note>

      <para>In the <guilabel>Options</guilabel> pane of the <guilabel>Overview</guilabel> tab you have four
        options:
      </para>

      <variablelist>
        <varlistentry>
          <term><guilabel>Enable</guilabel></term>

          <listitem>
            <para>Sets the status of the scheduled transaction.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Create automatically</guilabel></term>

          <listitem>
            <para>If enabled, will insert this transaction in the ledger without asking you before (see below). If
              needed, you can be advised when the transaction is entered by checking the
              <guilabel>Notify me when created</guilabel> option.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Create in advance</guilabel></term>

          <listitem>
            <para>Sets how many days in advance the transaction will be created.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Remind in advance</guilabel></term>

          <listitem>
            <para>Sets how many days in advance a reminder is presented. This can be used, for example, when you have
              to pay something by check, and a reminder one week before allows you to send your
              check before the deadline.
            </para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>The <guilabel>Occurences</guilabel> pane allows you to tell &app; that this scheduled transaction
        won&rsquo;t last for ever. For example if you are repaying a loan, you can enter the loan
        end date or the number of occurences left.
      </para>

      <para>Select now the <guilabel>Frequency</guilabel> tab in the <guilabel>Edit Scheduled
        Transaction</guilabel> window. Here you can set the time-related options of the transaction.
      </para>

      <figure>
        <title>Frequency Tab Of The Edit Scheduled Transaction Window</title>
        <screenshot id="txns-sxn-editor-3-frequency">
          <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/txns_sxn_editor-3-frequency.png"
                         srccredit="Cristian Marchi" width="&img-w;"/>
            </imageobject>
            <imageobject role="fo">
              <imagedata fileref="figures/txns_sxn_editor-3-frequency.png"
                         srccredit="Cristian Marchi" />
            </imageobject>
            <caption>
              <para><guimenuitem>Edit Scheduled Transaction</guimenuitem> window, <guilabel>Frequency</guilabel> tab
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <variablelist>
        <varlistentry>
          <term><guilabel>Frequency</guilabel></term>

          <listitem>
            <para>Sets the basic frequency of the transaction, with options for <guilabel>once</guilabel>,
              <guilabel>daily</guilabel>, <guilabel>weekly</guilabel>,
              <guilabel>semi-monthly</guilabel> and <guilabel>monthly</guilabel>. In this example,
              this is set to <guilabel>monthly</guilabel>.
            </para>

            <note>
              <para>It is possible to set a transaction to occur at intervals <emphasis>other</emphasis> than those
                listed in the <guilabel>Frequency</guilabel> list, by changing the setting in the
                <guilabel>Every</guilabel> control (see below).
              </para>
            </note>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Start Date</guilabel></term>

          <listitem>
            <para>Sets when the transaction will begin. In the example, this would be set to the start of the next
              month.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Every</guilabel></term>

          <listitem>
            <para>This option allows you to schedule transactions by multiplies of the value in
              <guilabel>Frequency</guilabel>. For example, to create a transaction that runs every 3
              weeks, set <guilabel>Frequency</guilabel> to <guilabel>Weeks</guilabel> and
              <guilabel>Every</guilabel> to <guilabel>3</guilabel>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>On the</guilabel> and <guilabel>Except on weekends</guilabel></term>

          <listitem>
            <para>Sets the day of the month that the transaction is scheduled, and controls what &app; will do when
              the day occurs on a weekend day.
            </para>
          </listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>We know that the subscription is taken on the 28th each month, so the <guilabel>Start
          date</guilabel> will be November 1, 2003 (assuming November is the next month), the
          <guilabel>Frequency</guilabel> will be <guilabel>Monthly</guilabel>, it will be taken
          every month on the 28th. Since in our example the internet subscription is automatically
          taken from the account, we have no need to create it in advance, nor give an end date.
        </para>
      </note>

      <para>When the elements on this tab are filled in, &app; will highlights the calendar below to indicate
        when future transactions will be run.
      </para>

      <para>Finally select the <guilabel>Template Transaction</guilabel> tab and enter your transaction in the
        lower part as you would do in the ledger, with the only difference of having no date.
      </para>

      <para>Now, you should have a window like this:
      </para>

      <figure>
        <title>Template Tab Of The Edit Scheduled Transaction Window</title>
        <screenshot id="txns-sxn-editor-3-template">
          <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/txns_sxn_editor-3-template.png"
                         srccredit="Cristian Marchi" width="&img-w;"/>
            </imageobject>
            <imageobject role="fo">
              <imagedata fileref="figures/txns_sxn_editor-3-template.png"
                         srccredit="Cristian Marchi" />
            </imageobject>
            <caption>
              <para><guimenuitem>Edit Scheduled Transaction</guimenuitem> window, <guilabel>Template
                Transaction</guilabel> tab
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>

      <para>Remember to click on the <guibutton>Enter</guibutton> icon, to validate and enter the transaction.
      </para>

      <para>Now click <guibutton>OK</guibutton>, it takes you to the <guilabel>Scheduled Transactions</guilabel>
        tab, now showing one item in the <guilabel>Transactions</guilabel> list:
      </para>

      <figure>
        <title>The Finally Entered Scheduled Transaction</title>
        <screenshot id="txns-sxn-editor-4">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_editor-4.png"
                         srccredit="Cristian Marchi" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>

      <tip>
        <para>If you click in the calendar part on the first day of one month, a small window, following your
          mouse, will show you what is planned for this day. To make the small window disappear
          again, just click in it one more time.
        </para>
      </tip>

      <para>You can now close the <guilabel>Scheduled Transaction</guilabel> tab, and <guilabel>save</guilabel>
        your work.
      </para>

      <note>
        <para>What comes below is just an illustration, and is not meant to be entered into the &app; database at
          this stage. As per this example, the below dialogs will appear when the scheduled
          transaction is supposed to run.
        </para>
      </note>

      <para>From now on, when &app; is launched and a scheduled transaction is scheduled or need to be entered,
        you may see a <guilabel>Since Last Run...</guilabel> window summarizing the scheduled
        transactions operations (<guilabel>Reminder</guilabel>, <guilabel>To-Create</guilabel>
        etc... a better description of each option can be found in the &app; manual):
      </para>

      <figure>
        <title>Scheduled Transaction Popup Reminder</title>
        <screenshot id="txns-sxn-editor-slr">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_sxn_editor_slr.png"
                         srccredit="Cristian Marchi" />
            </imageobject>
         </mediaobject>
        </screenshot>
      </figure>

      <para>You can click on the <guilabel>Status</guilabel> column to change the scheduled transaction status
        if needed. Then just click on <guibutton>Ok</guibutton> to close the <guilabel>Since Last
        Run...</guilabel> window and to apply the pending operations. Select
        <guibutton>Cancel</guibutton> to skip entering in the ledger the pending operations.
      </para>

      <para>If the <guilabel>Status</guilabel> field was set to <guilabel>To-Create</guilabel>, then if you take
        a look in your bank account register, you&rsquo;ll see the transaction has been created:
      </para>

      <tip>
        <para>If you enable the <guilabel>Review created transactions</guilabel> option in the lower right of the
          <guilabel>Since Last Run...</guilabel> window, &app; will open, after pressing
          <guibutton>Ok</guibutton>, the register tab of each account where the scheduled
          transactions were entered automatically.
        </para>
      </tip>

      <note>
        <para>If you entered the transaction for 28 of April at this stage, then please <emphasis>revert
          back</emphasis> to the last saved &app; file by selecting <menuchoice>
            <guimenu>File</guimenu><guimenuitem>Open</guimenuitem>
          </menuchoice> and choosing the previously saved <filename>gcashdata_3</filename> &app; file.
        </para>
      </note>
    </sect3>
  </sect2>

  <sect2 id="txns-puttoget1">
    <title>Putting It All Together</title>

    <para>In the previous sections of this chapter the concepts and mechanics of working with transactions in
      &app; have been discussed. This section will expand upon the chart of accounts initially built
      in the previous chapter, by setting some opening balances, adding transactions and a scheduled
      transaction.
    </para>

    <sect3 id="txns-puttoget-openfile">
      <title>Open &app; file</title>

      <para>Start with opening the previous datafile we stored, <filename>gcashdata_3emptyAccts</filename>, and
        store it as <filename>gcashdata_4</filename> directly. The main window should look something
        like this:
      </para>

      <figure>
        <title>Starting Point For Putting It All Together</title>
        <screenshot id="txns-puttoget1-Charts">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_puttoget_Charts.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows the starting point for this section.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>

    <sect3 id="txns-puttoget-open2">
      <title>Opening Balances</title>

      <para>As shown earlier in <xref linkend="txns-registers-twoaccount2"/> with the
        <emphasis>Assets:Checking</emphasis> account, the starting balances in an account are
        typically assigned to a special account called <emphasis>Equity:Opening Balance</emphasis>.
        To start filling in this chart of accounts, begin by setting the opening balances for the
        accounts. Assume that there is $1,000 in the savings account and $500 charged on the credit
        card.
      </para>

      <orderedlist>
        <listitem>
          <para>Open the <emphasis>Assets:Savings</emphasis> account register. Select <guimenu>View</guimenu> from
            the menu and check to make sure you are in Basic Ledger style. You will view your
            transactions in the other modes later, but for now let&rsquo;s enter a basic transaction
            using the basic default style.
          </para>
        </listitem>

        <listitem>
          <para>From the <emphasis>Assets:Savings</emphasis> account register window, enter a basic 2 account
            transaction to set your opening balance to $1,000, transferred from
            <emphasis>Equity:Opening Balance</emphasis>. Remember, basic transactions transfer money
            from a source account to a destination account. Record the transaction (press the
            <keycap function="enter">Enter</keycap> key, or click on the
            <guibutton>Enter</guibutton> icon).
          </para>
        </listitem>

        <listitem>
          <para>From the <emphasis>Assets:Checking</emphasis> account register window, enter a basic 2 account
            transaction to set your opening balance to $1,000, transferred from
            <emphasis>Equity:Opening Balance</emphasis>.
          </para>
        </listitem>

        <listitem>
          <para>From the <emphasis>Liabilities:Visa</emphasis> account register window, enter a basic 2 account
            transaction to set your opening balance to $500, transferred from
            <emphasis>Equity:Opening Balance</emphasis>. This is done by entering the $500 as a
            <guilabel>charge</guilabel> in the <emphasis>Visa</emphasis> account (or
            <guilabel>decrease</guilabel> in the <emphasis>Opening Balance</emphasis> account),
            since it is money you borrowed. Record the transaction (press the
            <keycap function="enter">Enter</keycap> key, or click on the
            <guibutton>Enter</guibutton> icon).
          </para>
        </listitem>
      </orderedlist>

      <para>You should now have 3 accounts with opening balances set. <emphasis>Assets:Checking</emphasis>,
        <emphasis>Assets:Savings</emphasis>, and <emphasis>Liabilities:Visa</emphasis>.
      </para>

      <figure>
        <title>Chart Of Accounts After Setting The Opening Balance</title>
        <screenshot id="txns-puttoget1-Charts1">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_puttoget_Charts1.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows the opening balances.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>

    <sect3 id="txns-puttoget-add2">
      <title>Additional Transaction Examples</title>

      <para>Now add some more transactions to simulate a month&rsquo;s expenses. During the month, $78 is spent
        on electricity, $45 on phone, and $350 on rent. All paid by check. We also spent $45.21 on
        groceries, received $670 as salary, and paid our Internet bill this month. Finally,
        let&rsquo;s move $100 from the savings account to the checking account.
      </para>

      <orderedlist>
        <listitem>
          <para>Open the <emphasis>Expenses:Electricity</emphasis> account register and enter a simple 2 account
            transaction to pay the $78 electrical bill at the end of the current month (e.g.: March
            28, 2006). Enter a description (e.g.: Light Company) and the check number (e.g.: 102).
            The <guilabel>Transfer</guilabel> account should be
            <emphasis>Assets:Checking</emphasis>.
          </para>
        </listitem>

        <listitem>
          <para>Open the <emphasis>Assets:Checking</emphasis> account register and enter a simple 2 account
            transaction to pay the $45 phone bill at the end of the current month (e.g.: March 28,
            2006). Enter a description (e.g.: Phone Company Name) and the check number (e.g.: 103).
            The <guilabel>Transfer</guilabel> account should be <emphasis>Expenses:Phone</emphasis>.
            Notice that you can enter expense transactions from either the credit side (the expense
            accounts) or the debit side (the asset account).
          </para>
        </listitem>

        <listitem>
          <para>Open the <emphasis>Expenses:Rent</emphasis> account register and enter a simple 2 account
            transaction to pay the $350 in rent at the end of the current month (e.g.: March 28,
            2006). Enter a description (e.g.: April Rent) and the check number (e.g.: 104). The
            <guilabel>Transfer</guilabel> account should be <emphasis>Assets:Checking</emphasis>.
          </para>
        </listitem>

        <listitem>
          <para>Duplicate this transaction using the <guibutton>Duplicate</guibutton> button in the
            <emphasis>Toolbar</emphasis>. Start by clicking on the current rent transaction, and
            click on the <guilabel>Duplicate</guilabel> icon. Enter the transaction date a month out
            in the future (e.g.: April 28, 2006), and notice the blue line separator that &app; uses
            to separate future transactions from current ones. In this way, you can enter
            transactions before they occur.
          </para>

          <para>You could also set up a scheduled transaction to pay your rent, since the value of the rent is
            likely to be constant for the foreseeable future.<itemizedlist>
              <listitem>
                <para>Start by clicking on the current (April 28) rent transaction, and click on the
                  <guilabel>Schedule</guilabel> icon
                </para>
              </listitem>

              <listitem>
                <para>Change to <guilabel>Monthly</guilabel>, change description if needed and press
                  <guibutton>OK</guibutton>
                </para>
              </listitem>
            </itemizedlist>
          </para>
        </listitem>

        <listitem>
          <para>To transfer money from your savings account to your checking account, open the
            <emphasis>Assets:Savings</emphasis> account register, add a new transaction setting the
            <guilabel>Transfer</guilabel> to <emphasis>Assets:Checking</emphasis> in the amount of
            $100 (date 6 March, 2006).
          </para>
        </listitem>

        <listitem>
          <para>As another example of a simple 2 account transaction, add another transaction to describe the
            purchase of $45.21 worth of groceries on 5 of March. From within the
            <emphasis>Assets:Checking</emphasis> account, you would set
            <guilabel>Transfer</guilabel> to <emphasis>Expenses:Groceries</emphasis>. The account
            register should now appear:
          </para>
        </listitem>

        <listitem>
          <para>To add a paycheck transaction from the <emphasis>Assets:Checking</emphasis> account register window,
            click on a new transaction line, and click on <guilabel>Split</guilabel>. First enter
            the description of this transaction on the first line (e.g.: <quote>Employers R
            Us</quote>), as well as the date (14 March). In the <quote>split</quote> line below
            this, enter the deposit into <emphasis>Assets:Checking</emphasis> (e.g.:$670). Follow
            this with the various tax deposits (<emphasis>Expenses:Taxes:Federal</emphasis> account (e.g.: $180),
            <emphasis>Expenses:Taxes:Medicare</emphasis> account (e.g.: $90), and
            <emphasis>Expenses:Taxes:Social Security</emphasis> account (e.g.: $60)) and lastly the
            gross total of your paycheck (e.g.: $1,000) as a withdrawal transfer from
            <emphasis>Income:Salary</emphasis>.
          </para>
        </listitem>

        <listitem>
          <para>You also need to pay for your Internet subscription of 20 USD on the 28th.
          </para>
        </listitem>
      </orderedlist>

      <figure>
        <title>Chart Of Accounts After Setting All The Various Transactions</title>
        <screenshot id="txns-puttoget2-Charts1">
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/txns_puttoget_Charts2.png"
                         srccredit="Bengt Thuree" />
            </imageobject>
            <caption>
              <para>This image shows the ending balances after <xref
            linkend="chapter_txns" />.
              </para>
            </caption>
          </mediaobject>
        </screenshot>
      </figure>
    </sect3>

    <sect3 id="txns-puttoget-save">
      <title>Save file</title>

      <para>Before we go to the report section, let&rsquo;s save the &app; data file
        (<filename>gcashdata_4</filename>).
      </para>
    </sect3>

    <sect3 id="txns-puttoget-reports">
      <title>Reports</title>

      <para>But only having data available on the computer screen will not make your accountant happy, therefore
        &app; comes with a large number of highly customizable reports.
      </para>
<!-- Add this note when the reports chapter is ready
      <note>
        <para>More details on the reports can be found in <xref linkend="chapter_reports" /></para>
      </note>
-->
      <para>Let&rsquo;s have a look at a <guilabel>Cash Flow</guilabel>, and a <guilabel>Transaction</guilabel>
        Report.
      </para>

      <orderedlist>
        <listitem>
          <para>First let&rsquo;s have a look at the <guilabel>Cash Flow</guilabel> report for the month of March.
          </para>

          <para>Select the cash flow report from <menuchoice>
              <guimenu>Reports</guimenu> <guisubmenu>Income &amp; Expense</guisubmenu>
              <guimenuitem>Cash Flow</guimenuitem>
            </menuchoice>.
          </para>

          <figure>
            <title>Cash Flow Report For The Month Of March</title>
            <screenshot id="txns-puttoget2-Cash">
              <mediaobject>
                <imageobject>
                  <imagedata fileref="figures/txns_CashFlow.png"
                             srccredit="Bengt Thuree" />
                </imageobject>
                <caption>
                  <para>This image shows the Cash Flow report after <xref
                linkend="chapter_txns" />.
                  </para>
                </caption>
              </mediaobject>
            </screenshot>
          </figure>

          <para>To get this customized report, right click in the report and choose <guilabel>Report
            Options</guilabel>. Then set the time period, and specify which accounts you want in the
            report.
          </para>
        </listitem>

        <listitem>
          <para>Now let&rsquo;s have a look at corresponding transaction report for the Checking account.
          </para>

          <para>Select the transaction report from <menuchoice>
              <guimenu>Reports</guimenu> <guimenuitem>Transaction Report</guimenuitem>
            </menuchoice>.
          </para>

           <figure>
            <title>Transaction Report For The Checking Account During March</title>
            <screenshot id="txns-puttoget2-TransactionRptChecking">
              <mediaobject>
                <imageobject>
                  <imagedata fileref="figures/txns_TransactionRptChecking.png"
                             srccredit="Bengt Thuree" />
                </imageobject>
                <caption>
                  <para>This image shows the Transaction Report for the Checking account during March.
                  </para>
                </caption>
              </mediaobject>
            </screenshot>
          </figure>
        </listitem>

        <listitem>
          <para>Now let&rsquo;s change the transaction report to only show the various Expenses accounts.
          </para>

        <figure>
          <title>Transaction Report For The Expenses Accounts During March</title>
            <screenshot id="txns-puttoget2-TransactionRptExpenses">
              <mediaobject>
                <imageobject>
                  <imagedata fileref="figures/txns_TransactionRptExpenses.png"
                             srccredit="Bengt Thuree" />
                </imageobject>
                <caption>
                  <para>This image shows the Transaction Report for the various Expense accounts during March.
                  </para>
                </caption>
              </mediaobject>
            </screenshot>
          </figure>
        </listitem>
      </orderedlist>
    </sect3>
  </sect2>
</sect1>
