You are on page 1of 9

FINANCIALS: GENERAL OVERVIEW

This document is a general overview of what the opentaps Financials module does.
Change Log

November
10, 2006

New information about quick transactions, bank settlements, reverse, void,


writeoffs, and sales and inventory and dso reports

May 2 2006

Updated for opentaps 0.9

March 10
2006

Note about default timing of postings

March 8
2006

Initial version with content from accountingext/docs/

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 1 of 9

FINANCIALS: GENERAL OVERVIEW


What the Financials Module Does
The Financials module is a General Ledger and Financial Reports applications which is fully
integrated with the other applications. Most of what it does is actually invisible to the user: when
you create invoices, receive payments, or accept returns, the financials module will post
accounting transactions to the General Ledger.
The [Financials] application, found between [Facility] and [Manufacturing] on the appbar, can be
used to produce income statements, balance sheets, statement of cash flows, Accounts
Receivables/Payables aging and statements, inventory valuation, and tax liability reports. You
can also use it to reconcile your accounts and track and close accounting time periods. Finally, it
can be used to export your general ledger entries into another accounting system.
A Note about Licensing
Please note that the opentaps Financial module is released under the open source Honest Public
License (HPL), which is a modified version of the GNU General Public License (GPL) with
clarification for hosting and software as a service. THE HPL and GPL CONTAINS VERY
DIFFERENT TERMS THAN THE APACHE LICENSE OR MIT PUBLIC LICENSE. Please read it
and understand what obligations it may impose upon you. If you do not wish to use this
application under the GPL license, please contact Open Source Strategies, Inc. at
info@opensourcestrategies.com regarding a commercial license. We have commercial licensing
options for users, service providers, and software vendors, and all proceeds from commercial
licenses help support open source software development and open source communities.
Signing Into the Application
To sign into the application, click on the Financials tab at the top of your opentaps/OFBiz
applications tab bar. You will be shown a list of accounting organizations which have accounting
preferences configured. Select one of the organizations. Until you log out, the application will
provide you with information for this organization only. If the organization that you need is not
available, follow the directions in the Configuration Guide to configure it first.
General Ledger Accounts and Account Codes
The Financials module allows you to track as many general ledger accounts (GL accounts) as
you organization would need. Usually, you will see accounts present in this format:

The first number is the account code, the descriptive text is the account name, and the number
in parentheses is the glAccountId. The account code is for users to classify their accounts and
can be as long as you need it to be. The glAccountId is a unique sequence for your system to
distinguish one account from another and is usually set to twenty or fewer alphanumeric digits.
For convenience, the glAccountId is usually set to the account code, and this is what happens
when you use the Create New Account feature in Configurations (see below.) However, if your
organization needs to create more accounts than codes of twenty alphanumeric digits would

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 2 of 9

FINANCIALS: GENERAL OVERVIEW


allow, it is possible to set up glAccountIds which are merely consecutive and then define account
codes of arbitrary lengths.
Note that GL accounts also have a description field in the database which is different than the
account name, but that is typically not displayed here.
Viewing Chart of Accounts
Click on [Configurations], then [Chart of Accounts] on the left. This will show a list of the accounts
currently associated with the organization or company.
Posting of Transactions
A transaction is posted when a financial record which matches it is made in the general ledger.
When a transaction is posted can be configured by modifying the secas_ledger.xml file, but the
defaults for the system are:
Invoices (both sales and purchase) are posted when they are set to READY
Payments are posted when they are RECEIVED from customers or SENT to vendors
(this is done using an EECA)
Shipment receipts are posted as soon as the ShipmentReceipt record is created
Sales shipments are posted when they are PACKED
Inventory variances are posted as soon as they are entered
Inventory transfer are posted when they are COMPLETED
Manufacturing transactions are posted when raw materials are issued, when steps in a
production run are completed, and when the final inventory is received into warehouse
To post financial transactions correctly, business transactions from the other applications must
have the following data:
Payments must have a payment type, a partyIdFrom, a partyIdTo, and either a
paymentMethodId or paymentMethodTypeId
InventoryItems on outgoing shipments or inventory transfers must have unitCost, and if
the organization is using Average Cost inventory accounting, there must also be an
average cost record. All of this should be created properly if the inventory is received
correctly in the warehouse (Facility.) If no average cost is found, the system will use
standard cost.
Sales (purchase) invoices must have a partyIdFrom (partyIdTo) which is an internal
organization.
Quick Transactions
The [Quick Transaction] link on the [Transactions] tab allows you to create an offsetting pair of
debit/credit transactions quickly. You can select the type of transaction, debit and credit accounts,
and enter the amount, and it will create an AcctgTrans and two AcctgTransEntry entities. PartyId
is optional. Transaction date will be set to the current date and time if not entered. The
transaction is not posted when they are created. You should inspect the transactions, make any
changes, then [Post] it to the ledger.
Undeposited Receipts
An undeposited receipts GL account is created to record payment receipts which have been
received but have not been deposited to the bank. By default, received payments from accounts

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 3 of 9

