BLOG

NEXT STEPS

Archive for the ‘OFBiz’ Category

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.

OFBiz Tutorial: Managing Cross Sell Products in OFBiz

Wednesday, October 27th, 2010

Building off of other OFBiz catalog manager tutorials that Pranay and Vikas built earlier this year, today I will be diving into how you can manage cross sell information in OFBiz.  We’ll break this up into two separate sections: Adding Cross Sell Products and Editing Cross Sell Products once they are added.

Add Cross Sell Product(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 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 adding cross sell product associations to your products.

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 “Associations” tab.

Ofbiz Tutorial Cross Sell 5

Fill in the following details in the “Add Association” form :

    Product Id
    Product Id To
    Association Type Id (Select Association Type as ‘Complementary Or Cross Sell’)
    From Date
    Sequence Number
    Reason
    Instruction
    Quantity

Ofbiz Tutorial Cross Sell 6

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

ofbiz-tutorial-cross-sell-7a

Then you’ve got your association taken care of, and you will see it displayed on the “Associations from this Product to” section of your product management page:

Ofbiz Tutorial Cross Sell 8

If your front end supports it, you will see your cross sell items on the front end of your website in the “Recommended Products” section of your product detail or shopping cart pages.

Edit Cross Sell Product(s)

Now that you can add cross sell products to your product associations, let’s discuss how you can edit this information in OFBiz. The prerequisites are exactly the same as for adding cross sells into the system except to edit it, you need to already have created the cross sell product association :) .

Here are the steps for editing cross sell product associations:

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 “Associations” tab.
Ofbiz Tutorial Cross Sell 5

On the “Associations” page, click on the “Edit” button next to the complementary product in the “Associations from this Product to” section.

Ofbiz Tutorial Cross Sell 9

Update the following details in “Add Association” form:

    Thru Date
    Sequence Number
    Reason
    Instruction
    Quantity

Ofbiz Tutorial Cross Sell 5

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

ofbiz-tutorial-cross-sell-11a

Use the “Delete” button to delete the associated cross sell product – if necessary.

Ofbiz Tutorial Cross Sell 12

Now you’ve got your association tuned (or deleted) depending on what you needed to do in your system.  The changes will be reflected on the “Associations from this Product to” section of Associations page and will also be reflected on your front end in the “Recommended Products” section of your product detail page or shopping cart pages.

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.

Verified Agile Workflows and Processes

Monday, October 4th, 2010

October 4, 2010

verified agile workflow management system

Now that we’ve gone through the process of explaining the differences between standard Agile development methodologies and our custom workflow management system called Verified Agile, let’s dig into the different steps that we go through in order to be successful in this environment.

To kick off a project’s first iteration, we dig in on the requirements and create a number of Epics that encompass the entire set of information in contained in the requirements documentation.  If you are not familiar with an Epic it is simply a high level story used for capturing requirements that are often too complex or too large to estimate right away and will need to be detailed and broken down for estimation, planning and eventually implementation.  Once the first Epic is fully fleshed out, and the stories are defined, estimated and prioritized, we can start the process of planning and working through the stories in the next iteration.

As a side note, we do not try to get all Epics defined in one batch – that’s a bit too much like a waterfall process – it’s as iterative as the rest of the process and results in being able to put a working end to end system in front of the customer as early as possible.

As the stories are derived from the Epics and are ready for scheduling in the current iteration, we break down our stories into subtasks that can be easily assigned to different members of the team.  The Verified Agile process has the following steps once you’ve reached the scheduled story level:

    1. Analysis
    2. Acceptance Test Creation
    3. Design
    4. Development
    5. Technical Review
    6. Business Review
    7. Client Review

The steps take you through the process of understanding the story and ensuring that each and every base is covered.  Here is a bit more information on each of the subtask types:

Analysis:

This is an optional step that is there to bridge the gap that sometime exists between the story creation and the ability to build the acceptance test.  If the Epic breakdown is done very thoroughly, or the stories are of a lower complexity level, you almost never need this subtask.

Acceptance Test Creation:

The foundation of a test-driven development environment.  Here at HotWax Media, we build these before development in order to ensure that we are capture all of the nuances found in the story before we start development.

Design:

The other optional step that depends upon the complexity of the task.  Because we are focused on building enterprise application in Apache’s Open for Business, often times the description of the story and the acceptance test is all that we need to get started on development.  For more complex stories, we always perform this step to ensure that the code that is going to be written is following our best practices.

Development:

Self explanatory – where the implementation is executed.

Technical Review:

The first line of internal verification – did the implementation of this story match design in addition to our best practices?  These reviews are done by a team lead or expert reviewer which greatly increases the quality of our deliverables.

Business Review:

The second line of internal verification – does the workflow implemented match the acceptance test and business rules that were provided to us?  These review are done by a business analysts, technical project manager or account manager before it is put in front of the client.

Client Review:

The most import verification out there – does our output match the expectations of the customer?  If not, we start back at the beginning and go through all of the steps until the customer is satisfied.

Hopefully this overview of HotWax Media’s Workflows and Processes gives you insight into how we would approach your project and the steps that we put into place to ensure it’s success.  Next post I will go into more detail about how this all works in our tools and how that makes us prepared to guide your project to completion.

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.