

How to Build a Custom Web-Based ERP - Case Study
Overview |
Upgrade and maintenance of custom ERP system |
Client |
Atlantic Coast Brands, leading American cosmetics company, Inc. 500 company |
Technologies used |
PHP, Zend framework, jQuery, MySQL |
Challenge
Atlantic Coast Brands contacted Greenice to improve their custom ERP system that was unstable and unable to handle the company's increasing demands. New affiliate programs were also placing a strain on the work. A full system upgrade was needed to make the ERP robust enough to handle projected business growth.

Why was it weak?
- It was slow
- There was a lack of modules
- Existing modules became irrelevant/unsuitable: company's business processes were getting more and more complex.
- Quite a large number of system failures
- It was difficult to add new modules due to the system's complicacy.
What We Did
Our work with ACB started with the creation of new modules and fixing bugs in the ERP system the company was using at the time. After a while we suggested upgrading the whole system and migrating it to Zend framework.
When we started the project in October 2009, ACB operated quite well despite all the problems with its ERP. We built a development process in such a way that when we were creating new modules and implementing them in the existing system, old modules continued to work as properly.
The first ERP edition of ACB was created when the company had just entered the market. The main goal was to set up the business, so they didn't spend too much time creating a custom ERP's functionality. So, when ACB achieved great business results, it was time to get rid of the weaknesses of the old system.
The first edition had the following technical flaws:
- bad system architecture;
- no code standards were followed;
- code was very complicated, so it was hard to make changes;
- complex interfaces, which made it extremely difficult to figure out how to do a simple operation.
Step by step we created new modules: RMA, order cancellation, payments, autoships, etc. Then, small modules were associated in larger ones: customer card, order info. Developing the new modules, we explored and considered how employees from different departments work with the company's customers, what data they need in their everyday work process, and what tools they need. This approach allowed us to build a custom ERP system that suits our client's business needs perfectly.
A year and a half after we began our work, large modules were ready, and a part of ACB's staff started to test them in their work processes. Employees shared their opinions, and what features needed further improvements. Six months later, a totally new ERP was completed.
Outcome for the Client
The solution stabilized the ERP and made it more reliable, eliminating the problem of data loss. The costs to build a custom ERP system pays for itself in the long run.

- 7 departments of our client company (Customer Service, Finance, Accounting, Web Marketing/TV-Radio Marketing/Print Marketing, Shipping and Processing/Warehouse, Operations, and Retail) build their work processes using their existing ERP.
- 400+ employees use it every day.
- ERP processes six-figure customer orders daily. And these numbers are growing day to day.
- Database consists of 368 tables; some of them contain 1M+ records. At the same time, it is fast and stable. We have no worries about our data!
Afterword

Our company is absolutely satisfied with the way Greenice completed the project. It had a positive influence/effect on employees’ KPI, because the new system became faster and dependable, and now it totally conforms to the needs of each department. Since the new system has been implemented, we have started to create a new product: a partners' engine called Satellite, which can help us to automate business processes between us and dozens of our partners, so our company's income continues to grow.
Abhishek Jain, CIO at Atlantic Coast Brands

The project was completed perfectly! When we worked on the project, we constantly faced issues, how we could implement some modules, and every time Greenice's developers helped us to weigh up all the solutions and to choose the only right and optimum one that perfectly suited our company's strategy. They are experienced, they have deep knowledge, but most importantly our business priorities are always in first place for them.
Dmitry Polonsky, Application Development Manager at Atlantic Coast Brands