📄 userdocs.sgml
字号:
<?xml version='1.0'?><!-- * Copyright (C) 2006 Open Source Strategies, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA--><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd"><book> <title>Accounting/GL Component User's Documentation</title> <chapter> <title>Running the accdev component</title> <para> <note> <para>These tips are to help you run the enhanced accounting component side by side with the regular OFBiz applications. This will change over time.</para> </note> </para> <orderedlist> <listitem> <para>Use svn co to checkout the accdev component into a separate directory</para> </listitem> <listitem> <para>Create a symbolic link from the accdev directory to the hot-deploy directory in your ofbiz</para> </listitem> <listitem> <para> Update the build.xml in the enhanced accounting directory to point to the correct path. Here is an example for a case where ofbiz/ and the enhanced accounting/ are side by side in eclipse/workspace: <programlisting> <target name="classpath"> <path id="local.class.path"> <!--<fileset dir="${lib.dir}" includes="*.jar"/>--> <fileset dir="../../${path.prefix}base/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}base/lib/commons" includes="*.jar"/> <fileset dir="../../${path.prefix}base/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/entity/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/entity/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/security/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/service/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/service/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/minilang/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/webapp/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/webapp/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/common/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}framework/workflow/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}applications/party/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}applications/product/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}applications/marketing/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}applications/order/build/lib" includes="*.jar"/> <fileset dir="../../${path.prefix}applications/accounting/build/lib" includes="*.jar"/> </path> </target></programlisting> </para> </listitem> <listitem> <para>At this point you should be able to start OFBiz with the enhanced accounting component running as well.</para> </listitem> </orderedlist> </chapter> <chapter> <title>Accounting Configuration Guide</title> <section> <title>Setting up an organization for accounting</title> <para>The first step in configuring the accounting application is to set up an organization for accounting and configure its accounting preferences. The organization is created in the Party and PartyGroup entities. The organization must have a PartyRole of INTERNAL_ORGANIZATIO ("internal organization.") If the organization is a subsidiary, it must also have PartyRole of ORGANIZATION_UNIT. Parent/subsidiary relationships must be defined in PartyRelationship, with the parent's role being INTERNAL_ORGANIZATIO and subsidiary's role being ORGANIZATION_UNIT.</para> <para>The accounting preferences of an organization are defined in PartyAcctgPreference. Currently, this entity defines the tax form of choice, Cost of Goods Sold (COGS) method, and base currency of the organization. COGS method should be consistent with the inventory reservation method of the product stores associated with this party.</para> <para>All facilities of the organization whixh may hold inventory needs to have its ownerPartyId ("Owner") field set to the organization's partyId. This can be done in the Facility Manager when editing a facility. Do not set this ownerPartyId to that of a non-accounting sub-party of the organization, as we are not doing rollups right now.</para> <para>Finally, the organization's year end, quarter end, month end dates should be defined with the CustomTimePeriod entity.</para> </section> <section> <title>Creating a Chart of Accounts</title> <para>The second step in configuring the accounting application is to create a Chart of Accounts, which is a list of General Ledger (GL) accounts that are used to track financial transactions for all companies and subsidiaries in Open For Business. You can create a Chart of Accounts by populating the GlAccount entities using an entity-engine-xml file similar to the DemoGeneralChartofAccounts.xml. Alternatively, you can use the web interface to manually enter your accounts through Accounting > Chart of Accounts > Navigate Accounts.</para> </section> <section> <title>Associating GL accounts with an organization</title> <para>The Chart of Accounts is a generic list of accounts which are available. To be "active" for a particular organization, a GL account needs to be associated with an organization using the GlAccountOrganization entity.</para> </section> <section> <title>Setting default GL accounts</title> <para> To post to the correct GL accounts, they must be associated with various transactions such as invoices or payments. Configuring the default GL accounts is done in one of four ways: <orderedlist> <listitem> <para>In the InvoiceItemType, a GL account can be specified as the default GL account for this invoice item type.</para> <para>Note that the accounting for the sales tax invoice item (ITM_SALES_TAX) will probably not be used, as the GL accounts for tax items will be in the TaxAuthorityGlAccount entity. It is nice to set it up as a "failsafe" setting, though.</para> </listitem> <listitem> <para>In InvoiceItemTypeGlAccount, you can override your preferences from above by setting a different GL account for each invoice item type for a particular company.</para> </listitem> <listitem> <para>In the GlAccountTypeDefault, a GL account can be specified for each type of transaction and a particular company. For example, you can configure the default "Accounts Receivable" GL account for "Company A" with this entity.</para> </listitem> <listitem> <para>For products, you can specify the different types of GL account used for a particular product. For example, you can specify the SALES, COGS, INVENTORY accounts for a particular product.</para> </listitem> </orderedlist> </para> <para> GL accounts for payments are configured in the following ways and will be used in the following sequence: <orderedlist> <listitem> <para>A glAcccountId for a particular PaymentMethod (such as particular credit card or checking account.) Usually this is done for the company's internal credit cards, although it can be done for customer cards as well.</para> </listitem> <listitem> <para>If the Payment Method is a Credit Card, then use glAccountId in the CreditCardTypeGlAccount entity, so you can define different receivables accounts for different credit cards.</para> </listitem> <listitem> <para>A glAccountId in PaymentMethodTypeGlAccount, defining the glAccount for this generic payment method type (CHECK, CREDIT CARD, etc.) for a company.</para> </listitem> <listitem> <para>defaultGlAccountId in the PaymentMethodType.</para> </listitem> </orderedlist> </para> <important> <para>To handle incoming and outgoing payments correctly, make sure that the company's internal payment methods (used for outgoing payments) have the right GL accounts associated with them.</para> </important> <para>To configure the correct GL account for various payment types, create PaymentGlAccountTypeMap values which map payment types to gl account types (and hence, from above, to gl accounts.) You can create as many payment types and match them to as many gl account types as you need.</para> <important> <para>You can create a hierarchy of payment types as long as the ultimate parent of your payment type is either a DISBURSEMENT or a RECEIPT.</para> </important> <tip> <para> Best practice for configuring payment GL accounts is: <itemizedlist> <listitem> <para>For each internal payment method (ie, the Company's checking accounts and credit cards), put a glAccountId in the PaymentMethod entity value.</para> </listitem> <listitem> <para>For external payment methods (ie, customers' credit cards or checking accounts), use PaymentMethodTypeGlAccount to put in a glAccountId for each PaymentMethodType.</para> </listitem> <listitem> <para>Avoid using the defaultGlAccountId for PaymentTypes, as these are ambiguous. For example, the PaymentType of "CREDIT_CARD" is used for credit cards of customers and employees, so it is not possible to set the right GL account for all credit cards.</para> </listitem> </itemizedlist> </para> </tip> <tip> <para> Here is an example for configuring GL accounts for vendor payments using a company checking account: <itemizedlist> <listitem> <para>Create a PaymentType of "Vendor Payment"</para> </listitem> <listitem> <para>Create a PaymentTypeGlAccountMap of paymentId="VENDOR_PAYMENT", glAccountTypeId="ACCOUNTS_PAYABLE". This says that all vendor payments will be set off against the "Accounts Payable" GL account.</para> </listitem> <listitem> <para>Create a PaymentMethod of paymentMethodId="COCHECKING", glAccountId = "111000" (ie, Cash in Checking Accounts) This says that the "COCHECKING" payment method" will be booked against account "111000".</para> </listitem> <listitem> <para>Create a GlAccountTypeDefault which maps glAccountTypeId="Accounts Payable" and glAccountId="210000" This says that the Accounts Payable account will be "210000".</para> </listitem> </itemizedlist> </para> </tip> <para>Two accounts need to be set up for purchasing and accounts payable invoicing: UNINVOICED_SHIP_RCPT and PURCHASE_PRICE_VAR. UNINVOICED_SHIP_RCPT is a temporary liability account used to record the value of inventory that has been received, but whose corresponding vendor purchase (ie, accounts payable) invoice has not arrived. Such inventory is valued at the original purchase order's price.</para> <para>PURCHASE_PRICE_VAR is an expense account and is used to record
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -