BLOG

NEXT STEPS

Archive for the ‘Apache OFBiz’ Category

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 Tutorials: Manage Suppliers for a Product

Wednesday, January 26th, 2011

To continue on the various applications of the OFBiz Catalog Manager, today we will dive into the world of managing Manufacturers and Suppliers of specific products.

Many times there are more than one supplier for a product, so we will learn how to create a new supplier as a preferred or alternate supplier.  Once that supplier has been set up and is available in the Catalog Manger, we can then associate the product or products with the supplier.

Create Supplier(s)

Let’s first talk about prerequisite for managing this part of the catalog:

The user must at least have the role of catalog manager.  There are other roles that they can have that encompass catalog management, but they must have the ability to go here and manage this content.

The product(s) should already exist in the system.

Now that we know the requirements, we can begin creating a new supplier:
Go to “Catalog” component and click on “Products” tab.

ofbiz-tutorial-supplier-1

Fill in the search fields on “Find” Form to search existing products in system.

ofbiz-tutorial-supplier-2

Click on the “Find” button and the system will display a list of existing products based on search inputs.

ofbiz-tutorial-supplier-3
Click on “Product Id” displayed as search list on Products Page.

ofbiz-tutorial-supplier-4

Product details will be displayed on the “Edit Product” page.

Ofbiz Tutorial Supplier 5
Click on “Suppliers” tab.

ofbiz-tutorial-supplier-6

Click on “Create New Supplier” button in Add Supplier section.

ofbiz-tutorial-supplier-7

Fill in the following details in “Create New Supplier” form:
Group Name
Employees
Office Site Name
Address 1
Address 2
City
State
Zip/Postal Code
Country
Country Code
Area Code
Phone Number
Ext
Email

Ofbiz Tutorial Supplier 8
Click on the “Save” button.

ofbiz-tutorial-supplier-9

As a result of this, the supplier’s profile will get displayed on the “Product and Catalog Manager” Page.

Associate Supplier with the Product

Now that we have the supplier entered in, we can associate the supplier with the product(s).

To review, there are a few prerequisites to accomplish this:

The user must at least have the role of catalog manager.  There are other roles that they can have that encompass catalog management, but they must have the ability to go here and manage this content.

The product(s) should already exist in the system.

The Supplier(s) should already exist in the system.
If the above prerequisites have been met, we can associate the Supplier(s) to the product with the following steps:
Go to the “Catalog” component and click on the “Products” tab.

ofbiz-tutorial-supplier-1

Fill in the search fields on “Find” Form to search existing products in system.

ofbiz-tutorial-supplier-2

Click on the “Find” button and system will display the list of existing products based on search inputs.

ofbiz-tutorial-supplier-3

Click on “Product Id” displayed as search list on Products Page.

ofbiz-tutorial-supplier-4

Product details will be displayed on the “Edit Product” page.

Ofbiz Tutorial Supplier 5

Click on “Suppliers” tab.
ofbiz-tutorial-supplier-6

Fill in the following details in “Add Supplier” form:
Supplier Preferred Order
Supplier
Supplier’s Product Name
Supplier’s Prod Id
Available From Date
Expected Delivery Time in Days
Min Order Quantity
Last Price
Drop Ship (Select this check box only when supplier allows drop shipment for that particular product).

Ofbiz Tutorial Supplier 16

Click on “Add Supplier” button.
ofbiz-tutorial-supplier-17
At this point, the Added Supplier will get displayed on the Suppliers page.

Edit Supplier(s)

The last portion of managing the Supplier(s) for a product is being able to edit the Supplier details:

The prerequisites for this task are:

The user has the role of at least Catalog Manager

At least one Supplier has been associated with the product.

If these have been met, lets edit the Supplier details.
Go to “Catalog” component and click on the “Products” tab.
ofbiz-tutorial-supplier-1

Enter values in the search fields on “Find” Form to search existing products in system.
ofbiz-tutorial-supplier-2

Click on the “Find” button and the system will display the list of existing products based on search inputs.
ofbiz-tutorial-supplier-3

Click on the “Product Id” displayed as a search list on Products Page.
ofbiz-tutorial-supplier-4

Product details will be displayed on the “Edit Product” page.
Ofbiz Tutorial Supplier 5

Click on the “Suppliers” tab.
ofbiz-tutorial-supplier-6

Click on “Edit” link to edit the supplier on Supplier page.

Update existing supplier details and use the “Add Supplier” button to save the changes.
ofbiz-tutorial-supplier-17

