Sometimes simple cloud software is too simple

We’ve been working on an inventory costing project for one of our portfolio companies these past few weeks.  

We have a custom-built ecommerce platform that manages all orders and a 3rd party logistics company that handles warehousing, inventory management and shipping.  The company manages the finances with QuickBooks (something that we’ll likely change next year).   We have one small hole in the process and that’s inventory costing.   We need to keep track of the current cost for all inventory items in order to be in compliance with solid accounting practices.   The old shipping system that the company used (which was its own nightmare) had a module that kept track of shipments and purchases and provided us with a running average product cost.   Once we moved to the 3rd party to handle warehousing and shipping, we needed to keep track of average costs ourselves.    It’s not that hard to do, but there is no sense in creating a headache for ourselves by trying to write something in MS-Excel to hold us over until we move to NetSuite next year.   With some fastgoogling the cloud came to the rescue and we found about a dozen cloud-based systems that looked like they might meet our needs.   Since we are likely moving to NetSuite in 2015, we ruled out some of the larger platforms and focused solely on the cloud-based inventory-only products.   After some simple testing, we picked one that looked reasonable.  In particular, we wanted something that allowed us to upload transactions in bulk (via flat files or spreadsheets) and download reports in a similar fashion.  The plan was to load the calculated average costs back into our data warehouse for incorporation into our financial reports.   We ran some simple tests with some smallish files about a month ago, and everything looked like it would work just fine for our end-of-month processing.

Fast forward to this morning when we started running our first product uploads.    We have about 20,000 active stock-keeping-units (SKUs) and we exported them from our online order management system out into the required “upload” spreadsheet format.   The data load timed out.   (Actually, the site itself crashed this morning, but after it came back up, it routinely timed out trying to process the file).   After about a half dozen tries we threw in the towel and contacted support (which is only available via email).   The following thread outlines our email exchange with the vendor (read it from the bottom up):

XXX replied:
Hi Jim,
I appreciate your comment. Unfortunately, our system can’t handle a file with 20,000 records all at once. I’ll be glad to upload your data for you if you want to send me your file.

Jim replied:
That is ridiculous — we have 20,000 plusskus to load.

XXX replied:
Hi Jim,
If you will send me the file you’re trying to upload, I’ll be glad to take a look at it and upload it for you. Note that the system will time out if you try to upload a large number of records all at once. We recommend breaking up your file uploads into 2,000 records at a time.

Jim wrote:
Folks — trying to upload an initial list of products — and it continually times out with the following error:
“An error occured while attempting to import this batch. (The wait operation timed out)”

The system that we selected is not very expensive — but you get what you pay for.  And that can be the problem with the smaller, SAAS, Cloud-based products.   Cheap hosting platforms and open-source software make it very easy to start up a software company with little or no up-front CAPEX.    That’s the good news.  The bad news is that many of these products are not going to be sophisticated enough to handle your requirements, and it might take you awhile to figure out when you are going to hit the wall.   In this case, it’s partly our fault, since we never tested a file with 20,000 records before.   While that might have been an monumental number of records on a PDP-11 circa 1981, it should be a drop in the bucket on the web in 2014.

What’s the moral of this story?  There are two.   First, low-end SAAS products are easy to use, but unless you test EVERYTHING they are likely to have limitations that you didn’t count on.    Second, after 30+ years in the software business, we should know better.