FINANCIALS: GENERAL OVERVIEW


such as Offline Payment, COD, Personal Check, Company Check, and Cash are posted
to undeposited receipts. There is a link in Receivables called Settle Undeposited Receipts
which creates a quick transaction to credit the organization's undeposited receipts GL account
against a debit to its bank settlement account.
Note that this practice is common for manufacturers, online retailers, and distributors, but if you
are doing accounting for a retail store, it may be more reasonable to use the Cash in Registers
GL account. In that case, modify the account types for your payment method types in the
DemoOrgChartOfAccounts.xml file or your equivalent configuration file.
Bank Settlements
In the [Receivables] tab is a Settlements section to help you settle incoming payments.
Currently, only credit cards are supported. Select a credit card type, then click on Settle, and a
Quick Transaction page will come up, with the following fields filled in for you:
The transaction type will be Bank Settlement.
The Debit account will be the Bank Settlement GL account type defined for the
organization.
The Credit account will be the GL account defined for that credit card.
Reverse
It is not possible for delete accounting transactions from the system at this time, but you can
reverse transactions which are erroneous or canceled. Once a transaction has been posted,
there will be a [Reverse] button when you view it in the Transactions tab. Click on [Reverse], and
a reversing transaction with a debit entry for every credit entry and a credit entry for every debit
entry will be created. The date of the reversing transaction will be the current date and time. The
description will contain the transaction ID of the original transaction. Reversing transactions are
posted as they are created.
Voiding Payments
Payments can be voided after they have been SENT or RECEIVED. Just click on the [Void]
button the Payment view page, and the following will happen:
The Payment status will be changed to VOID
All the Payments applications (to invoices, etc.) will be removed. Any invoice associated
with this Payment will go from PAID to READY again.
A reversing transaction will be created for the Payments accounting transactions.
Writing Off Invoices
If you set an Invoices status to Write Off in the Accounting application, the Financials
application will perform the following operations:
Calculate the un-paid balance on the invoice
Debit the Write Off account and credit the Receivable/Payable account based on the type
of the invoice.
The Write Off and Receivable/Payable accounts are all configured as GL account types for the
invoice. You can configure a separate writeoff account for each type of invoice (AR, AP,
Commission, Return, etc.) under [Account Types] in [Configurations].

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 4 of 9

FINANCIALS: GENERAL OVERVIEW


Foreign Exchange Gain/Losses
When an invoice is set to PAID, if it is in a different currency than the organizations base
currency, a service runs to check whether the exchange rate has changed from the time the
invoice is created to the time the invoice is paid. Gains and losses can be posted to their own
gain or loss accounts, depending on the requirements of your organization. These accounts can
be configured in the [Configurations] tab for [Account Types].
Reconciliation
Reconciliation is like balancing a checkbook. You compare transactions in the account versus an
external copy to make sure they are equal. At the end, the balance for the account in our records
must equal to the balance from the external source. Reconciliation is typically done for banking
accounts, where someone verifies that the company's record of receipts and payments is the
same as the bank's and the final balances agree. It can also be done for vendor accounts and
invoices and employee accounts.
To reconcile an account, click on [Transactions] > [Reconcile Accounts] for any account. You will
be taken to a form where you can select the account to reconcile, the as of date for the
reconciliation, and the ending balance of the external source. You may view all reconciliations for
the selected account by clicking on the [View Balance] button. Once all information is entered,
click on [Reconcile] to begin the reconciliation process.
You will see, at the top of the reconciliation page, the account code and name, followed by:
Beginning balance and as of date
Ending balance and as of date
Calculated balance
Difference between the ending balance and calculated balance

