Tuesday, November 24, 2009

SAAS is no longer the only CRM / ERP Cloud Computing Model

SAAS, software as a sevice, has been the dominant delivery model for on-demand applications for some time. It replaced the initial ASP (application service provider) model that emerged at the beginning of the decade. The vast majority of applications that we use online are delivered using this model - this blog, for example, and all of the Web 2.0 applications that we obsess over.

But a new model is emerging which takes the best of both worlds - cloud infrastructure.

So what is it? Who's using it? And why should you care?

The emergence of cloud infrastructure options is in some respects back to the future to the pre-2000 world of collocation and managed hosting. But in many ways, it is radically different. Cloud Infrastructure providers such as Amazon, and to a certain extent Zoho and Force.com to name some household names, provide access to virtualized servers (ie large server farms that function like lots of little servers) within a professionally managed hosting environments. You buy just the processing that you need. This democratizes the application hosting game.

The emergence of these virtual servers is a potential game-changer for the CRM and ERP markets. Until now, the main advantages proclaimed by SAAS market leaders were that they were always on and available anywhere with no servers or software to maintain. Building these facilities was expensive and complicated and presented a barrier to entry that even large entrants have stumbled across. Another issue with these large shared facility customers is load balancing over shared resources (ie if someone sharing your server uses a lot of processing power, your application may feel it).

Now, smaller entrants such as SugarCRM and OpenBravo ERP are offering preconfigured bundles that can be rapidly installed in Amazon's Cloud. This approach may present the best of both worlds for some customers. This is not to say that the products emerging are functionally fully competitive with NetSuite for example but in time this will start to happen. Here are the advantages and disadvantages that I see:

1. Still in the Cloud: The applications are fully web-based and are indistinguishable from their true SAAS comparators in this respect. Customers don't need any local infrastructure other than an Internet connection and a browser.

2. Less Expensive: The applications that are leading this charge often come from the OpenSource world (which will be the subject of an upcoming post) and are often dramatically less expensive to own and operate (or even free except for the Cloud platform costs). On the other hand, these applications are less mature in most cases.

3. No lock-in: It's your "virtual" server, it's your data. Migrating from one system to another is never easy but at least you can access you data directly.

4. Extensible: Many of these systems offer the ability to integrate with other cloud reporting tools securely within the server environment. For example, data for an ERP application can be stored in MySQL and be made accessible to a reporting application in the same cloud at near LAN speeds or another cloud via web services.

5. More competition: SAAS Market leaders such as have complex and expensive infrastructures to deliver their applications and have shown impressive uptime. Now, however, many small providers can enter the space without building the same level of expertise or infrastructure. It's not the same as the dedicated engineering teams that the large players have but that may not be necessary.

6. Beware the small software company: One thing you definitely get with NetSuite and SalesForce is SIZE and reliability. They aren't going away anytime soon. This is just as critical to the new companies' customers - after all, we are talking about systems that run your whole business, not the latest photo site.

So, my overall take. SAAS is becoming less a category of software than a delivery model for web-based software. The emergence of cheap cloud infrastructure will create new opportunities, new business models and ultimately more choice.

Thursday, November 19, 2009

Managing Regional Web Shipping Methods in NetSuite

Many NetSuite customers ship to a variety of different regions and countries that require different shipping policies. The tools in NetSuite to manage these are quite limited but can do extraordinary things. This is the first in a series of posts about managing shipping methods for NetSuite ecommerce stores. The focus today is regionalizion.

Here is the most common scenario: You want to offer one set of shipping methods in the mainland US. You need another set for Canada to reflect increased costs and manage customer expectations crossing the border. A third set for far flung places such as Alaska, Puerto Rico and Hawaii. And a fourth set for the rest of the world. A more complex version of this divides the US up into zones by state.

In release 2009.2, NetSuite introduced the ability to restrict a shipping method by country. So you can have one set for Canada and another for the US and a third for the rest of the world. To do this go to the shipping item (Lists>Accounting>Shipping Items in Admin or Full Access) and edit the Shipping and Handling Rules to either include or exclude the desired countries. This is OK as far as it goes, but you can still end up shipping ground to Hawaii.

To take this to the next level, you need to add some smarts to your checkout. To do this, you need to create an index of your shipping methods and an index of shipping zones by state, province or territory. A script is then used to detect which state the customer is shipping to and only show the correct methods. If the user has not selected an appropriate method, the script will not allow the order to submit and will display an error.

The script must also detect when there is no pre-calculate applicable method (eg shipping a piano to Australia) and present a default RFQ method advising the customer that the shipping needs to be quoted and their credit card will not be charged until they approve the quote.

If desired, you can have multiple zone matrixes driven by additional factors (eg - if an item on the order needs to go by freight, or a method only applies if you are paying by credit card)

Examples of sites in which I have done this include WoodlandDirect and NovaNaturalToys

Next up: Rush orders, upcharges, location-specific quantities and all sorts of other funky things you can do with or to a NetSuite checkout.

Tuesday, November 17, 2009

Managing Your NetSuite Account To Minimize Data Storage Overage Charges

NetSuite has started charging clients for excess data storage at a list rate of $1500/yr/GB after 10GB. We have seen the first renewals under this policy. This pricing has been in place for a long time but was not enforced by NetSuite as far as I am aware. As far as I know, this is NOT being enforced mid-license.

This can come as quite a shock for customers, particularly ecommerce customers, who have lots of transactional data even though NetSuite has specified the 10GB limit on all quotes for a number of years.

So the questions you should ask are:

1. Does this apply to me?
2. What can I do about it?

Does this apply to you?

It is simple to check your current usage within NetSuite by going to Setup>Company>Billing Information. You will see two lines showing your file cabinet size and your total data storage. However, to get the "true" number drill down into the billing information on the "Component Usage" subtab and sort by "Cumulative Quantity" in descending order. The top number should be Total Data Storage - if it's not, you are almost certainly over 10GB.

Unfortunately, there is no breakdown of what makes up this number. However, it is a reasonable assumption that it is predominantly transactional data.

What can you do about it?

There are a number of things you can do:

1. Ensure that your database is purged of all unused customizations - particularly column fields on transaction records. You have to be careful here to use best practices to avoid deleting valuable data.

2. Export and delete old non-transactional data (files, messages, activities, notes, inactive customers, leads etc.) - this can be done in theory without scripting put practically will require scripting. There are also some best practices that can be followed to minimize file storage use in the future.

3. Export and Delete Old Non-posting transactions (Opportunities, Estimates, Sales Orders). This requires scripting but should be relatively safe.

4. Export and Delete Old Posting Transactions - this is likely to be the lion's share of the data and will have to be very carefully performed in order to avoid violating the integrity of the system. As far as I know there is no commercially available tool for doing this, which I intend to rectify.

I am developing a working group of clients interested in this problem to share the cost of developing and testing these solutions. Let me know if you are interested. In the meantime, here's hoping that NetSuite has an archiving solution on the way.