<?xml version="1.0" encoding="UTF-8"?>
<chapter id="firsttime">
<chapterinfo>
  <authorgroup>
    <author> &Michael.T.Edwardes; &Michael.T.Edwardes.mail; </author>
  </authorgroup>
  <date>2014-08-30</date>
  <releaseinfo>4.7.01</releaseinfo>
</chapterinfo>

<title>Using &kappname; for the first time</title>

<sect1 id="firstime-1">
<title>Running &kappname; for the first time</title>

<para>
  Once &kappname; has fully loaded two windows will be opened. The top window,
  'Tip of the Day' offers one of a series of important or useful pieces of
  information about the application.
  <screenshot>
	<screeninfo>Tip of the Day</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="tipofday.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Tip of the Day</phrase>
	</textobject>
	</mediaobject>
  </screenshot>
</para>

<para>
  You are recommended to quickly read through these tips by pressing on the
  <guibutton>Previous</guibutton> and <guibutton>Next</guibutton> buttons at the
  bottom of the window.
</para>

<para>
  Once you have read the tips the window can be closed; it will re-open each
  time &kappname; is started.  To stop this default behavior, uncheck the
  appropriate option on the Tip of the Day window.
</para>

<note>
  <para>
    Tips can be read at anytime by selecting <guimenuitem>Show tip of the
    day</guimenuitem> from the <guimenu>Help</guimenu> menu within &kappname;.
  </para>
</note>

<para>
  All tips have been extracted from the Frequently Asked Questions list (FAQ)
  that provides more detailed help and can be found on the project <ulink
  url="http://www.kmymoney.org/faq.php">website</ulink> and in <link
  linkend="faq">this manual</link>.
</para>

<para>
  Please click on <guibutton>Close</guibutton> to close the Tip of the Day
  dialog.
</para>
</sect1>

<sect1 id="firsttime.mainwindow">
<title>The main window</title>

<para>
	<screenshot>
	<screeninfo>The Main Window</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="mainwindow_numbered.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>The Main Window</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  The &kappname; main window consists of four major parts
</para>

<itemizedlist>
  <listitem><para>A. The menu bar</para></listitem>
  <listitem><para>B. The toolbar</para></listitem>
  <listitem><para>C. The View selector</para></listitem>
  <listitem><para>D. The view</para></listitem>
</itemizedlist>

<para>
  The menu and toolbars provide access to the features of &kappname; and allow
  you to <link linkend="firsttime.3">Create</link> files or configure how
  &kappname; operates.
</para>

<para>
  The view selector consists of at least eleven icons in the left side of the
  main window, depending upon the software provided by your system.  More icons
  could be added by various plugins.  By clicking on an icon, the view window on
  the right hand side is loaded with the appropriate view of your financial
  data.  Each view provides a unique representation of your financial situation
  and allows you to view or edit the information shown.
</para>

<para>
  The view selector contains the following icons
</para>

<itemizedlist>
  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="home_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Home View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Home: A configurable overview of your current financial situation (or an
      introduction page when no data file is open).
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
        <inlinemediaobject>
          <imageobject>
	    <imagedata fileref="institutions_view.png" format="PNG"/>
          </imageobject>
	  <textobject>
	    <phrase>Institutions View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Institutions: All of your institutions and accounts displayed in a
      hierarchy.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="accounts_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Accounts View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Accounts: All of your accounts displayed in a hierarchy.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="schedule_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Schedules View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Schedules: Your recurring bills and deposits.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
        <inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="categories_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Categories View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Categories: Special accounts that provide a means for you to group
      associated transactions.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
        <inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="mail-tagged.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Tags View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Tags: Special accounts that provide an additional means to Categories for
      you to group associated transactions.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
        <inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="payees_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Payees View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Payees: All Payees used by &kappname;.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="ledgers_view.png" format="PNG"/>
          </imageobject>
	  <textobject>
	    <phrase>Ledgers View</phrase>
          </textobject>
	</inlinemediaobject>
      </guiicon>
      Ledgers: Your account transactions.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="investments_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
            <phrase>Investments View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Investments: Your portfolio summary.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="reports_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Reports View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Reports: A collection of useful reports, providing alternate views of your
      financial data.
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="budgets_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Budgets View</phrase>
          </textobject>
	</inlinemediaobject>
      </guiicon>
      Budgets: Your budgets
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="forecast_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Forecast View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Forecast: This view provides a forecast of your accounts and categories
    </para>
  </listitem>

  <listitem>
    <para>
      <guiicon>
	<inlinemediaobject>
	  <imageobject>
	    <imagedata fileref="outbox_view.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Outbox View</phrase>
	  </textobject>
	</inlinemediaobject>
      </guiicon>
      Outbox: Used by the online banking module to provide feedback on running
      processes.  This is a view provided by the KBanking plugin and may not be
      present on your system.
    </para>
  </listitem>