Use the “Remove” button to remove existing suppliers.
ofbiz-tutorial-supplier-25

The expected outcome of this is that all the changes will be reflected on the “Supplier” page.

Stay in the know about OFBiz- More OFBiz tutorials to come in the not too distant future – stay tuned!

Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisers in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.

OFBiz Tutorial: Assign GlAccount to Organization

Wednesday, January 5th, 2011

Building off my last OFBiz tutorial, I will demonstrate how to Assign GlAccount to Internal Organization. Its an act of defining the Chart Of Accounts (CoA) for given internal organization. The same GlAccount can be assigned to one or more then one internal organizations. For example, the global CoA may contain 100 different GlAccounts but only 20 need to be used for your specific business. This means you need to only create assignments for GlAccounts you actively want to use.

Go to the “Accounting Manager” application and click on the “ Organization Gl Settings ” Menu.

Ofbiz-tutorial-Organization-1

List of avialable Internal Organization will be displayed. To manage Internal Organization accounting setup, click on Setup button. On the next screen select Chart of Accounts tab.

ofbiz-tutorial-Organization-2

To assign GlAccount, select GlAccount from drop down and just click on create assignment tab.

ofbiz-tutorial-Organization-3

The bottom part of screen shows all GlAccounts assigned to the internal organization.

ofbiz-tutorial-Organization-4

Stay tuned, for upcoming Ofbiz tutorials to learn how you can use open source ERP for managing your business.

- 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: Associating Product with Multiple Categories

Wednesday, December 8th, 2010

Building off of other OFBiz catalog manager tutorials that have been posted earlier, today we will look into how you can associate a product with multiple categories.  This will be broken down into two sections: adding a product into a category, and then updating the product category association.

Add Product to a Category

Let’s first talk about prerequisite for managing this part of the catalog:

The user must at least have the role of catalog manager.  There are other roles that they can have that encompass catalog management, but they must have the ability to go here and manage this content.

The data must be setup so that the product’s association type is modeled correctly in the system.  Basically what this is saying is that some association types, while they may look like they would fit in here, will not have the product show up correctly on the front end if you do not do this properly.

Now that we know that – let’s discuss associating a product with a category.

Go to the “Catalog” component and click on the “Advanced Search” Button within “Search Products”.

ofbiz-tutorial-cross-sell-1

Fill in the search values on the “Find” screen and click on the “Find” button.

Ofbiz Tutorial Cross Sell 2

A list of products will be displayed based on the search criterion.

Ofbiz Tutorial Cross Sell 3

Click on any of the products and the “Edit Product” page of the selected product will get displayed.

Ofbiz Tutorial Cross Sell 4

Click on the “Categories” tab.

categories-tab

Fill in the following details in the “Add Category for this Product” form :
category-look-up

  1. Category
    • Select “Category” from look up which contains following information :
      • Product category Type Id
      • Primary Parent Category Id
      • Category Name
      • Description
      • Show In Select
  2. From Date
  3. To Date
  4. Comments
  5. Sequence Number
  6. Quantity

category-fields

Click on the “Add” button after entering the information.

add-button

At this point the added “Category” will be displayed in “Categories” section with the following details:

  • Category
  • From Date
  • To Date
  • Comments
  • Sequence Number
  • Quantity

categories-section

Update Product Category Association

Now that you can add product to a category, let’s discuss how you can edit this information in OFBiz. The prerequisites are exactly the same as for adding product to a category except to edit it, you need to have the product associated with a category.

Here are the steps for updating the product category association:

Go to the “Catalog” component and click on the “Advanced Search” Button within “Search Products”.

ofbiz-tutorial-cross-sell-1

Fill in the search values on the “Find” screen and click on the “Find” button.

Ofbiz Tutorial Cross Sell 2

A list of the products will be displayed based on the search criterion.

Ofbiz Tutorial Cross Sell 3

Click on any of products and the “Edit Product” page of the selected product will get displayed.

Ofbiz Tutorial Cross Sell 4

Click on the “Categories” tab.
categories-tab

Following details will be displayed in “Categories” section of added category:

  • Category
  • From Date
  • To Date
  • Comments
  • Sequence Number
  • Quantity

categories-section

Update existing category details.

category-update

Click on the “Update” button to save the details.

ofbiz-tutorial-cross-sell-11a

Use the “Delete” button to delete the category association – if necessary.

delete-button

Now your updated category details will be displayed on the “Categories” section of “Category Members” page.

More OFBiz tutorials to come in the not too distant future – stay tuned!

Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisers 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.