BLOG

NEXT STEPS

Posts Tagged ‘ofbiz accounting’

OfBiz Invoice Processing Workflow Explained

Monday, July 18th, 2011

OfBiz-Invoice-Accounting

In this issue we’ll discuss Invoice statuses and the Invoice processing workflow supported in the Apache Ofbiz Accounting application. Like other business documents/objects in Ofbiz, Invoices are an important part of the broader Ofbiz system, and changes to its status have direct impact on General Ledger (GL), billing accounts, payments and other accounting functions. Of all statuses, the ‘Ready’ and ‘Paid’ status are unique in that they trigger GL transactions.

As you read this article please keep one very important thing in mind about Ofbiz, it’s designed and built to be fully customizable. Like most other workflows in Ofbiz, OOTB workflow for Invoice processing is very flexible and should be easy to use for most enterprises. If your business uses different statuses (and processing workflow), don’t worry, customizing workflow is very easy.

Now coming back to the Invoice status.

In-Processes: When an Invoice is created it’s always in ‘In-Process’ status. A user can add/edit invoice items and update other invoice attributes like billing party or due date, without impacting any other part of system. This is comparable to a ‘Work-In-Progress’ or ‘Draft’ status you might have used in other workflows.

Approved: Move an Invoice to ‘Approved’ status when you are done preparing (discuss and review), and the Invoice is ready to be finalized. Once in ‘Approved’ status an Invoice cannot be edited. In the event you need to make any updates to an Invoice, it needs to be moved to the ‘In-Processes’ status.

Sent: There’s little flexibility after an invoice is sent. An Invoice can be moved to ‘Sent’ status from ‘In-Processes’ or ‘Approved’ status. Given the flexibility, use of this status in Invoice processing workflow is open for interpretation. It can be used to support the “Sent for Approval” or “Sent to Customer” step in workflow. An Invoice in ‘In-Process’ status can be moved to “Sent” status to support the “Sent for Approval” step in workflow. Alternatively, we can Approve the invoice and then move it to ‘Sent’ status, marking it as “Sent to Customer.”

Ready: An Approved invoice can be moved to Ready status and is a very important step in workflow. Moving an Invoice into Ready status triggers the process of posting the Invoice to GL. What happens on the GL side of the system is governed by Organizations Accounting Preferences and the GL setup.

Paid: Somewhere between creating an Invoice and moving it into ready status, an organization may receive payment (for AR invoices) or send payment (for AP invoices). Once Payment is received (or sent) and applied to the Invoice, and the total amount of payment applications covers the Invoice grand total, the Invoice can then to be moved into Paid status. Moving the Invoice to Paid status triggers GL transactions. A valid status change after the Ready status is ‘Paid’, ‘Write Off’ or ‘Cancel’.

Write Off: If an accounting manager sets the invoice status as ‘Write Off’, then the Invoice becomes non-collectible in the system.

Canceled: An Invoice in ‘Ready’ status can canceled. Any Invoice cancellation event triggers the reversal of the related GL transaction entries and the Payment application, though the Invoice will remain in the system as non-editable.

- Anil

Anil Patel is Chief Development Officer at HotWax Media as well as an OFBiz project committer, PMC member, and active community contributor. He also studies karate! Anil will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

OFBiz Tutorial: Charts of Accounts

Wednesday, February 9th, 2011

Ofbiz-tutorial-accounting-charts

A sometime misunderstood concept in OFBiz accounting is the account class of an account; this OFBiz Tutorial will provide quick notes to avoid errors.

During the setup of a Chart of Accounts in OFBiz, it is important to assign the proper account class to each of the accounts; in fact the account class determines:

1) if the account carries a debit or credit balance
2) the financial report in which the account is included.

The complete list of classes that you can assign to an account is described by the account class tree in OFBiz:

DEBIT