</itemizedlist>
</sect1>

<sect1 id="firsttime.3">
<title>Creating a new file</title>

<para>
  &kappname; keeps all the data about your finances in a file.  As was stated in
  <link linkend="makingmostof.basicaccounting.personalaccounts">Defining the
  accounts (personal records)</link>, you can keep more than one set of
  accounts, but the data for each will be kept in a separate file, and
  &kappname; can only have one file open at a time.  See the chapter on <link
  linkend="details.formats">File Formats</link> for more details about
  &kappname;'s data files.
</para>

<para>
  To create a new file you can either select
  <menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice>
  from the menu or choose the <inlinemediaobject><imageobject><imagedata
  fileref="new.png"/></imageobject><textobject><phrase>New</phrase></textobject></inlinemediaobject>
  icon from the toolbar.
</para>

<para>
  &kappname; will then open the <quote>New File Setup Wizard</quote> which will
  guide you through the process of creating the file.
</para>

<para>
	<screenshot>
	<screeninfo>Personal Data Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Personal Data Page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  Since all fields are optional, you can use &kappname; without entering any
  information now.  Any information entered here is used only to personalize
  your file.  In the future, it may be used in some reports and for online
  banking. If &kappname; requires any personal information in future releases
  and finds none, you will be prompted to enter the relevant data then.
</para>

<para>
  Please enter your name and address or nothing and press
  <guibutton>Next</guibutton>.
</para>

<para>
  In case you have an address for yourself stored in the &kaddressbook;, the
  button <guibutton>Load from Addressbook</guibutton> is enabled and pressing it
  imports all information into &kappname;.
</para>

<para>
  &kappname; supports multiple currencies.  To set your base currency (the
  currency you use day to day and which will be used for your reports), select
  the appropriate entry from the list provided and press
  <guibutton>Next</guibutton>. A default will be selected from &kappname; based
  upon your locale settings.
</para>

<para>
	<screenshot>
	<screeninfo>Base currency selection Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile-2.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Base currency selection page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  The following page allows you to create an initial account. For the typical
  &kappname; user this is a checking account.
</para>

<para>
	<screenshot>
	<screeninfo>Checking account creation Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile-3.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Checking account creation page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  Enter the name of the account and a possible reference number assigned by the
  institution managing the account.  Enter the opening date of the account and
  the opening balance of the account.  For example, you want to use &kappname;
  to manage all your finances as of 2008-01-01, then enter the balance of the
  account at the beginning of this date.  The number can possibly be obtained
  from a paper statement.  Also enter the name and routing number of the
  institution, though this information is optional and only required for online
  banking purposes.
</para>

<para>
  In case you don't want to setup an initial account, please uncheck the check box
</para>

<para>
  Once finished, press <guibutton>Next</guibutton> to proceed.
</para>

<para>
	<screenshot>
	<screeninfo>Account template selection Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile-4.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Account template selection page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>


<para>
  Choose the appropriate country and account template(s). Multiple templates,
  even from multiple countries can be selected using a combination of
  &Ctrl; and &Shift; together with the left mouse
  button.  The account hierarchy to be setup will be shown in a preview part of
  the wizard. In case you cannot find a template that suits your needs, don't
  select a template.
