<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
   
http://www.apache.org/licenses/LICENSE-2.0
   
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0"
    xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
    xsi:schemaLocation="http://docbook.org/ns/docbook ../../../content/dtd/docbook.xsd"
    xmlns="http://docbook.org/ns/docbook">
    <title>The Edit Financial Account Transactions screen.</title>
    <section>
        <title>How do I add transactions to a financial account?</title>
        <para>An example of how to bring in an opening balance is shown below:</para>
        <para>
            <orderedlist>
                <listitem>
                    <para>Navigate to the the Financial Account Transactions sub menu</para>
                </listitem>
                <listitem>
                    <para>Select 'Adjustment' in the Fin Account Trans Type Id field</para>
                </listitem>
                <listitem>
                    <para>Leave the 'Party Id' field blank</para>
                </listitem>
                <listitem>
                    <para>Fill in the 'Transaction Date' field</para>
                </listitem>
                <listitem>
                    <para>Fill in the 'Entry Date' field (NOTE TO CHECK: Need to check exactly what
                        this is - is it the date the transaction is entered or is it the date the
                        transaction is processed?)</para>
                </listitem>
                <listitem>
                    <para>Fill in the 'Amount' field with the transaction amount (Eg. In our case
                        this is the opening balance such as 353.88 - dont think we need the $
                        sign)</para>
                </listitem>
                <listitem>
                    <para>Leave the 'Payment Id' field blank</para>
                </listitem>
                <listitem>
                    <para>Leave the 'Order Id' field blank</para>
                </listitem>
                <listitem>
                    <para>Leave the 'Order Item Seq Id' field blank</para>
                </listitem>
                <listitem>
                    <para>Leave the 'Reason Enum Id' field blank (NOTE TO CHECK: This could be
                        useful in identifying transactions to a greater level of detail....)</para>
                </listitem>
                <listitem>
                    <para>Fill in the 'Comments' field (Eg: Opening Balance from XYZ
                        Statement)</para>
                </listitem>
                <listitem>
                    <para>Press the 'Add' button and the transaction will be displayed at the bottom
                        of the screen</para>
                </listitem>
            </orderedlist>
        </para>
        <para>NOTE: When you now view the Financial Account detail the 'Actual Balance' and
            'Available Balance' fields will show the entered opening balance (eg 353.88)</para>
    </section>
    <section>
        <title>Other ways to add transactions to a financial account?</title>
        <para>
            <itemizedlist>
                <listitem>
                    <para>By selecting financial account as a payment method for a customer</para>
                </listitem>
                <listitem>
                    <para>By selecting financial account as a refund method for a customer </para>
                </listitem>
            </itemizedlist>
        </para>
    </section>
</section>