The beginning balance is the amount from the last reconciliation. If the account has never been
reconciled before, it is zero.
The ending balance and as of date are input by the user in the previous form and will be the
ending balance and as of date for this reconciliation.
The calculated balance is what an ending balance which is calculated from the beginning balance
and the entries which the user has checked off. When the reconciliation is done, the calculated
balance and the ending balance should equal.
Below it is a list of entries to the GL account since the last reconciliation, with a link to the
accounting transaction to help you verify the transaction.
Next to each entry is a small check box. If the entry is correct, click on the check box. Once an
entry has been checked off, the calculated balance is updated. For example, if it's a debit account
(like a Checking account), a debit entry (Receipt) will increase this value and a credit entry
(Disbursement) will decrease its value.
There are two actions on the page: [Save] and [Reconcile]. You can press [Save] at any time to
save your work so far. The entries you have checked off will be marked as "partly reconciled" in
the system, so that the next time you start, they will already be checked off.
Once the calculated balance and the user input ending balance agree, the [Reconcile] button
comes to life. Click on it, and the system will mark the checked off entries as reconciled and
record the ending balance and as of date in a new reconciliation entry.

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 5 of 9

FINANCIALS: GENERAL OVERVIEW


There are three other buttons for convenience: [Refresh], [Check All] and [Uncheck All]. The
refresh button will recalculate the balances and also force the [Reconcile] button to activate if the
balances are correct. The other two will uncheck and check all entries and recalculate the
balance.
Upon pressing [Reconcile], the GL Account will be reconciled for all checked transaction entries.
Then, you will be taken to a listing of all reconciliations for that GL account, which will incude the
one just completed. This listing provides an overview of the ending balances, dates and IDs for
each reconciliation. Clicking on a reconciliation ID will take you to a listing of every transaction
entry and reconciled amount that was part of that reconciliation.
Closing an accounting period
After all the accounting transactions for a period (year, quarter, month, etc.) have been posted
and verified, the accounting period should be closed. This means that the following things should
happen:

1.

A net income should be calculated since the previous closed period. This net income
should be DEBIT to the Profit and Loss account and CREDIT to the Retained Earnings account,
unless this net income has already been posted to this time period. (This could happen if we're
closing out a period with sub-periods which have already been closed, such as a quarter with
months that have already been closed.)
2.
All accounts should have an ending balance calculated and recorded for this time period.
The ending balance of ASSET, LIABILITY, and EQUITY accounts should be carried forward from
the previous period and added to their net activity during the period. The ending balance of other
accounts is just their net activity during the period.
3.

The time period should be marked closed.

When closing accounting periods, all accounting periods which end on a particular date must be
closed.
After closing out time periods, the posted balance of the REVENUE, INCOME, and EXPENSE
accounts should be zeroed out.
To close time periods, go to the [Financials] > [Configurations] > [Time Periods] screen. There
should be a menu on the bottom for closing out time periods. Only the earliest time period
available for closing is shown. Selecting this will close out all time periods ending on this date.
Integrating with External Accounting Systems
Integration is done at the General Ledger to General Ledger level, where AcctgTransEntries are
exported from opentaps to an outside accounting system in its chosen format. With the right
configuration, any export format could be supported. The following details are for QuickBooks, a
popular small business accounting system by Intuit.
To configure integration:

1.

Create an EntitySync entity which synchs the AcctgTrans entity alone. Point it to the
exportGLToFile service.
2.
Create a template which translates AcctgTrans and a list of acctgTransEntries to a format
acceptable to the outside accounting system, such as QBXML.
3.
Create a config/GLExport.properties file which has a property "file.name" for the name file
to write the exported GL transactions; a "template.name" property for the name of the template

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 6 of 9