</para>

<para>
  Once finished with the template selection press <guibutton>Next</guibutton> to
  proceed.
</para>

<para>
  The next page of the wizard allows you to setup user preferences. Press
  <guibutton>Next</guibutton> if you are done and want to proceed.
</para>

<para>
	<screenshot>
	<screeninfo>Preference Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile-5.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Preference page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  The last page of the wizard allows you to select the filename that will be
  used to store your financial data. An initial filename will be constructed out
  of your HOME folder and user name. In case the file exists, a warning will be
  displayed which reminds you to select a name of a non-existing file.
</para>

<para>
	<screenshot>
	<screeninfo>Filename selection Page</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="newfile-6.png" format="PNG" />
	</imageobject>
	<textobject>
	<phrase>Filename selection page</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<para>
  Now you have entered all relevant information to create the file. Press
  <guibutton>Finish</guibutton> and &kappname; will create the file for you and
  open it.
</para>

<!--
<para>After &kappname; has finished loading the default accounts your financial
summary will be displayed.  As you have defined no accounts to hold your
transactions this is currently empty.</para>
-->
</sect1>

<sect1 id="firsttime.4">
<title>Creating accounts</title>

<para>
  You can create an account in one of two ways, both of which are described here:
</para>

<variablelist>
  <varlistentry>
    <term>Using the menu</term>
    <listitem>
      <para>
        To create an account using the menu select
        <menuchoice><guimenu>Accounts</guimenu><guimenuitem>New
        account</guimenuitem></menuchoice>.
      </para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>Using the Accounts view</term>
    <listitem>
      <para>
        To create an account using the accounts view click on the Accounts icon
        <guiicon><inlinemediaobject><imageobject><imagedata
        fileref="accounts_view.png"/></imageobject></inlinemediaobject></guiicon>
        in the view selector and then right click on the Asset tree icon in the
        right hand view and select <guimenuitem>New account</guimenuitem> from
        the popup menu.  The Asset tree holds all of your accounts that are an
        asset.  Assets, and all the other account types, are discussed in more
        detail later in this manual.
      </para>
    </listitem>
  </varlistentry>
</variablelist>

<tip>
  <para>
    Note that &kappname; uses the context menus a lot throughout the whole
    application.  If you find yourself stuck trying to figure out how to do
    something, try right-clicking where you would expect to see a feature.
  </para>
</tip>

<para>
  Creating a new account by either method opens the <emphasis>New Account
  Wizard</emphasis>.  This wizard will take you step by step through the process
  of creating an account, gathering the required information at each step.  To
  navigate through the pages click on the <guibutton>Back</guibutton> and
  <guibutton>Next</guibutton> buttons.
</para>

<para>
  Create an account using either of the two previously mentioned methods to
  continue.  A full description of creating accounts can be found in the <link
  linkend="details.accounts">Accounts</link> section.
</para>

<para>
  Now that one or more accounts exist in &kappname;, your account summary is
  shown in the Home view.  You can create transactions manually in the <link
  linkend="details.ledgers">Ledgers</link> view, or set up automatic
  transactions through the <link linkend="details.schedules">Schedules</link>
  view.
</para>
</sect1>

<sect1 id="firsttime.schedules">
<title>Schedules</title>

<para>
  Sometimes called a recurring transaction, a <link
  linkend="details.schedules">Schedule</link> is a transaction that occurs one
  or more times over a certain period of time.  A typical example is your pay
  check that you receive every month or week.  Rather than have to enter the
  transaction details each time you get paid, you can instruct &kappname; to
  create a schedule that will enter a transaction for you when you get paid.
</para>

<para>
  To maintain <link linkend="details.schedules">schedules</link> click on the
  Schedules icon <guiicon><inlinemediaobject><imageobject><imagedata
  fileref="schedule_view.png"/></imageobject></inlinemediaobject></guiicon> in
  the view selector.
</para>
</sect1>

<sect1 id="firsttime.categories">
<title>Categories</title>

