You are on page 1of 7

FINANCIALS: CONFIGURATION AND SET UP

This document describes how to configure the opentaps Financials General Ledger and
importing your initial balance sheet and inventory.
Change Log

May 23, 2006 Updated for new configuration screens


May 2 2006

Updated for opentaps 0.9

April 5, 2006

Updated to describe how payments are actually posted.

March 17
2006

Updated to reflect inventory adjustment GL account classes

March 8
2006

Initial version with information from the old accountingext documentation

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


Running the Financials module
The Financials module is included in the opentaps release. You can also download it into your
ofbiz/hot-deploy/ directory, and it should load automatically and show up as a Financials tab
between Facility and Manufacturing on your OFBiz applications tab bar. Be sure to use [Web
tools] > [XML Import Dir] to import all the seed data from hot-deploy/financials/data/
Configuring Your Users
Users who will be responsible for creating business transactions which are posted to the general
ledger need to have the security permissions ACCOUNTING_ATX_CREATE and
ACCOUNTING_ATX_POST associated with their user logins.
Users who will be responsible for configuring the general ledger in the Financials application will
need to have the permission FINANCIALS_CONFIG associated with their user logins.
Configuration Screens
Beginning with version 0.9.1, you will see a [Configurations] tab next to [Logout] in the Financials
application. This tab allows you to configure some commonly used features of the Financials
application:
1. Chart Of Accounts: You can view your chart of accounts, add new accounts, associate an
existing account with this organization, or deactivate an account from the organization.
Adding a new account actually does two things: it will create a new GL account and then
associate with the current organizations chart of accounts. The screen will prompt you for
account code, account name, account class, account type, description, parent GL account,
and initial balance. The account code will be used as the glAccountId as well. The resource
type for GL accounts created this way will always be MONEY.
If you click on [Add Sub Account], you will be taken to the add new account form with the
original account as the parent account and its fields pre-populated in the
Associate an existing account can be used to associate existing GL accounts, such as those
for another organization, with the current organization. You will be prompted for the account,
an initial balance, and effective dates.
Updating an account will allow you to change all its fields, including some which are not
available when you first create the account. Note that a change here will change this GL
account for all organizations with which it is associated.
Deactivate an account with first check that this account is not associated with any payment
methods, payment types, invoice types, or GL account type defaults. If none of these are
associated with this account, it will be marked expired on the organizations chart of accounts.
2. GL Account Type Defaults: You can see the default GL accounts created for various types
of GL activities, such as Accounts Receivables, Inventory, Revenues, and Cost Of Goods
Sold, here and assign or re-assign GL accounts here.
3. Payment Methods: You can assign GL accounts for the payment methods of this
organization, such as the Companys checking or credit card accounts. The payment
methods need to be created in Party Manager.
4. Time Periods: You can view time periods which are closed, which are currently opened,
close time periods, and create new time periods automatically by specifying the
beginning date, ending date, and time period type.

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


The configuration screens and related services require the FINANCIALS_CONFIG permission,
which is by default configured to be part of the FULLADMIN security group in
financials/data/FinancialsSecurityData.xml
Setting up an organization
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.
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. The initial settings can be defined in [Accounting] >
[Companies] >> [Admin] >>> [Preferences]. Note that once defined, they cannot be modified
there. The system does not support changing key accounting practices such as COGS method
or default currency right now. If youve made a mistake, use [Web Tools] > [Entity Data
Maintenance] to correct it.
All facilities of the organization which 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.
Finally, the organization's year end, quarter end, month end dates should be defined with the
CustomTimePeriod entity. These can be created and loaded in an XML file or with Web Tools.
Note that CustomTimePeriods are defined as Dates without time values, so 2006-01-01 would be
2006-01-01 at midnight (00:00:00.) Therefore, time periods need to be defined as from, say,
2006-01-01 to 2007-01-01 rather than 2007-12-31 (or 12/31/2007 would be missed.)
Creating a Chart of Accounts
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. You can create a Chart of Accounts by populating the GlAccount
entities using an entity-engine-xml file similar to
applications/accounting/data/DemoGeneralChartofAccounts.xml.
Alternatively, you can use the web interface to manually enter your accounts through [Accounting]
> [Chart of Accounts] > [Navigate Accounts].
There are two fields on the GL account which are important: glAccountClassId and
glAccountTypeId. They are both used to classify the GL account. Currently, glAccountClassId
classifications are used for financial reporting purposes (balance sheet, income statement,
statement of cash flows), while glAccountTypeId is used for internal classifications and reports
such as AR/AP balances, inventory valuation, and aging.
Inventory variance GL accounts must be set up not as a NON-CASH EXPENSE but as a
INVENTORY_ADJUST gl account class. The reason is that for a statement of cash flow,
changes to inventory are considered non-cash and added back to operating cash flow. If the
offsetting account is also a non-cash account, it would cause double counting.

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


