BLOG

NEXT STEPS

Posts Tagged ‘OFBiz Ecommerce’

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.

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.

E-Commerce and Digital Media Delivery: Interpreting the Market Signals of Piracy

Monday, August 16th, 2010

enterprise-ecommerce-piracy

August 16,2010

Since the early days of Napster’s popularity and subsequent demise as a piracy medium, we have been treated to the public spectacle of the awkward “cat and mouse” battle between owners of intellectual property and the “pirates” who live to steal it. It seems that with each new advance in technology for content delivery and file sharing, a new wave of legal efforts and public relations campaigns arise to counter its use as a method of unauthorized sharing of media. And then another previously unapologetic heavy metal thrasher first insists that we eff the man, then complains about digital piracy, and finally pirates his own music.

In some cases, it is this very battle that seems to be driving innovation in methods of digital content transfer and delivery. The protective mechanisms of legal enforcement and civil liability, at least in theory, offer a safety net to the media industry, which would otherwise likely be more actively involved in driving these innovations in content delivery themselves. Potential consumers regularly face a choice between what is to them an inefficient, old-school method of obtaining their digital content (and the high price point involved therewith), or some new and innovative, highly efficient, yet criminal alternative. For every consumer who takes the step of pirating the content, furthermore, there are likely several with similar desires who simply do the most honorable thing and choose not to buy the content or illicitly download it.

In other words, not every digital content pirate is a black hat hacker looking for the thrill of putting one over on the big media industry, or a criminal at heart who simply wants to get a product without paying. Many are simply acting on a desire to obtain the content through a more efficient medium that is not offered legitimately; and indications are that many of these people would be willing to pay for the content, delivered efficiently, if they were able to do so.

In other cases, there is an unwillingness to pay the prices demanded but not a general unwillingness to pay for content. Digital content delivery affords manufactures significant savings in production costs, and yet even some of the most innovative channels for content purchase and delivery often price the digitally-delivered product the same as an off-the-shelf retail packaged copy. One striking example of this is IGN’s Direct2Drive service for computer games. To add to the problem, these services are often still slower methods of content delivery than a highly-populated, free pirate torrent download through BitTorrent.

Jerry Kirkpatrick, professor of international business and marketing at Cal State Polytechnic has illustrated this in his article, The Market Function of Piracy

“Message to the innovative marketer? Either drop the price of the new product or produce a cheaper version — or be the first to exploit a new technology, something the movie and recording industries chose not to do. Many, including these two industries, would rather sue than practice good marketing.”

Another striking illustration of this is piracy of television series. For many consumers, the desire to download the pirated media is driven primarily by a desire to view the content in the soonest format available because it is an episodic series that they are actively following. It is not at all an indication of unwillingness to use a legitimate channel, were it available and even modestly priced, instead of piracy. (A la carte cable channels on demand, anyone?) Often ill-timed release dates and regional conflicts delays delivery through Itunes or other legitimate channels and fuels this demand.

While these considerations may or may not justify the willful violation of a copyright (read: justify? they do not), or the consequent deprivation of monetary benefit to the creator of digital content (read: innovate or die), downloads of pirated products are a very real indicator of market demand. Consumers are indicating a demand either for a lower price point or a better method of content delivery, both of which are often only available through digital piracy. Manufacturers and marketers, as well as enterprise e-commerce professionals working on new strategies and business models would be well-advised to heed these market signals… as savvy ones traditionally have.

Speaking of savvy, it is only fitting to end with a mention of Radiohead’s 2007 album In Rainbows. They offered the album via their website as a pay-what-you-like download, and the album subsequently made them more money online than all of their previous albums combined. Wired featured a great interview of Thom Yorke by David Byrne at the end of 2007 discussing the topic. Yet it should come as no surprise to anyone interested in the digital piracy space that even the In Rainbows download story is not as simple today as it may have appeared in 2007. The awkward battle continues.

Mike Bates is CEO at HotWax Media and will join other HotWax Media employees and advisers in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.
Mike Bates - OFBiz Expert

OFBiz Tutorial:Use Dependent Selects to Manage Country-State Select Boxes

Wednesday, July 14th, 2010

Javascript components for managing Dependent Selects is starting to find use in ecommerce applications we are developing. It all started with need for updating contents of State field, on change of Country in postal address forms.

More then a year ago we started using Ajax for updating State select box options on change of Country select box value. It was a step forward but I wasn’t satisfied. Recently I had time to build a Dependent Select javascript component that takes the process of managing dependent selects boxes to the next level. Please read my blog post, OFBiz Tutorial – Dependent Selects for Prototype, to know more about it. If you are wondering about a scenario from real world, Here you go.

Below is the piece of code from the Freemarker template for the Checkout page in OFBiz ecommerce application.  It renders Country and State select boxes with their options.

?View Code LANGUAGE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div>
      <label for="shipToCountryGeoId">Country</label>
<select id="shipToCountryGeoId" class="required select dependentSelectMaster" title="shipToCountry" name="shipToCountryGeoId">
        <option title="${country.geoId}" value="${country.geoId}">${country.get("geoName")?default(country.geoId)}</option>
        <!--#list-->
      </select></div>
<div id="shipToStates">
      <label for="shipToStateProvinceGeoId">State</label>