|___> NON_POSTING
|
|___> CONTRA_REVENUE
|
|___> ASSET
|         |_________> LONGTERM_ASSET
|         |
|         |_________> CURRENT_ASSET
|                                 |____> CASH_EQUIVALENT
|                                 |
|                                 |____> INVENTORY_ASSET
|
|___> DISTRIBUTION
|               |___> RETURN_OF_CAPITAL
|               |
|               |___> DIVIDEND
|
|___> EXPENSE
|_________> CASH_EXPENSE
|                       |____> INTEREST_EXPENSE
|                       |
|                       |____> COGS_EXPENSE
|                       |
|                       |____> SGA_EXPENSE
|
|_________> NON_CASH_EXPENSE
|____> DEPRECIATION
|
|____> AMORTIZATION
|
|____> INVENTORY_ADJUST

CREDIT

|___> CONTRA_ASSET
|              |___> ACCUM_DEPRECIATION
|              |
|              |___> ACCUM_AMORTIZATION
|
|___> LIABILITY
|         |_________> CURRENT_LIABILITY
|         |
|         |_________> LONGTERM_LIABILITY
|
|___> EQUITY
|         |_________> OWNERS_EQUITY
|         |
|         |_________> RETAINED_EARNINGS
|
|___> REVENUE
|
|___> INCOME
|________> CASH_INCOME
|
|________> NON_CASH_INCOME

RESOURCE

Asset (longterm, current, cash, inventory), expense (cash, interest, cost of goods sold, sales general administrative, non cash, depreciation, amortization, inventory adjustment) and distribution (dividend, return of capital) accounts each follow the same set of debit/credit rules. Debits increase these accounts and credits decrease these accounts. All these accounts carry a debit balance except contra revenue.

Liability (current, longterm), revenue and equity (retained earnings, owners equity) accounts follow opposite rules: credits increase liabilities, revenues, and equity, while debits decrease these accounts. All these accounts carry a credit balance except contra asset.

All the accounts belonging to the following classes are included in the Balance Sheet:

* all asset and contra asset classes
* all liability classes
* all equity classes

All the accounts belonging to the following classes are included in the Income Statement:

* all revenue and contra revenue classes
* all expense classes
* all income classes

All the accounts belonging to the cash equivalent class are included in the Cash Flow Statement.

- Jacopo

Jacopo Cappellato is VP of Technology at HotWax Media and has been involved with the OFBiz project since 2003. He is an OFBiz Project Committer and a member of both the OFBiz Project Management Committee and the Apache Software Foundation.
Jacopo Cappellato - OFBiz Developer - OFBiz Expert

OFBiz Tutorial: Adding GlAccount to Chart of Accounts

Monday, November 22nd, 2010

Today we will be diving into how one can add GLAccount to Chart of Accounts (CoA) in OFBiz using UI tools. Before you try the steps listed in this OFBiz tutorial, make sure you have a user account with Account Manager role assigned to it.

Go to the “Accounting Manager” application and click on the “Global GL Settings ” menu and then select “Chart of Accounts”, Existing GLAccount list will be shown.

A user can add a New GLAccount to CoA by clicking on the Navigate Accounts tab. The screen shows CoA in a tree structure.

The bottom part of the screen has a form for adding and editing GLAccount.

Fill in the required information for the new GLAccount, click on the “Add” button to add the GLAccount to your CoA. The new GlAccount will be added in Chart of Accounts, you can view it in the CoA tree.

Moving towards the Next Step which is editing GLAccount, Select GLAccount from CoA tree, GLAccount will be available for editing in edit form below the tree. Make necessary changes and save.

Stay tuned with the OFBiz tutorial to get more examples for your own Business Domain.

-Anil.

Anil Patel is Chief Development Officer at HotWax Media as well as an OFBiz project committer, PMC member, and active community contributor. He also studies karate! Anil will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

Ofbiz Accounting: Setup Chart Of Accounts

Wednesday, November 10th, 2010