<para>
  To maintain <link linkend="details.categories">categories</link> click on the
  <guiicon><inlinemediaobject><imageobject><imagedata
  fileref="categories_view.png"/></imageobject></inlinemediaobject></guiicon>
  Categories icon in the view selector.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.categories">Categories</link> section.
</para>
</sect1>

<sect1 id="firsttime.tags">
<title>Tags</title>

<para>
  To maintain <link linkend="details.tags">tags</link> click on the Tags icon
  <guiicon><inlinemediaobject><imageobject><imagedata
  fileref="mail-tagged.png"/></imageobject></inlinemediaobject></guiicon> in the
  view selector.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.tags">Tags</link> section.
</para>
</sect1>

<sect1 id="firsttime.payees">
<title>Payees</title>

<para>
  To maintain your list of payees click on the Payees icon
  <guiicon><inlinemediaobject><imageobject><imagedata
  fileref="payees_view.png"/></imageobject></inlinemediaobject></guiicon> in the
  view selector.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.payees">Payees</link> section.
</para>
</sect1>

<sect1 id="firsttime.import">
<title>Quicken Interchange Format (QIF) Import</title>

<para>
  If you currently use a financial manager application, &kappname; can import an
  account's transactions as long as they are in the Quicken Interchange Format
  (QIF).  Most financial programs can export this format and the different
  applications methods of exporting QIF is not discussed here for brevity.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.impexp.qifimp">QIF Import</link> section.
</para>
</sect1>

<sect1 id="firsttime.find">
<title>Searching for transactions</title>

<para>
  &kappname; provides a useful and powerful transaction search facility in the
  form of the search dialog.
</para>

<para>
  The search dialog can be opened from the toolbar using the Find icon
  <guiicon><inlinemediaobject><imageobject><imagedata
  fileref="transaction_find.png"/></imageobject></inlinemediaobject></guiicon>
  or by selecting <guimenuitem>Find Transaction</guimenuitem> from the
  <guimenu>Edit</guimenu> menu.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.search">Search</link> section.
</para>

</sect1>

<sect1 id="firsttime.reconcile">
<title>Reconciliation</title>

<para>
  At some point you will want to reconcile the transactions you have entered
  with the transactions listed in a statement, be it a bank statement, credit
  card statement, loan statement, or any other statement.  Reconciliation
  involves matching what you have entered with what the statement lists.  If any
  discrepancies are found then either you or the person who created the
  statement have made a mistake.
</para>

<para>
  To reconcile an account, first select the account, either from
  <guiicon>Accounts</guiicon> view or from <guiicon>Ledgers</guiicon>
  view. Then, either click on the <guiicon>Reconcile</guiicon> icon on the
  Toolbar, or select <guimenuitem>Reconcile</guimenuitem> from the
  <guimenu>Account</guimenu> menu.
</para>

<para>
  A full description of this topic can be found in the <link
  linkend="details.reconcile">Reconciliation</link> section.
</para>
</sect1>

<sect1 id="firsttime.backup">
<title>Backing up</title>

<para>
  Now that you have created some accounts and entered transactions it's a good
  idea to perform a backup.  Because the file used by &kappname; is a standard
  Unix file you can just copy the file to another location to back it up or use
  the dialog provided by &kappname;.  Using the dialog is the preferred method
  because if &kappname; ever starts using other file formats, such as SQL, then
  it would be much harder to copy the file manually.
</para>

<para>
  To backup your file through &kappname; Select
  <guimenuitem>Backup</guimenuitem> from the <guimenu>File</guimenu> menu and
  enter the folder where you wish the file to be copied to.  If the folder
  needs mounting first and you have the sufficient privileges then check the
  tick box labeled <guilabel>Mount this directory before backing up</guilabel>
  and click on <guibutton>OK</guibutton>.
</para>

<para>
  The file will be copied to the folder specified with the current date appended
  to the filename so it is easy to see the date the file was backed up.
</para>
</sect1>

<sect1 id="firsttime.launch">
<title>Launching &kappname;</title>