<select id="shipToStateProvinceGeoId" class="required shipToCountry" name="shipToStateProvinceGeoId">
        <option class="${country.geoId}" title="${stateAssoc.geoId}" value="${stateAssoc.geoId}">&lt;#if shippingAddress.stateProvinceGeoId?has_content &amp;&amp; shippingAddress.stateProvinceGeoId?default("") == stateAssoc.geoId&gt; SELECTED <!--#if-->&gt;${stateAssoc.geoName?default(stateAssoc.geoId)}</option>
            <!--#list-->
          <!--#if-->
        <!--#list-->
      </select></div>

Following Javascript code will unobtrusively manage the relationship between Country select box (master) and State select box (slave),

?View Code LANGUAGE
1
2
3
$('checkoutPanel').select('.dependentSelectMaster').reverse().each( function (elt) {
  new Dependent( $$( '.'+elt.title ).first() , elt );
})

Where ‘checkoutPanel’ is Id of wrapper div that encloses checkout html form. Apply ‘dependentSelectMaster’ class to select boxes that have dependent slave elements, making them the master. Slave select box is related to its master using title and class attribute of elements, A select box is slave if it has a class applied to it that is equal to title of master select box.

The javascript code snippet traverses DOM tree looking for master select boxes. Using title attribute of master select it finds all the slaves and creates Dependent select relationship between them. Its all clean and simple.

Needless to say, you’ll need to include Prototype.js and DependentSelect.js in your webpage. I hope you will find this short OFBiz tutorial useful.

- 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.

Pricing Enterprise E-commerce Services

Tuesday, July 6th, 2010

Enterprise-e-Commerce

The enterprise e-commerce space is broadly varied, and the boundaries constantly shifting. Features and capabilities only available to huge players just 10 years ago are now more affordable and available to SMBs around the world.

Sometimes just using the term ‘enterprise e-commerce,’ however, can be difficult or misleading. Is enterprise e-commerce the right term to use for a company with 10,000 SKUs, doing a few million dollars a year in online sales? In the event that they manage their suppliers, inventory, warehouse, and fulfillment using an integrated system, for example, I would say yes — this counts as ‘enterprise e-commerce.’ Although clearly no Amazon or Zappos, these companies and their systems take it far beyond the simple eBay auction or basic storefront.

At HotWax Media, we provide enterprise e-commerce consulting services. Our core services are based around Apache OFBiz, but we regularly find ourselves integrating with 3rd party systems like NetSuite, Endicia, and many others. One day it could be SAP with multiple users, and the next day it could be QuickBooks piloted by the business owner herself. The very nature of an enterprise e-commerce system suggests that the consulting services can be quite different from one client to the next, and we have certainly found this to be true. We can find ourselves building systems that are similar in fundamental intent for companies whose revenues are separated by two orders of magnitude.

So the question comes up, what is the right way to go about pricing these services? Constructive Cost Model? (http://en.wikipedia.org/wiki/COCOMO) Probably not. Simple menu of services with some attention to psychology? (http://bit.ly/NLo3V) That’s better because it is more easily understood by the client, but it is not always easy to do on our end.

In fact, when doing unique service projects, you might say that with a fixed price, someone always loses. (http://bit.ly/9E0bbP) Either the vendor pads the cost to cover any surprises, and he wins, or the vendor fails to anticipate (and build in money to cover) the surprises, and he loses. The only thing for certain is that those surprises will come up, and someone will have to pay for them.

The next option is straight hourly work. This should be great for the vendor, but can lead to problems of its own in terms of project and cost management. When vendors are working on a straight hourly arrangement, they have less incentive to plan. While the idea of paying the vendor for his time is fair and honest, hourly projects (that lack planning) can end up costing more than the customer originally planned, and the projects can look expensive in hindsight. When the project is complete, lacking adequate planning, the tendency is to look back and say “All they wanted was X and it cost them Y!?” The problem is that the curvy, flexible path made possible by the hourly arrangement is overlooked in that simple analysis. By the way, this happens all the time with contractors, attorneys, and everyone else who offers services for an hourly rate; it’s not just software developers.

So this brings me to my method of choice for pricing projects: fixed team project planning and pricing. This approach can allow for the best of both worlds. In practice this ends up looking a lot like phased pricing, except that the cost does not vary month to month (except by mutual agreement). Rather, the dedicated team comes at a predictable expense and works off of a well formed project plan. (The creation of the plan is paid work as well, and can be more or less detailed depending on the size of the project and the client’s preference.) Then, the flexibility that real life requires comes in the form of more or less work being completed in each month (or phase).

So we can say, “We have a list of 10 items. We can be very confident that we will complete 5 of them, somewhat confident that we will complete 7 of them, and only slightly confident that we will complete all 10 of them.” At the end of each month, we reassess our plan and make adjustments based team velocity and client priority, leveraging the things we have learned while working on the implementation.

In conclusion: we do a lot of deals each year, and our approach to pricing varies a bit job to job. But whenever possible, we like this fixed team approach. It gives the client and provider both a fair deal, and encourages all parties to plan responsibly. We encourage you to try it out; if you would like us to help you with your enterprise e-commerce project using our fixed team approach, give us a call today!

Mike Bates is CEO at HotWax Media and will join other HotWax Media employees and advisors in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.
Mike Bates - OFBiz Expert