In this OFBiz tutorial I will walk through the process of setting up OFBiz accounting. It starts with building your Chart of Accounts (CoA). As you might already know, OFBiz comes with sample CoA. In case you find it overwhelming, I have listed below a simpler version of a CoA that will get you started.

?View Code LANGUAGE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<entity-engine-xml> 
<GlAccount glAccountId="1000" accountName="Cash in Bank and on Hand" accountCode="Cash in Bank and on Hand" glAccountClassId="CASH_EQUIVALENT" glAccountTypeId="CURRENT_ASSET" postedBalance="0.0"/> 
<GlAccount glAccountId="1200" accountName="Accounts Receivable" accountCode="Accounts Receivable" glAccountClassId="CURRENT_ASSET" glAccountTypeId="ACCOUNTS_RECEIVABLE" postedBalance="0.0"/> 
<GlAccount glAccountId="1210" accountName="AR Unapplied Payments" accountCode="AR Unapplied Payments" glAccountClassId="CURRENT_ASSET" glAccountTypeId="ACCREC_UNAPPLIED" postedBalance="0.0"/> 
<GlAccount glAccountId="1400" accountName="Inventory" accountCode="Inventory" glAccountClassId="INVENTORY_ASSET" glAccountTypeId="INVENTORY_ACCOUNT" postedBalance="0.0"/> <GlAccount glAccountId="1700" accountName="Accumulated Depreciation" accountCode="Accumulated Depreciation" glAccountClassId="ACCUM_DEPRECIATION" glAccountTypeId="FIXED_ASSET" postedBalance="0.0"/>
<GlAccount glAccountId="2000" accountName="Accounts Payable" accountCode="Accounts Payable" glAccountClassId="CURRENT_LIABILITY" glAccountTypeId="ACCOUNTS_PAYABLE" postedBalance="0.0"/> 
<GlAccount glAccountId="2001" accountName="AP Unapplied Payments" accountCode="AP Unapplied Payments" glAccountClassId="CURRENT_LIABILITY" glAccountTypeId="ACCPAYABLE_UNAPPLIED" postedBalance="0.0"/> <GlAccount glAccountId="2002" accountName="Uninvoiced Item Receipts" accountCode="Uninvoiced Item Receipts" glAccountClassId="CURRENT_LIABILITY" glAccountTypeId="CURRENT_LIABILITY" postedBalance="0.0"/> 
<GlAccount glAccountId="2010" accountName="Sales Tax Payable" accountCode="Sales Tax Payable" glAccountClassId="CURRENT_LIABILITY" glAccountTypeId="CURRENT_LIABILITY" postedBalance="0.0"/> 
<GlAccount glAccountId="3000" accountName="Owners Equity And Net Worth" accountCode="Owners Equity And Net Worth" glAccountClassId="EQUITY" glAccountTypeId="" postedBalance="0.0"/> <GlAccount glAccountId="4600" accountName="Merchandise Sales" accountCode="Merchandise Sales" glAccountClassId="REVENUE" glAccountTypeId="" postedBalance="0.0"/> 
<GlAccount glAccountId="4830" accountName="Sale Discounts" accountCode="Sale Discounts" glAccountClassId="CONTRA_REVENUE" glAccountTypeId="" postedBalance="0.0"/> 
<GlAccount glAccountId="4840" accountName="Sales returns and Allowances" accountCode="Sales returns and Allowances" glAccountClassId="CONTRA_REVENUE" glAccountTypeId="" postedBalance="0.0"/> 
<GlAccount glAccountId="5100" accountName="Merchandise Cost" accountCode="Merchandise Cost" glAccountClassId="COGS_EXPENSE" postedBalance="0.0"/> 
<GlAccount glAccountId="5150" accountName="Shipping Cost" accountCode="Shipping Cost" glAccountClassId="COGS_EXPENSE" postedBalance="0.0"/> 
<GlAccount glAccountId="5400" accountName="Depreciation Expense" accountCode="Depreciation Expense" glAccountClassId="DEPRECIATION" glAccountTypeId="" postedBalance="0.0"/> 
<GlAccount glAccountId="7300" accountName="Office Expense" accountCode="Office Expense" glAccountClassId="SGA_EXPENSE" glAccountTypeId="" postedBalance="0.0"/> 
<GlAccount glAccountId="7340" accountName="Mesc Expense" accountCode="Telephone Expense" glAccountClassId="SGA_EXPENSE" glAccountTypeId="" postedBalance="0.0"/> 
</entity-engine-xml>

