It was a bit of a slog but we recently finished our implementation/conversion to Infor’s Cloudsuite Industrial (aka CSI, aka Syteline). Our legacy products were JDE, Mas90 (aka Sage 100 ERP), and JobBOSS. Before I get into some of the nitty-gritty I wanted use this post to go over our evaluation process.
First, we arrived at the decision to implement a new package for a variety of reasons:
- Our implementation of JDE was running on server software which would soon be completely unsupported, making it difficult for us to secure it and have the package still be usable. It was also prohibitively expensive to upgrade for a company of our size.
- We had grown through acquisition so now there were a couple different packages to manage.
- We’re an audited company and the accounting functions within the JobBOSS package made an already tedious process more painful that it should be.
- In some ways we had outgrown JobBOSS. In particular the scheduling functionality was quite inadequate with what we were trying to accomplish
We started, of course, by evaluating several different packages. It’s interesting and disappointing that these packages all have an easily deployed Demo environment, but none of them will let you touch the package until you purchase it. In lieu of first hand usage we were left with working from a spreadsheet with our criteria on it with various ratings. If a package didn’t meet some criteria, like tracking machine time, it was a deal breaker, while other items, like the ability to track incentive pay, were preferred but not enough by themselves to rule out a package.
As an aside, while preparing for this process I went through various articles on the Internet and some of them said that such checklists aren’t really a requirement since any ERP can be modified to do what you want them to do. This is obviously consultant talk and, more or less, a lie. For instance, some systems didn’t support actual costing, and what would be the fix for that? Rewriting nearly the entire ERP package?
Anyway, this is where the lack of a demo came back to bite some of the contenders since we ended up favoring a package we at least had some first hand knowledge of (having previously owned old plants that used an ancient version of Syteline). All the ERP salesmen were great at running the “executive demo”, but anything remotely specific required a call with a consultant (while aggravating in some ways, at least the team that was selling Syteline was more prompt at doing this than anyone else). Lastly, Syteline was the only package that checked all of our “critical” tasks and most of our important ones.
For the implementation itself we relied on the business skills of the great people at KJC Consulting, but for menial technical work we did a lot of that in house. Although we tried working with an earlier build of version 9 CSI, the later 9.1 version that we went live on was much more user friendly in terms of deployment and we had good luck loading all of our data via the grid views in CSI without having to involve outside parties (there were a few minor exceptions to this, notably loading the item stockroom locations via SQL saved a bunch of time for the physical inventory data load).
Although loading the data is fairly straightforward, getting it out of the legacy systems in a format that CSI could digest was quite a bit more work. For this I relied heavily on LINQ and C# to extract and format the data out of JobBOSS (and the notes from JDE; JDE was close enough in formatting that we were able to use spreadsheets to bring over a lot of the data). I dreamed of cleaning up this code to make it more general purpose, but alas, it is a royal mess, full of workarounds, one-offs (huge pieces of the operation line export had to be dumped and rewritten to the needs of the specific plants), and of course known bugs.
Some of it might be helpful though, so over the coming weeks I am planning to put some code snippets up in case anyone finds themselves in the same spot that I was, just on the off chance that it might help.