<?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>Accounting Introduction</title>
        <para>
        The Accounting system is organized according to age old and generally accepted principles such as double-entry accounting, a General Ledger with hierarchical accounts, 
        journals and posting of transactions and corresponding entries. 
        </para>
        <para>
        The structure is primary based on the OMG GL standard and the work that was done on an 
        AR/AP extension of the OMG GL standard. This correlates well with other standards such as ebXML and OAGIS.
        </para>
        <para>
        The Accounting entities are structured such that accounts for multiple organizations can be managed. The multiple organizations could be multiple companies, 
        or departments or other organizations within a company. Each Organization can have various GL Accounts associated with it so that it can operate 
        with its own subset of the Master Chart of Accounts. 
        </para>
        <para>
        Each Organization can also have its own set of Journals for flexibility, even though the 
        use of Journals should be as minimal as possible in favor of allowing the system to automatically create and post transactions based on business events 
        triggered by standard procedures and documents such as purchase and sales orders, invoices, inventory transfers, payments, receipts, and so forth. 
        </para>
</section>