Associating GL accounts with an organization
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.
Setting up GL accounts for Invoicing
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:
1. In the InvoiceItemType, a GL account can be specified as the default GL account for this
invoice item type.
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.
2. In InvoiceItemTypeGlAccount, you can override your preferences from above by setting a
different GL account for each invoice item type for a particular company.
3. 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.
4. 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.
Setting up GL accounts for payments
If the Payment is a DISBURSEMENT, transaction entry is a debit to the offsetting
(PaymentGlAccountTypeMap) GL account and a credit to the Payment GL account. If the
Payment is a RECEIPT, the transaction is a debit to the Payment's GL account and a credit to the
offsetting (PaymentGlAccountTypeMap) GL account.
GL accounts for payments are configured in the following ways and will be used in the following
sequence:
1. 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.
2. 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.
3. A glAccountId in PaymentMethodTypeGlAccount, defining the glAccount for this generic
payment method type (CHECK, CREDIT CARD, etc.) for a company.
4. defaultGlAccountId in the PaymentMethodType.
Important
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.

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


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.
Important
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.
Tip
Best practice for configuring payment GL accounts is:
For each internal payment method (ie, the Company's checking accounts

and credit cards), put a glAccountId in the PaymentMethod entity value.


For external payment methods (ie, customers' credit cards or checking

accounts), use PaymentMethodTypeGlAccount to put in a glAccountId for


each PaymentMethodType.
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.
Tip
Here is an example for configuring GL accounts for vendor payments using a
company checking account:
Create a PaymentType of "Vendor Payment"
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.
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".
Create a GlAccountTypeDefault which maps glAccountTypeId="Accounts
Payable" and glAccountId="210000" This says that the Accounts Payable
account will be "210000".
Special GL accounts for Purchasing
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.
PURCHASE_PRICE_VAR is an expense account and is used to record the difference between
original purchase order prices and actual invoice prices. When purchase invoices are actually
posted to the general ledger, the system will go back and match the prices on the invoice with the

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


prices on the original purchase order. If actual purchase invoice prices were higher, the
differences will be expensed with this account.
For inventory variance, configure the GL account for expensing inventory at the product-specific
level (using ProductGlAccount), which can be done in the Catalog Manager's "GL account" tab for
a product. Or, use the VarianceReasonGlAccount entity to configure a default glAccountId for
your organization for each variance reason (found in VarianceReason entity.)
For customer credits to work correctly, be sure to configure the EXT_BILLACT payment method
type to the right G/L account (ie, ACCOUNTS RECEIVABLE) using the
PaymentMethodTypeGlAccount entity. This is because customer credits are all created as
payments to a billing account with paymentMethodTypeId of "EXT_BILLACT".
Special Accounts for Gift Certificates
Gift certificates are set up as a special payment method type of GIFT_CERTIFICATE and can be
either a GC_DEPOSIT or GC_WITHDRAWAL payment type. GC_DEPOSIT is a sub-type of
RECEIPT, and GC_WITHDRAWAL a sub-type of DISBURSEMENT. Both payment types are
configured to use a glAccountTypeId of CUSTOMER_GC_DEPOSIT, and the payment method of
GIFT_CERTIFICATE is configured to a GL account. By configuring CUSTOMER_GC_DEPOSIT
to a GL account such as Unredeemed Gift Certificates, the default GL account setting is causes
the following transactions to be posted:
Debit Accounts Receivables,
Credit Unredeemed Gift Certificates for Gift Certificate Deposits and
Debit Unredeemed Gift Certificates,
Credit Accounts Receivables for Gift Certificate Withdrawals
These postings are consistent with the rules for payment GL account settings above.
Taxes
Set up the GL account for tracking tax liabilities in the TaxAuthorityGlAccount entity. Tax liabilities
are tracked by tax authority party and geo id's. You can thus set up a different GL account for
each geo id covered by the same tax authority.
Initial Company Financials
To set up a company's initial financial information, follow the following steps:
Create a time period immediately preceding the current one. For example, if you're

implementing the GL system as of August 1, 2005, create a time period that ends August
1, 2005.
Then, create accounting transactions and entries in that time period which describe the

company's financial condition before it was transferred into opentaps/OFBiz. These can
be done as a series of transactions all as of the last second of the time period (ie, July 31,
2005 at 23:59:59). You can create one transaction for the entire balance sheet with
entries for every GL account, or a series of transactions.
If you are importing inventory values, create an accounting transaction entry for each

product in your inventory, with their productId and amount of inventory value for the
product. Also, create an InventoryItem record with their quantities and unit costs.
Next, if these transactions were created in a file, import them into OFBiz.

2006 Open Source Strategies, Inc. All Rights Reserved.

FINANCIALS: CONFIGURATION AND SET UP


Once the transactions are in the system, go to [Financials] > [Transactions] > [Post

Transaction]. You should see the transactions there and can post them one by one.
After posting the transactions, check that your trial balances and balance sheets are

corrected.
If everything is correct, close out this time period. Then the initial financial conditions can

no longer be changed, and you can start using your company with the opentaps
Financials.
Some Less Typical Transactions
If you need to enter transactions which are not currently supported directly, you can still do so
with [Financials] > [Transactions] > [Create Transactions] and then manually post them. Over
time, we will be adding support for more standard types of transactions. (Theyre also pretty easy
to write yourself.)
Look in data/DemoOrgBalanceSheet.xml for some sample examples of how accounting
transactions are created.

2006 Open Source Strategies, Inc. All Rights Reserved.

You might also like