<para>
  Most commonly, you will launch &kappname; from an icon or a start menu of your
  window manager.  In this case, the default behavior is that &kappname; will
  open the last file you had open.  However, in some circumstances, you will
  want or need to launch &kappname; from the command line.
</para>

<para>
  For a complete description of all the available line options, see the man page
  for &kappname;.  However, there are two special cases which we describe here.
</para>

<formalpara><title><command>kmymoney -n</command></title>
  <para>
    The -n option tells &kappname; not to open the last file it had open.  This
    can be useful if the program crashes on startup.
  </para>
</formalpara>

<formalpara><title><command>kmymoney &lt;path to file&gt;</command></title>
  <para>
    Giving &kappname; a filename on the command line tells it to open that file
    instead of the last file it had open.  You can use the name of any valid
    &kappname; file, as described in the chapter on <link
    linkend="details.formats">file formats</link>.  In addition, this can be
    used to import a <link linkend="details.impexp.gnucash">GnuCash</link> file.
  </para>
</formalpara>
</sect1>

<sect1 id="firsttime.newpc">
<title>How to move &kappname; to a new computer</title>

<sect2 id="firsttime.newpc.data">
<title>Moving your data</title>

<para>
  If you get a new computer, it's very easy to move your data.  In fact, all you
  have to do is to copy your &kappname; data file.  The name of the file is
  shown in the title bar when &kappname; is running, it usually ends in .kmy.
  The first time you run the application on the new computer you will have to
  tell it where you have put the data file, either by running from the command
  line, or from the
  <menuchoice><guimenu>File</guimenu><guimenuitem>Open...</guimenuitem></menuchoice>
  menu.  You should even be able to move between &Windows;, &MacOS;, and &Linux; systems.
</para>

<para>
  If you have encrypted your data file, be sure the appropriate software and
  keys have also been set up on the new computer.
</para>

<para>
  If your data is in an SQL database, refer to documentation for your database
  software for guidance on migrating your data.
</para>

<para>
  Note that this assumes you have installed the same version of &kappname; on the new
  computer as you were running on the old computer.  Installing a newer version should
  also be safe, but you need to be aware of any issues related to that upgrade.  Any such
  issues should be noted in the release notes for the new version.
</para>
</sect2>

<sect2 id="firsttime.newpc.settings">
<title>Moving your settings</title>

<para>
  If you only move your data file to the new machine, as described in the
  previous section, &kappname; will work correctly, but you will have lost any
  settings you changed from the default on your old machine.  To maintain these
  settings, you also need to copy your configuration file.  This file is called
  <quote>kmymoneyrc</quote>.  This file will be in a directory with other &kde;
  application configuration files.  On a &Linux; system, this will be in
  <quote>$KDEHOME/share/config</quote> where <quote>$KDEHOME</quote> is usually
  <quote>.kde4</quote> within your home directory.
</para>

<sect3 id="firsttime.newpc.settings.plugins">
<title>Moving plugin settings</title>

<para>
  If you have run any &kappname; plugins, such as the csv importer or exporter,
  it may also have created a configuration file in that same directory, such as
  csvimporterrc or csvexporterrc.  These should also be copied to the new
  computer.
</para>

<para>
  As with the main data file, this assumes the same version of the plugin on
  both computers.  Upgrades are generally safe, but if the functionality of the
  plugin has changed greatly, it is advisable to carefully test using the old
  configuration file, to be sure the plugin behaves as you expect.
</para>

<note>
<para>
  These instructions are solely for moving your &kappname; data and settings.
  However, there may be important items which are stored by &kde; and not by
  &kappname;, such as any passwords stored in kwallet.  Moving other parts of
  your &kde; setup is beyond the scope of this manual, although many of the
  relevant files are also stored under <quote>$KDEHOME</quote>.
</para>
</note>
</sect3>
</sect2>
</sect1>

<sect1 id="firsttime.contact">
<title>Contacting the Developers / Reporting Bugs</title>

<sect2>
<title>Contacting the developers</title>

<para>
  For general questions or comments about &kappname;, there is a users' mailing
  list &userlist;.  In addition, you can contact the developers through their
  mailing list &devlist;.