If you are planning to accept credit cards from your customers then you should consider adding the following GL Accounts:

?View Code LANGUAGE
1
2
3
4
5
6
7
8
<entity-engine-xml> 
<GlAccount glAccountId="1220" accountName="AR Merchant Account Visa M/C" parentGlAccountId="1200" accountCode="AR Merchant Account Visa M/C" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/> 
<GlAccount glAccountId="1230" accountName="AR Paypal" parentGlAccountId="1200" accountCode="AR Paypal" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/> 
<GlAccount glAccountId="1240" accountName="AR Bank Checks" parentGlAccountId="1200" accountCode="AR Bank Checks" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/> 
<GlAccount glAccountId="1250" accountName="AR Google Checkout" parentGlAccountId="1200" accountCode="AR Google Checkout" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/> 
<GlAccount glAccountId="1260" accountName="AR American Express" parentGlAccountId="1200" accountCode="AR American Express" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/>
 <GlAccount glAccountId="1270" accountName="AR Discover" parentGlAccountId="1200" accountCode="AR Discover" glAccountClassId="CURRENT_ASSET" glAccountTypeId="MRCH_STLMNT_ACCOUNT" postedBalance="0.0"/> 
</entity-engine-xml>

This simple list of GL Accounts will get you started, but you will obviously need to put together a plan with your accountant or otherwise make the final decision for yourself on the GL Accounts that are best suited for your own business. In my next post, I’ll walk you through the process of assigning GL Accounts to the business entity and thereafter how to setup GL Account defaults to enable automatic GL posting of Payments, Invoices, Inventory and related activities. Good luck.

- Anil

Anil Patel is Chief Development Officer at HotWax Media as well as an OFBiz project committer, PMC member, and active community contributor. He also studies karate! Anil will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

Accounting for OFBiz eCommerce

Friday, October 29th, 2010

OFBiz-Accounting-Application

After a long wait and a lot of hard work, I am pleased to finally be able to say that the Accounting application in Apache OFBiz is ready for prime time! By working with internal experts (including Jacopo Cappellato) along with client experts, we have recently launched an enterprise e-commerce system that is using the OFBiz Accounting application more extensively than any of the systems we have previously implemented.

It is no surprise that the mantras of entrepreneurs everywhere often center on revenue generation, and rarely on the underlying accounting thereof! Keeping accurate financial records of all business activities is, nevertheless, essential, and the OFBiz Accounting application has many features designed to help support that critical need for sound financial management.

In an effort to make the OFBiz Accounting application as easy to use as possible for a variety of businesses both small and large, Hotwax Media created additional tools allowing for user export of general ledger account transaction data in the Quickbooks IIF format, as well as the ability to receive payments in A/R batches. (There is a widely accepted perception that Quickbooks is very easy to use. I don’t necessarily agree :) This integration, nevertheless, means users can easily export data of their choice out of OFBiz Accounting and import that data into Quickbooks. We created this integration based on customer demand. I would not have guessed it, but they told us loudly and clearly that accountants love to play with numbers in Quickbooks; well, we aim to please!

Over next little bit I’ll share more information with some concrete examples that you can use for setting up your own OFBiz Accounting system.

- Anil

Anil Patel is Chief Development Officer at HotWax Media as well as an OFBiz project committer, PMC member, and active community contributor. He also studies karate! Anil will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.