SME Business Software from the ground up

Thursday, December 9, 2010

As I was driving home from a client visit tonight, I had a few moments where I thought about businesses and how people expect software to work today.  As an implementer of ERP software for small and medium sized businesses, going to clients is always eye-opening and refreshing and frustrating and interesting and fun all at the same time.  The particular ERP software my company works with has been around for over 20 years, and is written in old languages, with an old-looking interface (once you get past the pretty home page).  The software is often clunky and requires lots of mouse clicks to get things done.  So, I started thinking, back the the beginning of this paragraph, of what people expect nowadays.

Frankly, people expect a lot.  With the advent and popularity of Facebook, Twitter, AJAX, Amazon, Skoreit, Tabblo, Flickr and more, we are used to simple web apps that allow us to accomplish quickly, intuitively, and simply what we want to do.  On Facebook, you see your friends info, like it, comment on it, update your status, search a vast amount of people and groups quickly, all with a minimal number of mouse clicks and without wondering where to go to do it.

So, we expect the same from other software, even though it may not always be possible.  But, people are starting to expect more and more from their applications.  It can be as simple as looking up records and taking actions, modifying reports easily and quickly, or more complex things like quickly updating a group of records or reversing a posted invoice.

I know that business/ERP software is complicated naturally.  It must be in order to accommodate the different ways companies want to do things, need to do things or have to do things.  Some items are taxable on sales, some not.  Some items are taxable on purchases, some not.  Some items are taxable but the customer is not, except when shipping to a certain address.  Of course, sales and purchase taxes are some of the most needlessly complicated options, but the point remains the same.

What people are expecting is an intuitive interface, where adding records is quick and easy, looking them up is quick and easy, and taking action on records is quick and easy.  The interface must be responsive, easy to navigate, and clean.  Related actions must be readily accessible.  For example, adding a new item should be as simple as entering an ID, description, unit of measure, type, class/group.  Pricing setup should follow quickly, and other options, such as related vendors and their pricing, sales pricing, costing, photos or long descriptions, resource planning info, and more.  All of this should be easily accessible, and easy to add.  As you can see, options abound, just for adding an item.  But all of this complexity allows for easier transaction entry, which is the core.

Something I thought about was a sales order.  Using a web-app interface, creating an order should be a snap.  Simply enter a customer, shipping info should default, tax info defaults, order date defaults, price list defaults, perhaps more.  Adding items should be like updating your status on Facebook – item number, qty, price, unit of measure, done  Heck, price and unit of measure should default.  The item is added and displayed right away, and a new item is ready to add.  This is what people expect (at least it’s what they tell me!).

Or, if you are looking up items, you could highlight what you want and click a link/button to create a new sales order, and a dialog asks for the customer to sell to.  Then everything defaults and you quickly have a new order.  Or an old order is easily copied, especially if you are looking at a list of prior orders for that customer.  More and more, it’s the little things like that people are expecting, and I don’t blame them one bit.  If you are looking at a list of old orders, you should be able to select it and click a button to copy it to a new order (or similar, like a right-click).  You should be able to customize your lookups and views of info, and easily take action on the results.  It seems like a lot of CRM software is going this way, but ERP software not so much.  Perhaps the web-bases suites like OpenERP, Netsuite, Intacct and others do much of this, but I have not seen it yet.

So, what would a system like this require?  A very modular, customizable architecture.  The software should be highly customizable, from the text on buttons to the layout of info, to adding new fields to an entity and linking to other entities (much like CRM systems!).  Workflows and auditing and notifications should be built-in.  Voiding or reversing incorrect records should be allowed and straight-forward and audited.  Notifications for everything should be available.  Record lookups should be quick, customizable, and actionable.

That’s just a sampling of what could be done, and should be done.  I’ve seem some systems work towards some of these items.  Some record lookups in xTuple allow actions to be taken easily, which is great and not found in all systems.  They also continue to work on a nice workflow (as in follow these steps) to setup items and perform transactions.

Obviously there would be a lot of work to be done in the back-end and design/logic of the system, but I don’t see why a company couldn’t do it.  I imagine it would be a newer company, not an SAP, Oracle or Microsoft, since those are all tied to legacy software.  Who knows, since I’m just thinking out loud.  But wouldn’t it be nice if ERP software was as easy to use as the newer web apps we are used to?