FINANCIALS: GENERAL OVERVIEW


created in (2), and a list of "glAccountId." plus actual glAccountId from OFBiz which map into the
GL account Id of the external accounting system.
For an example, see the files data/GLExport.xml for an example of setting an EntitySync entity
and a template for writing to the QBXML for Quickbooks and the file config/GLExport.properties
which has some sample mappings of OFBiz accounts to sample Quickbooks GL accounts.
For Quickbooks, the template is set up to use the ListIDs rather than the names of the accounts.
You can obtain an XML file of all your accounts' names and ListIDs from Quickbooks using the
following snippet of QBXML:
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<AccountQueryRq>
</AccountQueryRq>
</QBXMLMsgsRq>
</QBXML>
In addition, Quickbooks requires certain transactions to have a party (the <EntityRef> tag in
QBXML.) It seems this is the case for Accounts Receivables and Accounts Payables transactions.
This can be handled by configuring party.<external gl account number> to the Quickbooks party
names for customers and vendors.
Finally, another quirk of Quickbooks: debit lines must come be before credit lines.
Reports
Reports can be found under [Financials] > [Receivables] for AR reports, [Payables] for AP reports,
and [Reports] for general financial and inventory valuation reports. When running a report, you
can either enter an as of date or select from a time period. If there are from and thru time periods
available, reports are run from the beginning of the from time period thru the end of the thru
time period. Thus, if you select Quarter 1 (2006/01/01 2006/03/31) thru Quarter 3 (2006/07/01
2006/09/30), your report will be run from 2006/01/01 thru 2006/09/30.
Trial Balance and Transaction Summary Reports
Trial balance shows the posted balances to all the G/L accounts at the time the report is run.
Transaction summary shows sum of transaction entries during the specified time periods and can
include posted and non-posted transactions. This report can be used either to validate the trial
balance report, to generate past trial balances (by using an earlier from/thru date), or to see how
non-posted transactions could affect the trial balance.
Sales, Inventory, and Profitability Report
The sales, inventory, and profitability is designed to help you manage your products by
calculating a profitability ratio based on the profitability and turnover of the products sold during
a period of time. The report shows the following:

Total Sales amount,


Cost Of Goods sold,
Net Profit (Sales COGS),
Inventory at beginning and end of period,
Average inventory value (average of beginning and end inventory),
Inventory turnover (COGS / average inventory),
Annualized inventory turnover (inventory turnover / days in time period *

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 7 of 9

FINANCIALS: GENERAL OVERVIEW

365),
Profitability ratio ((1 - COGS/Sales) * annualized inventory turnover))

Returns are factored into the calculation.


To work properly, the chart of accounts must be set up with the sales and returns
accounts being under the GlAccountClass REVENUE, inventory under
INVENTORY_ASSET, and Cost of Goods Sold being under COGS_EXPENSE.
This ratio is the first two terms of the famous Du Pont Return On Equity formula. It is
helpful in identifying products which either have high turnover or high profitability. It
does not, however, factor in processing and storage costs. You should also not rely
on the results of this report over short periods of time or for highly seasonal products.

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 8 of 9

FINANCIALS: GENERAL OVERVIEW


APPENDIX. Sample Credit Card Settlement Process
This is meant as an example of setting up a credit card settlement process:
1.
Set up separate GL accounts under Accounts Receivables for Visa/Master Card,
American Express, and Discover Pending Settlements.
2.

Associate each of these GL accounts with the Credit Card type.

3.
Set up your bank account as a GL account and configure it as the Bank Settlement
account for your organization.
4.
Daily, print from your payment gateway a report showing all the settled credit card
transactions and the sums by credit card type.
5.
Daily, create a bank settlement transaction for each credit card type from the Receivables
> Settlements screen.
6.
Daily, use the Reconcile feature from Transactions to reconcile your credit card pending
settlements GL accounts. Your bank settlement transaction entry should balance out against all
the pending settlements, leaving a balance of zero after each days settlement.

7.

Periodically, reconcile your bank settlement (ie, cash) account against statements from
your bank.

2006 Open Source Strategies, Inc. All Rights Reserved.


Page 9 of 9

You might also like