<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter SYSTEM "gnc-docbookx.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>

		<screenshot id="txns-registersplit4">
        <mediaobject>
            <imageobject>
                <imagedata fileref="figures/txns_registersplit4.png" format="PNG"
                srccredit="Bengt Thuree" />
            </imageobject>

            <textobject>
                <phrase>3 Jeans purchases</phrase>
            </textobject>

            <caption><para>
                This image shows one split transaction with 3 Jeans purchases
            </para></caption>
        </mediaobject>
		</screenshot>

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

		<screenshot id="txns-registersplit5">
		<mediaobject>
            <imageobject>
                <imagedata fileref="figures/txns_registersplit5.png" format="PNG"
                srccredit="Bengt Thuree" />
            </imageobject>

            <textobject>
                <phrase>A jump to the <emphasis>Expenses:Clothes</emphasis> account</phrase>
            </textobject>

            <caption><para>This image shows <emphasis>Expenses:Clothes</emphasis> account
                in Basic Ledger mode.</para></caption>
        </mediaobject>
		</screenshot>
		<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>

		<screenshot id="txns-registersplit6">
        <mediaobject>
            <imageobject>
                <imagedata fileref="figures/txns_registersplit6.png" format="PNG"
                srccredit="Bengt Thuree" />
            </imageobject>
            <textobject>
                <phrase>A jump to the <emphasis>Expenses:Clothes</emphasis> account</phrase>
            </textobject>
            <caption><para>This image shows <emphasis>Expenses:Clothes</emphasis> account in
                Transaction Journal mode.</para></caption>
        </mediaobject>
		</screenshot>
        </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.</para></note>
          <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. Press <keycap>Alt</keycap> +
        [underlined character] 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>

<screenshot id="txns-registersplit2">
    <mediaobject>
        <imageobject>
            <imagedata fileref="figures/txns_registersplit2.png" format="PNG"
            srccredit="Bengt Thuree" />
        </imageobject>

        <textobject>
            <phrase>How split headings change</phrase>
        </textobject>

        <caption><para>This image shows how split headings
            change.</para></caption>
    </mediaobject>
</screenshot>

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

<screenshot id="txns-registersplit3">
    <mediaobject>
        <imageobject>
            <imagedata fileref="figures/txns_registersplit3.png" format="PNG"
            srccredit="Bengt Thuree" />
        </imageobject>

        <textobject>
            <phrase>A jump to the <emphasis>Income:Salary</emphasis> account</phrase>
        </textobject>

        <caption><para>This image shows a jump to the
            <emphasis>Income:Salary</emphasis> account.</para></caption>
    </mediaobject>
</screenshot>

