<article id="xacc-reports">
<artheader>
<title>Reports</title>
</artheader>

<para>A variety of financial reports can be selected on the "Reports"
menu:

<itemizedlist>

<listitem><para><link linkend="xacc-balancesheet"> Balance Sheet:
</link> shows Assets, Liabilities and Equity.  </para>
<para><link linkend="xacc-net-worth-barchart">Net Worth 
Barchart</link>shows your net worth in a graphical environment. 
If you examine just assets or liabilities, <link linkend="xacc-asset-liability-barcharts">
barcharts</link> showing data over time are available, as are
<link linkend="xacc-asset-liability-piecharts">piecharts</link>.
</para>
</listitem>

<listitem><para><link linkend="xacc-pnl"> Profit And Loss State:
</link> shows Income and/or Expenses over a selectable period.  </para>
<para>
There are also <link linkend="xacc-income-expense-barcharts">bar</link>
and <link linkend="xacc-income-expense-piecharts">pie</link> charts.</para>
</listitem>

<listitem> <para><link linkend="xacc-trans-report"> Transaction Report
</link> shows transactions in an account, presented in a variety of
ways.  </para> </listitem>

<listitem> <para><link linkend="xacc-portfolio-report">Stock Portfolio
</link> provides a quick summary of your stocks, their current value,
and profits made.  The <link linkend="xacc-stock-price-report">Stock Price Tracker
</link> lets you track the price of a particular stock over time.</para></listitem>

<listitem> <para><link linkend="xacc-tax-report">Tax Report / TXF
Export:</link> shows tax related Income and Expenses.  Can <link
linkend="xacc-txf-export">export a .TXF file</link> that can be imported
to TaxCut or TurboTax.  </para>
</listitem>

<listitem> <para><link linkend="xacc-balancereport">Balance
Tracker</link> tracks the balance of one or more accounts over time,
with the option of displaying both tables and a bar chart.</para>
</listitem>

</itemizedlist>

</para>

<sect1 id="xacc-reportwindow">
<title> The Report Window</title>

<para> Once you select a report, a report will appear.  This
may appear as a seperate top-level window, as a notebook tab, 
or in the main window, selectable for viewing through the "Window"
menu.  This is controllable <link linkend="xacc-gnome-mdi">using
the MDI interface.</link></para>

<para><inlinemediaobject>
<imageobject>
<imagedata fileref="image/reportwin.png">
</imageobject>
</inlinemediaobject>
</para>

<para>The report is displayed in a resizable, scrollable window.  To
control the report, you can use the toolbar buttons at the top of the
window:

<itemizedlist>

<listitem> <para><emphasis>Back</emphasis> and <emphasis> Forward
</emphasis> allow you to view the previous contents of the window,
just like a web browser </para> </listitem>

<listitem> <para> <emphasis>Options</emphasis> pops up a dialog box
allowing you to change the information presented in the report:
</para>

<para><inlinemediaobject>
<imageobject>
<imagedata fileref="image/report-option.png">
</imageobject>
</inlinemediaobject>
</para>

<para>See the help for the individual reports for details of options
available. </para> </listitem>

<listitem> <para><anchor id="export"><emphasis>Export</emphasis>
allows you to export the contents of the report as a HTML file for
later viewing or printing.  </para> </listitem>

<listitem> <para><emphasis>Close</emphasis> closes the report window.
</para></listitem>

</itemizedlist>
</para>
</sect1>

<sect1 id="xacc-multiple-reports">
<title> Multiple Reports In A Window</title> <para>GnuCash allows you
to place multiple reports into a single report window, allowing you to
examine a set of financial information at a glance. This functionality
is provided with the <link linkend="xacc-multicolumn-view-report">
Multicolumn View</link> special report.</para></sect1>

<sect1 id="xacc-url-reports">
<title>Web Pages as reports</title>
<para>You can view web pages as a special sort of report - very convenient
for keeping all the financial information you need, including from external
sources, in the one place.  Use the <link linkend="xacc-gnucash-web-browser">
Frame URL Report</link> to do so.
</para></sect1>

<sect1 id="xacc-style-sheets">
<title>Style Sheets</title>
<para><emphasis>FIXME:document these!!!</emphasis></para>
</sect1>

<sect1 id="xacc-customreports">
<title> Constructing custom reports</title>

<para> It is possible to write your own reports to meet your own
needs, if you can program a little. You will need to know <link
linkend="scheme"> Scheme </link> (a LISP-like programming language),
and it is an excellent idea to have a copy of the <application>
GnuCash </application> source code available. </para>

<para>The reporting interface is documented as <link linkend=
"xacc-repdev"> Report Development; </link> but you can get a good idea
of how it works by examining the file <filename>
src/scm/report/hello-world.scm </filename> in the <application>
GnuCash </application> source distribution. </para>

<para>You will also need to access data from the "engine" to get
information for your report. This is performed by a set of <link
linkend="scheme"> Scheme </link> wrapper functions that are documented
in the file <filename> src/g-wrap/gnc.html</filename>. You may wish to
examine some of the other reports in <filename> src/scm/report
</filename> for an indication of how they are used.
</para>

<para>At present, reports are produced by calling a HTML-generation API,
which outputs a dialect of HTML and rendering this with a HTML widget.  This
has limitations (particularly when trying to align objects precisely, 
as might be necessary for printing onto pre-printed invoices for example),
so in the future an additional report generation interface may be needed.</para>

</sect1> 
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
