There's a lot of information about ERP software on the web, but most of it is complex and is rarely useful to small and mid-sized businesses.
This makes the task of deciding whether or not to invest in an ERP all the more difficult.
I'll try to give a more practical answer to the question at hand and I'm going to focus on the more modern web based systems.
Desktop ERP software is still widely used, but I think that a web application is more convenient.
What is ERP?
ERP is abbreviated from Enterprise Resource Planning. To put it another way - this means management of business activities, processes, resources and in some cases - other aspects of a company.
What is ERP software system?
This type of planning is a complex task and is almost always achieved with the help of a software system. ERP software typically automates big part of the back office functions of a company. It also gives the user an easy way to do the part that can't (or shouldn't) be automated.
An ERP software system is modelled after the specifics of every business. This means that there is no "one size fits all" solution, that will work as good for every company out there.
An ERP system is like a software representation of the processes in your company. It provides an easy way to enter data, view reports and control your business.
The term ERP software is just one category of business management software, but it's often used as a synonym of it.
ERP software for small and medium sized businesses?
Especially in smaller businesses an ERP will usually be something like an all in one management suite. It makes more sense like this, because having separate applications is counter productive for small companies and more often than not - for bigger ones too.
ERP Software: A practical definition
An ERP software is a system that is designed to represent the different aspects for a specific company. It integrates inventory, orders, billing, human resources, customers management and everything else that comprises said company. It's used to manage and review data and control employees, resources, etc.
Benefits of ERP software
ERPs improve efficiency
ERP systems are pretty good at business automation.
Generally they'll help any business get rid of repetitive tasks and gather data in a less manual manner, thus saving tons of time.
Using an ERP helps you cut your business expenses. The initial investment for an ERP is big, there's no going about it. But using an integrated solution means you have to support just one single system, not 6. This means you spend less on infrastructure, staff, training, etc. If the combined costs of all the systems, it replaces, are bigger than the cost of the ERP system itself, then this is another reduction in the overall software expenditure.
Single source of truth
Single source of truth, single point of access, one software to rule them all, call it whatever you want, but that's probably the most important feature of an ERP system.
ERPs enforce a unified interface for accessing and modifying data and for controlling your company. You or your employees can't circumvent it, but that's a good thing, because it reduces the amount of errors significantly.
Besides, it's way easier to do everything in the same application. You don't have to switch between softwares, accounts or what have you.
Also that custom report you have to do, that's going to be used in 3 departments is not going to take you a week. It's actually a few clicks away. There's no need to gather data from multiple sources.
Unified tools make planning a lot easier, too. You have all the data about the company at your disposal in the same tool that you're going to use to create the plan. How convenient is that?
Of course all this means better collaboration. Communication is very important in every business. Having your teams working in isolation from one another is counter productive. ERP software helps everybody speak the same language.
ERPs also make sure the same procedures are used across the whole company. As a result business processes become more standardized and there's less friction between departments. This applies to custom developed and to off-the-shelf systems.
Businesses are most likely going to see less data errors and discrepancies, when using an ERP. That's because ERPs provide a unified data entry interface and store everything in one place.
This is great for data security, because it ensures data consistency everywhere.
There's more to that - data access is also more secure. ERP systems are data repositories, amongst other things. As such they employ advanced data access mechanisms.
So what are these advanced mechanisms?
A typical setup would include:
- Login - credentials based access control is pretty common these days. It works and it gives a good level of security.
- Roles and permissions - this is a bit more advanced way to control who can do what in a system. With this data security enhancement the ERP system provides the ability to assign roles and permissions to every user. These roles and permissions define the different levels of clearance in the software.
Every business has its own specifics, so there might be cases where additional data security measures are required. These could be custom built in the system.
Scalability & Customization
Every business changes. It's important to have tools that are able to change as well.
Most ERP systems are modular by design. You can add and remove different features of the software depending on whether you need them or not.
Initially a company would get only the modules it needs. You can easily adjust afterwards to reflect any new requirements.
If you are getting a custom ERP software developed you should make sure the vendors understand that you want a system that is easy to extend.
Less paper & greater archiving
Using paper in businesses is increasingly frowned upon nowadays. Nobody wants to destroy mother nature or at least nobody wants to look like they are destroying it.
Whichever your reasoning if you want to use less paper, ERPs are your friend.
This software gives its users the capability to have every document and file at their disposal at all times. What's even better is that digital documents are very easy to tag, categorize, search, index, archive, etc.
You also get improved storage - a hard disk can contain a whole building worth of documents. Digitally archived documents are very easy to find, unlike their analog counterparts.
Improved inventory management
ERPs give you the option to assign codes to every inventory item. What's better is that the current location, status and all other data of the item is easily findable with the software.
The more stock you have the more benefits you'll see from inventory management software.
What are the benefits of having custom ERP software?
It doesn't matter if you're using an off-the-shelf product or a tailored solution - all ERPs are customized.
The difference is:
The level of customization you're going to get.
Custom ERPs will have better niche functionality
General purpose ERP software is made in such a way, that it's able to serve a very wide variety of businesses and handle their needs. That's because the creators of the software want to sell it to as much clients as possible.
This leads to systems that are pretty good, when it comes to common tasks, but are lacking in business specific functionality. Implementing every single wish a potential customer might have will clutter the system so much, it'll be unusable.
Bespoke UIs are easier to use
Another effect is the added complexity of off-the-shelf applications. When creating a piece of software, that is meant to serve a specific use case, a lot more automations and optimizations can be implemented. Ready-made ERP systems usually have more settings and stuff to fill in, their UIs are a bit more complicated and may be intimidating to use at the beginning.
Of course a custom solution will also have the benefit of reflecting the business processes in the specific company it's developed for. With commercial software it's usually the other way around.
Might be faster to integrate
Before actually starting to use a commercial ERP there's pretty much always an "integration" process. It is basically deployment, configuration, etc.
This is when the customization happens and the ERP gets tuned to meet the more specific business requirements.
What most people don't realize is:
This process can take anywhere between 3 months to 2 years.
So contrary to business owners' expectations - there's a considerable time cost to off-the-shelf ERP software.
What about costs?
Spending less is important for every business and an ERP can cost a substantial amount of money to buy and to integrate.
These are the most common pricing models of off-the-shelf systems.
- One of the worst (in terms of total expenditure) is the "per month/per user" SaaS pricing model. This makes cost add up very quickly, especially for companies, where more employees are going to use the software. I'd say that custom developed solutions pretty much always beat this way of charging clients.
- There's the classical "per month" model, where no matter the users, you are paying a fixed fee every month in order to use the software. This is a bit better, but costs still add up pretty quickly.
- The "pay once, use as long as you want" model is becoming less and less popular these days. Even the variation of it where you have to pay for updates and new versions. This is mainly because the developers are making a lot less money this way, but in my opinion this is the fairer way of pricing your products.
The benefits of a custom developed system, when it comes to costs, lie in the fact, that you're only paying for what you're going to be using. This applies to updates and additional stuff as well.
What are some typical modules and functionalities of an ERP?
ERPs are modular by design or at least they should be. There are modules that are always present, because every business needs them, and there are more specific modules that can be added (or removed) on demand.
Typical modules of ERP software
Human resources (HR)
In its most basic form this is a module that helps with managing the employees of a company. It provides an easy way to administer employee information, like basic data, performance reviews and skill assessments, job descriptions, promotions and so on. It could provide time on task tracking and attendance tracking if needed. If a company provides employee trainings or other skill improvement programs it can help with organization. It's also used to manage salaries, benefits, travel expenses and other payroll related aspects.
This module deals with stock management and logistics. It tracks quantity, quality (you don't want spoiled goods, right?), helps to optimize the flow of products, etc. You can use it to assign unique SKU identifiers for easier stock management and access. It keeps track of the location of every single item in your company (provided information is entered properly). This is especially useful for businesses with particularly large stock (e.g. retail), where things tend to get lost. There are a lot of optimizations that can be made in order to automate information input to this module, thus making things easier. Big benefit of the Inventory modules is the reporting it provides. You can get different, specific and very detailed reports about resource expenditure, that make identifying problems very easy.
This module helps with the management of the typical sales process. It deals with inquiries, quotations, orders, invoicing or billing, dispatching goods, etc. It also provides access to advanced reports on sales data, that can be used in business planning.
This module helps with the management of the process of purchasing goods, needed by the company. It helps with vendor and price list management, updating stock and in general with the whole process of buying products. This module gives access to advanced reporting, that can provide insights about the way a company spends money.
Customer relationship management (CRM)
This module gathers all the customer related data in one place. It helps with managing basic data like customer contacts and details and integrates sales, support and feedback data. It also keeps history of all interactions with a client. This module serves as a databank for all customer facing employees, so that they can make informed decisions and provide the best customer experience possible.
Teams and projects
These modules help with managing employees, projects and the whole work process. They assist with time management, task management, issue management, etc. The reports they provide can be used to assess efficiency, employee's and team's skill and to create better time estimates for future projects.
This module is used to manage different company documents. The archiving capabilities are a huge advantage over traditional ways of storing and searching documents.
This module can be in both categories, because in some cases there's a lot of room for customization. The general purpose features of it include:
- Planning for material requirements
- Planning for human resource requirements
- Expenditure reports
Business intelligence (BI)
This module gathers data from the whole database of the ERP (and sometimes from external sources as well) in order to generate reports for the upper-level executives in the company. It's sole purpose is to help company management with data and insights.
The possibilities here are unlimited. These modules depend solely on the requirements of the business acquiring the ERP system. I'll list some of the custom modules we've developed for our customers, but this is in no way an exhaustive list.
- Production - we already have that one in the common modules section. I'm adding it here, because production is different in every enterprise and there's a lot of room for customization. Production module for a smart farm will be very different from a production module for a cake factory.
- Calendar - This is more of an organizational module, to help with proper timing and scheduling. There could be subtle differences between Calendars for different departments.
- Patients - This is a module for clinics and hospitals. It's used to manage every aspect of the patient's stay, condition, feedback and so on. It can also keep an archive of information and generate detailed statistics. There will be differences from one establishment to another.
- Doctors/Surgeons/Nurses - Another module used in clinic and hospital ERPs. It helps with management of specialized staff, proper scheduling, time tracking, etc.
- Space scheduling - This module is used by enterprises that have a lot of spaces used by 3rd parties. It could be rooms in hospitals and hotels or sports facilities in companies that provide them. It makes sure there are no overlaps and helps with using the facilities as close to their full capacity as possible.
- Cleaning and maintenance - This is used to manage the cleaning and maintenance cycles of different facilities. It can provide monitoring, mark for clean up or inspection and other specific functionalities.
- Drivers - This is a module that provides real-time information and management of a company's drivers. Some optional features include real-time messaging, advanced reporting and others.
- Vehicles - There's a lot of room for customization in this one. It could be a simple management module, with data about the vehicles and their status. It could provide real-time monitoring, data about the way vehicles are being used, technical inspection and insurance calendars and alarms, etc.
- Alerts, monitoring - Custom alerts and monitoring are nothing new. But they are different for every enterprise. Alerts module helps the users of an ERP system not to miss important events. Detailed monitoring helps with early problem identification and prevention.
Web based vs. traditional desktop app
Specifically for the case of ERP software I think that web based applications are better.
Development for web applications is usually a bit cheaper and faster, which is always a good thing.
It's much easy to access them from everywhere. You just need a browser and an internet connection. This sounds a lot better, compared to having to install a huge desktop program.
Security is always a concern, but this applies to both web and desktop software. Since most likely both will need to communicate over a network with different resources (e.g. database), they are both vulnerable to attacks. So it's important to make sure your vendor will implement proper security.
Deployment, configuration and updates are fairly easier on web apps. You only do it on a single centralized machine. With desktop apps you have to make sure, that everybody will install the update properly.
ERP software is an important tool for running a business. It provides its users with advanced management and monitoring capabilities for general purpose and business specific tasks.
While the costs of integrating an ERP system can be considerable, the benefits gained in the form of optimization of business processes, error reduction and time saved definitely outweigh them.
No matter the size of the company, a good ERP software suite will surely help a lot.