You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kmymoney/doc/en/details-ledgers.docbook

675 lines
22 KiB

<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.ledgers">
<chapterinfo>
<authorgroup>
<author>
<firstname>Michael</firstname>
<othername>T.</othername>
<surname>Edwardes</surname>
<affiliation>
<address><email>mte@users.sourceforge.net</email></address>
</affiliation>
</author>
<author>
<firstname>Roger</firstname>
<surname>Lum</surname>
<affiliation>
<address><email>rogerlum@gmail.com</email></address>
</affiliation>
</author>
</authorgroup>
<date>2009-07-23</date>
<releaseinfo>1.0</releaseinfo>
</chapterinfo>
<title>Ledgers</title>
<sect1 id="details.ledgers.view">
<title>The Ledger View</title>
<para>
The Ledger view is where most of the functionality of &kappname; lies. This
view is for examining and entering transaction data in the various
accounts. The view is split into three main areas: the filter area, the
transaction list, and the input area.
</para>
<para>
This view allows for several key actions: searching and viewing transactions,
entering new transactions, and editing or deleting existing
transactions. Other functionality includes modifying account details and
reconciling the account.
</para>
<para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="ledgerview-numbered.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Ledger View</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
The view has three elements:
</para>
<itemizedlist>
<listitem><para>The filter area</para></listitem>
<listitem><para>The transaction list</para></listitem>
<listitem>
<para>
The transaction input form, which may or may not appear, depending upon
your configuration.
</para>
</listitem>
</itemizedlist>
<sect2>
<title>The filter area</title>
<para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="accountdropdown.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Filter area</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
You can select an account via the account dropdown list at the top of the view
area. Note that depending upon the type of the account the <link
linkend="details.ledger.transactionform">transaction input form</link> at the
bottom of the view changes.
</para>
<para>
To the right of the account dropdown list, are two additional fields. The
search box acts as a filter on the transactions that are shown in the list
view. Only transactions that include the text typed in the search box are
displayed. The text specified can be in any of the fields of the transaction.
The status field is a dropdown list. Only transactions of the type selected in
that dropdown are displayed.
</para>
</sect2>
<sect2>
<title>The transaction list</title>
<para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="translist.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Transaction list</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
After you have entered a transaction, it is displayed in the transaction list.
You can also change transaction properties or even create new transactions
directly in the list. In the transactions list, the default arrangement of
transactions is sorted by date with the most recent transaction on the bottom.
Clicking the Right Mouse Button on the header of the transaction list brings
up a dialog that allows you to change the sort order of the transactions. You
can change the default sort order in the <link
linkend="details.settings.register.sorting">Sorting tab</link> section of the
<link linkend="details.settings">&kappname; Settings</link> Chapter.
</para>
</sect2>
<sect2>
<title>The transaction input form</title>
<para>
The exact layout of the bottom area of the ledger view depends on your
configuration and the type of account being displayed. However, it generally
includes fields for all the details of a single transaction, as well as
buttons for various actions that can apply to a transaction. It is described
in more detail in the following sections.
</para>
</sect2>
</sect1>
<sect1 id="details.ledger.transactions">
<title>Entering Transactions</title>
<para>
There are two methods of entering transactions into the ledger: using the
transaction input form and entering the data directly into the transaction
list. The transaction input form is displayed by default and this is the
method we will discuss first.
</para>
<para>
The fields in the input area match the information fields in the transactions
list. Additional fields include the Memo field, for a more detailed
description of the transaction, and a Category selection. The Split button
allows you to split the transaction into multiple categories.
</para>
</sect1>
<sect1 id="details.ledger.transactionform">
<title>Using the transaction input form</title>
<para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="transactionform.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Transaction Form</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
The transaction input form at the bottom of the ledger view is the interface
for creating transactions.
</para>
<para>
Depending upon the type or method of transaction you wish to enter there are
several tabs available on the transaction form. Click on the tab that best
describes your transaction (deposit, transfer, or withdrawal) and the form
will load several fields ready for your input.
</para>
<para>
Please note that the actual transaction method is not used directly by
&kappname; but is purely for grouping/reporting purposes.
</para>
<para>
If you are unsure which method to choose simply use Deposit for any money
going into the account, Withdrawal for money coming out of the account, and
Transfer for money moving from one account to another. The transaction
methods and the differences between them are discussed in more detail
elsewhere.
</para>
<para>
Select the transaction method by clicking on one of the tabs.
</para>
<sect2>
<title>The fields of a transaction</title>
<para>
Enter the information using the following notes on the available fields. Note
that many fields have 'Auto Completion' turned on. That is, if you start
typing, &kappname; will offer alternatives matching the characters you have
entered so far. To select an entry click on it using the mouse or keyboard,
or if your entry is not listed keep typing to add the new value. The next
time you type the value in, &kappname; will find it for you after the first
few characters have been input.
</para>
<sect3>
<title>The Payee</title>
<para>
The Payee is who the money came from/to. If the payee is a new entry
&kappname; will ask if you wish to add this to the list of Payees. Any other
information related to a payee or payer, such as address details can be
updated in the Payees view later.
</para>
</sect3>
<sect3>
<title>The Category</title>
<para>
The Category associates a transaction with an income or expense category for
accounting and reporting purposes, and enables you to group certain
transactions. Type the name of the category into the required field. If you
have entered the category and it does not exist then &kappname; will ask if
you want to create a new one.
</para>
<para>
If you wish to associate parts of the transaction with different categories,
&kappname; can let you do that. An example transaction might be a cash
machine withdrawal of 50 of which you use 10 on food, 20 on beer and 20 as
spare cash. The transaction will therefore be assigned three categories:
Food, Beer, and Cash. To do this, you need to use <link
linkend="details.ledgers.split">Split Transactions</link>, which is described
in more detail below.
</para>
<para>
See the special <link linkend="reference.widgets">&kappname; fields</link>
section for more information on how to use this field.
</para>
</sect3>
<sect3>
<title>The Memo</title>
<para>
A multi-line memo can be entered if you wish to help you remember what the
transaction was for.
</para>
</sect3>
<sect3>
<title>The Check Number</title>
<para>
The check number can be entered if needed. Note that the check number can
always be visible if desired. This is configured in the Settings dialog.
</para>
</sect3>
<sect3>
<title>The Date</title>
<para>
The transaction's posting date must be entered to specify when the transaction
took place. See the special <link linkend="reference.widgets">&kappname;
fields</link> section for more information on how the date input field can be
used to make entering dates quicker and easier.
</para>
</sect3>
<sect3>
<title>The Amount</title>
<para>
Finally, enter the transaction amount into the required field. Note that a
simple calculator can be displayed, either by clicking the icon to the right
of the amount field, or by entering the % character into the field, or by
entering a formula, as in <emphasis>12 + 3</emphasis>. When entering the plus
sign, the calculator will be opened.
</para>
<para>
When you are satisfied that all the fields have been filled in correctly,
click on <guibutton>Enter</guibutton>. If you accidentally press or click on
<guibutton>Enter</guibutton> before you have finished entering all the data,
click on <guibutton>Edit</guibutton> to resume entering the data.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="details.ledger.direct">
<title>Directly inputting transactions into the list</title>
<para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="transactionform-off.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Direct Transaction Entry</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
The second method of entering transactions into the ledger involves editing
the transaction list itself directly.
</para>
<para>
To do this you must first let &kappname; know that you don't want to use the
transaction form by opening the settings dialog and unchecking the
<guilabel>Show transaction form</guilabel> option.
</para>
<para>
This is performed by selecting <guimenu>Settings</guimenu>
<guimenuitem>Configure &kappname;</guimenuitem> from the menu bar and
selecting the <guiicon><inlinemediaobject><imageobject><imagedata
fileref="ledgers_view.png"/></imageobject></inlinemediaobject>
Register</guiicon> icon from the list on the left. The option to uncheck is
labeled <guilabel>Show transaction form</guilabel>. When finished click on
<guibutton>OK</guibutton> to be ready to directly enter transactions.
</para>
<sect2>
<title>Starting the edit</title>
<para>
To enter a new transaction into the register you can now either click on an
empty entry, press <keycombo action="simul">&Ctrl;&Insert;</keycombo>, or
click <guibutton>New</guibutton> at the foot of the window. The
<keycap>Up</keycap> and <keycap>Down</keycap> arrow keys let you navigate
through the list. After pressing <keycap>Enter</keycap> or double clicking on
an entry, the transaction list displays the fields required to enter the
transaction and waits for input.
</para>
<para>
To move through the fields press the <keycap>Tab</keycap> key and when done
press <keycap>Enter</keycap> to save the changes or <keycap>Esc</keycap> to
cancel.
</para>
<para>
In case the option <guilabel>Use Enter to move between fields</guilabel> is
selected, the <keycap>Enter</keycap> moves to the next field just as the
<keycap>TAB</keycap> key except for the last entry field where it stores the
data.
</para>
<para>
Which method you use to enter transactions is up to you and is a matter of
personal preference.
</para>
</sect2>
</sect1>
<sect1 id="details.ledgers.split">
<title id="details.ledgers.split.title">Split Transactions</title>
<para>
The Split transaction feature allows you to divide up a transaction into
multiple categories, representing, for example, the different items bought
with a single purchase at a store.
</para>
<para>
To enter a split transaction, using either the transaction input form or the
transaction list, start a new transaction as normal, including entering the
total amount. Then, instead of selecting a category, click the
<guibutton>Split</guibutton> button. If you have already selected a category,
that becomes the first entry in the split editor screen.
</para>
<para>
In the split editor screen, double-click an empty line to enter a new
sub-transaction or press <keycombo
action="simul">&Ctrl;&Insert;</keycombo>. Specify the category, add an
(optional) memo, and enter the amount. To save this part of the split, press
the green check mark under the category. To cancel, press the red cross.
</para>
<para>
After entering a split, the bottom of the split editor shows how much of the
total transaction is still unassigned. After entering all the splits, press
the <guibutton>OK</guibutton> button to save the entire transaction. If there
is still an unassigned amount, you will be prompted to either return to
editing the splits, change the total transaction amount, or leave part of the
transaction unassigned.
</para>
<para>
Note that the category field in the transaction input form or the transaction
list now displays <emphasis>Split transaction</emphasis>.
</para>
<para>
<screenshot>
<screeninfo>Split transactions</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="split_transaction.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Split transaction</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
</sect1>
<sect1 id="details.ledger.edit">
<title>Editing transactions</title>
<para>
To edit a transaction, select it in the list view and either click on
<guibutton>Edit</guibutton> in the transaction input form or right click on
the entry and select <guimenuitem>Edit</guimenuitem> from the popup menu. If
you are editing transactions directly in the list you can edit the transaction
simply by double clicking on an entry or by pressing <keycap>Enter</keycap>
when a transaction is highlighted.
</para>
</sect1>
<sect1 id="details.ledger.delete">
<title>Deleting transactions</title>
<para>
To delete a transaction, select it in the list view, right click on the entry,
and select <guimenuitem>Delete</guimenuitem> from the popup menu when it
appears, or click <guibutton>Delete</guibutton> on the transaction form.
</para>
</sect1>
<sect1 id="details.ledgers.match">
<title id="details.ledgers.match.title">Matching Transactions</title>
<para>
Generally, when importing transactions, either via QIF, OFX, or HBCI, KMyMoney
will automatically attempt to match them against existing transactions. To
allow for differences in the dates, there is a default setting of 4 days,
which may be changed in the settings - Register/Import. Any transactions so
matched will be highlighted in green. On completion of the import, you should
review these and either accept or unmatch them.
</para>
<para>
If you should find that an imported transaction was not automatically matched
with an existing transaction when it should have matched, then it is possible
to match them manually. Note that there is a difference between manually
matching two transactions and simply deleting one of them, even though they
may appear to have the same effect. Specifically with OFX or HBCI, it is
important not to delete the imported transaction, because you will find that
the next time you import your transactions, the deleted transaction shows up
again. This is because modern import formats like OFX and HBCI use a
<quote>Transaction ID</quote> to identify transactions. When you delete the
imported transaction, the transaction ID goes with it, so the importer has no
way to know this transaction was already imported.
</para>
<para>
The solution is to tell &kappname; that the transactions are the same, using
the manual matching interface. This allows you to match an imported
transaction with a hand-entered (non-imported) transaction. To do so, select
one of the transactions to be matched by clicking on it, then select the other
by left clicking on it while pressing the Ctrl key, and then select
<guimenuitem>Match</guimenuitem> from the context menu. This changes the
background color to a pale green. This will match and combine the two
transactions together. The values of both transactions must be the same for
the match to work, except that the dates may differ by the window specified in
the settings, as described above. If you are happy with the result, right
click the matched transaction, then select <guibutton>Accept</guibutton>.
</para>
<para>
During import of online statements - either directly or by importing a
downloaded file - &kappname; performs matching as best as it can based on the
name of the payee and the amount of the transaction. In case of an invalid
match, a matched transaction can be unmatched.
</para>
<note>
<para>
The matching interface will not allow you to match two transactions which
have both been imported. Likewise, it won't allow matching between two
transactions which have both been entered by hand.
</para>
</note>
</sect1>
<sect1 id="details.ledgers.cleared">
<title>Understanding the Cleared State</title>
<para>
A transaction can have one of three states: non-reconciled, cleared (C), and
reconciled (R). When you enter a transaction, it has state
non-reconciled. Once the bank posts the transaction, the user can clear it
and thus transform it to state (C). When you receive a statement from the
bank, all cleared transactions should be on the statement.
</para>
<para>
<screenshot>
<screeninfo>Understanding the cleared state</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="cleared_state.png" format="PNG" />
</imageobject>
<textobject>
<phrase>cleared state</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
When you <link linkend="details.reconcile">reconcile your account</link>, you
actually mark the statements as cleared and check that the difference between
the beginning balance and the cleared transactions equals the ending balance
of the statement. When this is the case, you can 'finish reconciling' which
actually changes the state of all cleared transactions (C) to reconciled (R).
</para>
<para>
If you try to edit a transaction with at least one split marked as reconciled
(R), you will be warned.
</para>
<para>
A fourth state is defined (frozen (F)) but there's currently no way to set
it. It is reserved for future use. Nevertheless, if a transaction has at least
one split in state frozen it cannot be edited anymore.
</para>
</sect1>
<sect1 id="details.ledgers.settings"><title id="details.ledgers.settings.title">Changing Transaction Settings</title>
<para>
There are several settings options that change the appearance and behaviour of
the ledger view in terms of transactions. These settings are found by
selecting <guimenu>Settings</guimenu> <guimenuitem>Configure
&kappname;</guimenuitem> from the menu bar, and selecting the
<guiicon><inlinemediaobject><imageobject><imagedata fileref="ledgers_view.png" />
</imageobject></inlinemediaobject>Register</guiicon> icon from the list on the
left.
</para>
<para>
Most of the settings are self explanatory. For clarity, several of the
settings are explained below.
</para>
<itemizedlist>
<listitem>
<para>
Show transaction form (under the Display tab) - toggle to hide the
transaction input area at the bottom of this screen. Transactions can
still be entered directly into an empty line at the end of the transaction
list, through an automatic compact entry area.
</para>
</listitem>
</itemizedlist>
<para>
These images show what direct transaction entry looks like compared to the
transaction form.
</para>
<para>The transaction input form</para>
<para>
<screenshot>
<screeninfo>The transaction form</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="transactionform.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Transaction form</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>Transactions entered directly</para>
<para>
<screenshot>
<screeninfo>Transactions entered directly</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="transactionform-off.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Direct input</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<itemizedlist>
<listitem>
<para>
Keep changes when selecting a different transaction/split - by selecting
the next line in the transaction list or split editor, the changes are
kept, instead of the default behaviour where you have to push the green
check mark to save changes.
</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="details.ledgers.other">
<title id="details.ledgers.other.title">Other Functionality</title>
<para>
Additional options are available from the <guimenu>Transaction
Options</guimenu> menu, accessed by right-clicking any transaction in the
list.
</para>
<para>
<screenshot>
<screeninfo>The transaction options sub-menu</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="ledger_more.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Transaction options</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
Options include jumping to the Payee's page, creating a schedule, and changing
the reconciled or cleared indication.
</para>
<para>
To edit the account information from the ledger view, select
<guimenu>Account</guimenu> from the menu bar. From this menu, you can change
the account details, or bring up the Reconcile menu, which allows you to match
transactions against an official bank statement or credit card notice.
</para>
</sect1>
</chapter>