</para>

<para>
  We're happy to hear about your experiences using &kappname;.
</para>
</sect2>

<sect2>
<title>Reporting bugs</title>

<para>
  To report a bug please use the interface provided by &kappname; by selecting
  <menuchoice><guimenu>Help</guimenu><guimenuitem>Report
  Bug</guimenuitem></menuchoice> and filling in the required information.
  However, in case you have any difficulties with that method, you can report a
  bug (or file a wish-list or enhancement request) directly at the <ulink
  url="http://bugs.kde.org">&kde; bug reporting web page</ulink>.  Reports
  should be filed against the product <quote>kmymoney4</quote>.
  <quote>kmymoney2</quote> was specifically for bugs in the 1.0.x versions of the
  application, and as those versions are no longer supported, it is closed for 
  further bug reporting.  
</para>

<para>
  In any case, before reporting a bug, please read through the guidelines below.
  Following them will make it more likely that the developers will be able to
  quickly identify the problem without having to ask you for more information.
</para>

<sect3 id="firsttime.bugs.quality">
<title>Writing High Quality Bug Reports</title>

<para>
  We encourage users to take extra time to write high-quality bug reports when
  submitting them.  This reduces wasted effort on all sides, as the reporter and
  the developer who will fix it trade emails until this information is really
  in place.
</para>

<para>
  Eli Goldberg wrote the canonical Bug-Writing Guideline, available at <ulink
  url="http://issues.apache.org/bugwritinghelp.html">http://issues.apache.org/bugwritinghelp.html</ulink>.
  Generally, you'll be well-served by following these guidelines:
</para>

<formalpara><title>Include your system information</title>
  <para>
    The <menuchoice><guimenu>Help</guimenu><guimenuitem>Report
    Bug</guimenuitem></menuchoice> menu choice will fill this in automatically,
    but if you would prefer not to use this interface, there are several items
    you need to include in the report.  We will need to know what operating
    system you are using (&Linux;, &MacOS;, or &Windows;), the version of &kde;
    and the version of &kappname; you're running, and either the version of
    &MacOS; or &Windows; or the name and version of your &Linux; distribution
    and the version of your kernel.
  </para>
</formalpara>

<formalpara><title>Include a backtrace for crashes</title>
  <para>
    The backtrace is often the single most useful piece of information in
    solving crashes.
  </para>
</formalpara>

<formalpara><title>Try to reproduce it</title>
  <para>
    Let us know if you were able to do so.  It's useful to know whether the bug
    only happened once and you couldn't get it to happen again or happens every
    time or happens sometimes but not others.
  </para>
</formalpara>

<formalpara><title>Include specific steps</title>
  <para>
    This is a bad bug report: <quote>I entered a transaction, and &kappname;
    crashed.</quote> A much better bug report is: <quote>Using the transaction
    form, I entered a new transaction in my Credit Card account.  I selected the
    Transfer tab, entered in an amount, then changed to the Deposit tab, and
    back to the Transfer tab.  When I returned to the Transfer tab, &kappname;
    crashed.  This bug is fully reproducible for me.</quote>
  </para>
</formalpara>

<formalpara><title>Tell us what you expected to happen</title>
  <para>
    In some cases, this is obvious, but in more subtle bugs, sometimes you'll
    see a bug report where it is not obvious what the reporter expected to
    happen.  Always tell us what you think should have happened.
  </para>
</formalpara>

<formalpara><title>Consider running with debugging enabled</title>
  <para>
    By compiling a version configured with --enable-debug=full you can ensure
    that the best possible backtraces are generated.  If you encounter a crash,
    run &kappname; again from within gdb, and reproduce the crash.  When it
    crashes, type <quote>bt</quote> to generate a backtrace.
  </para>
</formalpara>

<para>
  Running this way is a bit more difficult, so we don't expect all users to do
  this.  However, if you're interested in helping &kappname; become as stable as
  possible, this is the best way to do it short of finding the bug in the code
  and sending in a patch.
</para>
</sect3>
</sect2>
</sect1>
</chapter>