<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 (eg: March, 1, 2006), a
      description (eg: <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 $1000, and press the <keycap function="enter">Enter</keycap> key. The account register should now
      appear similar to this figure:</para>

      <screenshot id="txns-register-2account">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_register_2account.png"
                       format="PNG" srccredit="Bengt  Thuree" />
          </imageobject>

          <textobject>
            <phrase>The Checking Account - Register</phrase>
          </textobject>

          <caption><para>This image shows <emphasis>Assets:Checking</emphasis> -
          Register after inserting a starting value
          transaction.</para></caption>
        </mediaobject>
      </screenshot>

      <para>Setting the starting 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>

      <screenshot id="txns-register-2account2">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_register_2account2.png"
                       format="PNG" srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>The Checking Account - Register</phrase>
          </textobject>

          <caption><para>This image shows <emphasis>Assets:Checking</emphasis> -
          Register after adding a transaction for
          groceries.</para></caption>
        </mediaobject>
      </screenshot>
    </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>

      <figure id="txns-register-multiaccount">
        <title>Entering a split transaction</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_register_multiaccount.png"
                       format="PNG" srccredit="Bengt Thuree" />
          </imageobject>
          <textobject>
            <phrase>Account Register - Split Transaction</phrase>
          </textobject>
        </mediaobject>
      </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>

      <screenshot id="txns-reconcile-window-1">
        <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/txns_reconcile_window1.png"
                         format="PNG" srccredit="Cristian Marchi"></imagedata>
            </imageobject>
            <imageobject role="fo">
              <imagedata fileref="figures/txns_reconcile_window1.png"
                         format="PNG" srccredit="Cristian Marchi"></imagedata>
            </imageobject>

          <textobject>
            <phrase>Reconcile Window</phrase>
          </textobject>

          <caption><para>The initial reconcile window.</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-reconcile-window-2">
        <mediaobject>
            <imageobject role="html">
              <imagedata fileref="figures/txns_reconcile_window2.png"
                         format="PNG" srccredit="Cristian Marchi" width="510"></imagedata>
            </imageobject>
            <imageobject role="fo">
              <imagedata fileref="figures/txns_reconcile_window2.png"
                         format="PNG" srccredit="Cristian Marchi"></imagedata>
            </imageobject>

          <textobject>
            <phrase>Reconcile Window</phrase>
          </textobject>

          <caption><para>The transactions listing in the reconcile
          window.</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-reconcile-window-3">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_reconcile_window3.png"
                       format="PNG" srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Checking account</phrase>
          </textobject>

          <caption><para>The Checking account after postponing the
          reconciliation.</para></caption>
        </mediaobject>
      </screenshot>
    </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 howto, 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>

      <screenshot id="txns-sxn-ledger-1">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_sxn_ledger1.png" format="PNG"
                       srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Step one creating scheduled transaction from the
            ledger</phrase>
          </textobject>

          <caption><para>Step one creating scheduled transaction from the
          ledger</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-ledger-2">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_sxn_ledger2.png" format="PNG"
                       srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Step two creating scheduled transaction from the
            ledger</phrase>
          </textobject>

          <caption><para>Step two creating scheduled transaction from the
          ledger</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-ledger-3">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_sxn_ledger3.png" format="PNG"
                       srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Step three creating scheduled transaction from the
            ledger</phrase>
          </textobject>

          <caption><para>Step three creating scheduled transaction from the
          ledger</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-ledger-4">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_sxn_ledger4.png" format="PNG"
                       srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Filling in data to a scheduled transaction</phrase>
          </textobject>

          <caption><para>Filling in data to a scheduled
          transaction</para></caption>
        </mediaobject>
      </screenshot>

      <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 above:</para>

      <screenshot id="txns-sxn-editor-2">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor-2.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor-2.png" format="PNG"
                       srccredit="Cristian Marchi"/>
          </imageobject>

          <textobject>
            <phrase>Empty <guilabel>Scheduled Transactions</guilabel> tab</phrase>
          </textobject>

          <caption><para>Empty <guilabel>Scheduled Transactions</guilabel> tab</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-editor-3-overview">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor-3-overview.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor-3-overview.png" format="PNG"
                       srccredit="Cristian Marchi" />
          </imageobject>

          <textobject>
            <phrase>
              <guimenuitem>Edit Scheduled Transaction</guimenuitem> window, 
              <guilabel>Overview</guilabel> tab</phrase>
          </textobject>

          <caption><para><guimenuitem>Edit Scheduled Transaction</guimenuitem>
           window, <guilabel>Overview</guilabel> tab</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-editor-3-frequency">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor-3-frequency.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor-3-frequency.png" format="PNG"
                       srccredit="Cristian Marchi" />
          </imageobject>

          <textobject>
            <phrase>
              <guimenuitem>Edit Scheduled Transaction</guimenuitem> window,
              <guilabel>Frequency</guilabel> tab</phrase>
          </textobject>

          <caption><para><guimenuitem>Edit Scheduled Transaction</guimenuitem>
            window, <guilabel>Frequency</guilabel> tab</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-editor-3-template">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor-3-template.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor-3-template.png" format="PNG"
                       srccredit="Cristian Marchi" />
          </imageobject>

          <textobject>
            <phrase><guimenuitem>Edit Scheduled Transaction</guimenuitem>
              window, <guilabel>Template Transaction</guilabel> tab</phrase>
          </textobject>

          <caption><para><guimenuitem>Edit Scheduled Transaction</guimenuitem>
            window, <guilabel>Template Transaction</guilabel> tab</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-editor-4">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor-4.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor-4.png" format="PNG"
                       srccredit="Cristian Marchi" />
          </imageobject>

          <textobject>
            <phrase>Entered scheduled transaction</phrase>
          </textobject>

          <caption><para>Entered scheduled transaction</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-sxn-editor-slr">
        <mediaobject>
          <imageobject role="html">
            <imagedata fileref="figures/txns_sxn_editor_slr.png" format="PNG"
                       srccredit="Cristian Marchi" width="510"/>
          </imageobject>

          <imageobject role="fo">
            <imagedata fileref="figures/txns_sxn_editor_slr.png" format="PNG"
                       srccredit="Cristian Marchi" />
          </imageobject>

          <textobject>
            <phrase>Scheduled transaction popup reminder</phrase>
          </textobject>

          <caption><para>Scheduled transaction popup reminder</para></caption>
        </mediaobject>
      </screenshot>

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

      <screenshot id="txns-puttoget1-Charts">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_puttoget_Charts.png" format="PNG"
                       srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Starting point for Putting It All Together</phrase>
          </textobject>

          <caption><para>This image shows the starting point for this
          section.</para></caption>
        </mediaobject>
      </screenshot>
    </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 account, begin by setting the starting
      balances for the accounts. Assume that there is $1000 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 starting
          balance to $1000, 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 starting
          balance to $1000, 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
          starting 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>

      <screenshot id="txns-puttoget1-Charts1">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_puttoget_Charts1.png"
                       format="PNG" srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Chart accounts after setting opening balance</phrase>
          </textobject>

          <caption><para>This image shows the opening
          balances.</para></caption>
        </mediaobject>
      </screenshot>
    </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 (eg: March 28,
          2006). Enter a description (eg: Light Company) and the check number
          (eg: 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 (eg: March 28, 2006). Enter a
          description (eg: Phone Company Name) and the check number (eg: 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 (eg: March 28, 2006). Enter a
          description (eg: April Rent) and the check number (eg: 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 (eg: 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
          (eg: <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> (eg:$670). Follow this with the various tax deposits
          (<emphasis>Assets:Checking</emphasis> (eg: $670),
          <emphasis>Expenses:Taxes:Federal</emphasis> account (eg: $180),
          <emphasis>Expenses:Taxes:Medicare</emphasis> account (eg: $90), and
          <emphasis>Expenses:Taxes:Social Security</emphasis> account (eg: $60)) and
          lastly the gross total of your paycheck (eg: $1000) 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>

      <screenshot id="txns-puttoget2-Charts1">
        <mediaobject>
          <imageobject>
            <imagedata fileref="figures/txns_puttoget_Charts2.png"
                       format="PNG" srccredit="Bengt Thuree" />
          </imageobject>

          <textobject>
            <phrase>Chart accounts after setting all the various
            transactions</phrase>
          </textobject>

          <caption><para>This image shows the ending balances after <xref
          linkend="chapter_txns" />.</para></caption>
        </mediaobject>
      </screenshot>
    </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>

          <screenshot id="txns-puttoget2-Cash">
            <mediaobject>
              <imageobject>
                <imagedata fileref="figures/txns_CashFlow.png" format="PNG"
                           srccredit="Bengt Thuree" />
              </imageobject>

              <textobject>
                <phrase>Cash Flow report for the month of March</phrase>
              </textobject>

              <caption><para>This image shows the Cash Flow report after <xref
              linkend="chapter_txns" />.</para></caption>
            </mediaobject>
          </screenshot>

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

          <screenshot id="txns-puttoget2-TransactionRptChecking">
            <mediaobject>
              <imageobject>
                <imagedata fileref="figures/txns_TransactionRptChecking.png"
                           format="PNG" srccredit="Bengt Thuree" />
              </imageobject>

              <textobject>
                <phrase>Transaction Report for the Checking account during
                March</phrase>
              </textobject>

              <caption><para>This image shows the Transaction Report for the
              Checking account during March. </para></caption>
            </mediaobject>
          </screenshot>
        </listitem>

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

          <screenshot id="txns-puttoget2-TransactionRptExpenses">
            <mediaobject>
              <imageobject>
                <imagedata fileref="figures/txns_TransactionRptExpenses.png"
                           format="PNG" srccredit="Bengt Thuree" />
              </imageobject>

              <textobject>
                <phrase>Transaction Report for the Expenses accounts during
                March</phrase>
              </textobject>

              <caption><para>This image shows the Transaction Report for the
              various Expense accounts during March. </para></caption>
            </mediaobject>
          </screenshot>
        </listitem>
      </orderedlist>
    </sect3>
  </sect2>
</sect1>
