In this article, we will talk about what ERP actually is, what kind of software products businesses truly need, and why the 1C:Enterprise platform is well suited for their development.
What is ERP, and Why Do Businesses Need It?
When Do Companies Want to Implement an ERP System, and What Is Important for Them?
Why Develop Another ERP Solution?
Why Consider the 1C:Enterprise Low-Code Platform as a Tool for Developing ERP Solutions?
Can You Imagine Creating an Off-the-Shelf ERP System in a Matter of Months?
In simple terms, ERP is a system for managing a company’s day-to-day activities. A business runs when employees perform routine tasks: create sales orders, ship goods, issue invoices, receive payments, and so on. Joined together, related tasks become business processes. By automating key business processes and presenting them as a unified system, we enable employees to be efficient and let management understand what is happening at any given time.
The ability of ERP software to integrate processes and data into a complete system, from the first contact with a client, through the entire cycle of sales, production, and delivery, to the payment for the order by the client, opens a way for optimizing business processes and planning company resources more accurately.
For example, with sales, production, and delivery integrated, a seller is not required to take a separate action to transfer order to production and does not need to request order and delivery statuses from the production and delivery departments. Employees of different departments register their daily tasks in the ERP system and track data entered by other employees. Thus, being the sole source of reliable information, an ERP simplifies employee interaction and makes processes transparent.
When talking about company resources, we mean inventory, available storage space, cash, human resources, intellectual property, and others. And when planning resources, there are plenty of constantly changing factors to consider. To plan production, one should understand what and how many materials should be purchased from suppliers, take into account delivery times, the current situation in the warehouse and production, keep track of deliveries in progress, and so on. Making these calculations manually in spreadsheets is very demanding and time-consuming; this is where an ERP system comes to the rescue.
By optimizing business processes and resources, companies reduce costs, and increase overall efficiency. According to many surveys, these are the main reasons businesses wish to implement an ERP solution.
Often the need for an ERP solution matures as a company grows. Assume we have a business that has a customer list or a CRM system. It manages inventory, processes orders, oversees finances, and all this happens in spreadsheet documents or individual unrelated applications. Employees must enter the same data multiple times in various applications and manually transfer data between departments. As the company grows, its management begins to lose the complete picture of what is happening and, at some point, realizes that they need a system to keep everything in one place.
For companies that have been on the market for a long time, it is typical that their central automation system is outdated and cannot serve the new needs. Thus, a company can have an automation system for production and accounting. Still, it is not scalable, does not allow adding new functionality, and has limited capabilities for integration with other systems. The company is evolving and requires a centralized system for managing its finances, customer communication, commercial activities, distribution channels, equipment repairs, etc. And this situation is pushing the company to switch to an up-to-date ERP.
There can be other situations that motivate companies to implement an ERP solution. We have mentioned the most common ones. However, in every case the reason is always the same: companies want a tool for centralized management of their operations.
To better illustrate customers’ needs, we would like to share the 1C Company insights.
1C customers often want their systems to cover as many business tasks as possible. The essential functionality they expect covers financial and management reporting, management of balances and material flow, controlling payments, and debt management. And with the basic needs covered, they consider how they can expand the functionality of their ERP.
When picking an ERP system, companies consider not only business functionality but such factors as integration options, interface language, deployment method, and availability of a mobile client. Why is it important?
Most customers want to see their transactions in a single application. Therefore, their ERP must be integrated with the services they use, such as online banking or marketplaces. In some countries, integration with tax services is also relevant. In addition, some customers need their system to be integrated with line of business applications that complement it.
For a company that operates within a single country, it is usually essential that the interface of its system is in the official language of that country. Global companies often require two or more interface languages for their ERP systems. The corporate language (usually English) is used for reporting, while domestic languages are utilized for interfaces of workstations intended for local employees.
Also, the choice of deployment method can vary. Some want everything in the cloud, while others prefer on-prem. There are a lot of countries where both deployment methods hold significant shares.
Customers are increasingly using mobile versions of their ERP systems. This way, they can track business performance, take customer orders, sign documents, and manage other tasks from anywhere, anytime.
The ERP market is truly diverse. There are plenty of solutions for companies of varied sizes and industries. Nevertheless, there are still empty niches, which is why the market for custom business applications is still growing. What kind of niches are we talking about?
Small companies that use accounting or CRM solutions at some point become ready for automation of some other operations. For example, they might want an integrated solution covering trading and manufacturing operations. At that, they are still small businesses. The solutions offered by global vendors may be too expensive for them or do not fit well for their industry or the unique specifics of their business.
On the other hand, there are mature companies that would like to move further in specific areas: some in manufacturing operations, some in sales and marketing. They are looking for an ERP solution with better functionality in these areas. Also, they are ready to have their vendor add the desired functionality to its own product if it costs less than buying and implementing a new solution.
There are countries where tax legislation and other laws change frequently, and such changes need to be added to an ERP system. At the same time, solutions from global vendors often do not contain the functionality specific to a particular country, or it takes too long to modify the software accordingly.
Summarizing the above, we can state that an ERP product allowing deep and rapid customization per the changing requirements of the market or the needs of individual customers while maintaining the system’s total cost of ownership at a relatively low level will undoubtedly find its niche.
An ERP system supports key business processes of the company, acting as a backbone for them. Business processes consist of operations like ordering, invoicing, receipt of goods at the warehouse, etc. For business processes to work, we need two things. First, assign to each operation a data structure to store the operation-related records. Such data structures can be product lists, price lists, customer lists, and similar. Second, we need to describe how data stored in these structures relate to each other.
The 1C:Enterprise platform provides developers with a basis for building data structures and establishing the relationships between data elements. Here, by the basis we mean a set of metadata objects, where each object is a ready-made application component in its simplest form. Developers create their products working at the level of business logic. They simply select the necessary objects, customize them, and specify how the objects relate to each other.
Here are some examples of metadata objects: catalogs (hierarchical lists that contain products, customers, currencies, and similar), documents (log in the system all the events that occur in the process of company operations, like receipt of materials, transfer of money, hiring of employees, and similar) accumulation registers (accumulate numerical data, like available stock or sales volume), and reports (allow users to visualize data contained in the system).
With such objects as a basis, the platform offers developers many templates for creating mechanisms that handle typical business or technology tasks. Among these mechanisms are asset tracking engine (used for automating planning processes, warehouse inventory control, and netting of payables and receivables), complex periodic calculations engine (a versatile tool for calculating salaries and wages, dividends, utility costs, and similar), access rights system (a mechanism for assigning access rights to various blocks of the ERP system and even documents based on user roles), HTTP services (a tool for creating your own arbitrary HTTP services in an application).
Relying on the platform objects as a basis, the mechanisms work in synergy, thus creating a holistic model perfectly fit for the rapid development of ERP solutions and other accounting business applications like HRM, CPM, CRM, WMS, and many others. Here is an excellent video about the development of a payroll app via the mechanism of complex periodic calculations, which is a good example to see the 1C:Enterprise platform’s low-code approach in action.
The 1C:Enterprise platform is both a development environment and a runtime. Developers create applications by arranging metadata in the low-code development environment. The platform interprets this metadata and automatically enables all the necessary functionality starting with interaction with an operating system and a database and ending with compiling a user interface.
Therefore, the platform is easy to learn and use. Developers do not need to create classes, as they already exist (these are built-in platform metadata objects). There is no need to convert data types since the platform utilizes a single data type system for everything: interacting with databases, implementing business logic, and building user interfaces. Developers may even be unfamiliar with the OOP concept and still create applications using the 1C:Enterprise language. Once an application is ready, the platform can run it in various operating environments, on multiple devices, and with different DBMS.
With such a platform’s architecture, developers can build applications many times faster compared to a traditional approach. And with all development and maintenance tools always at hand, it becomes effortless to modify and support applications throughout their life cycle.
With the platform, developers can rapidly create ERP solutions per the requirements of individual customers. However, if we are talking about an off-the-shelf ERP product that can compete with offers by global vendors, even with the account of the platform’s low-code capabilities, developing a solution from scratch can take years and requires a large development team. Still, if you intend to build an off-the-shelf ERP, it might be wise to consider the strategy described below.
You might be surprised, but it is possible. To succeed, you must develop your product based on an almost ready-to-use versatile ERP product that someone has been making for many years.
1C Company has been developing its ERP solution (1C:ERP Enterprise Management) since 2013, employing the best world practices and utilizing experience gained both by 1C Company and by the partner community. The solution has been deployed in over 25,000 companies operating in almost all industries in the Russian market. The international version of the product is called 1C:ERP WE.
1C:ERP WE contains rich functionality for monitoring and analyzing performance indicators, managing production, costs, finances, customer relations, sales, purchasing, warehouse and inventory, and is suitable for companies of any size and industry. The product supports both Russian and English code and has the same core as 1C:ERP Enterprise Management.
1C:ERP WE comes with open-source code, which allows modifying existing functionality and adding new features using the 1C:Enterprise platform. Thus, developers can either easily modify the solution when deploying it on the customer side or use it to create their own ERP product.
The 1C:Enterprise platform comes with a set of special-purpose tools, including localization tools and the mechanism of extensions that make it easy for developers to customize their solutions for local markets.
The localization tools allow to create user interfaces in various languages and apply country-specific formats for dates, times, and numbers. The platform currently supports twenty-three popular languages, including Arabic.
The mechanism of extensions serves to introduce changes to a customized application without affecting the code of the standard product. When creating your product based on 1C:ERP WE, you do not have to remove the 1C support but implement extra functionality via extensions. This option is perfect for minor modifications. Should you wish to modify 1C:ERP WE significantly, you must give up the 1C support and fully maintain the customized version. In this case, the mechanism of extensions can also be of use, but its role here is to customize your product to the individual requirements of specific customers. And thanks to this mechanism, you can support all your customized products effortlessly.
Also, 1C:ERP WE offers extra features to facilitate localization. Thus, the product allows to
- choose the company’s local accounting currency,
- keep financial records and record transactions in any currency,
- set up national charts of accounts in the country’s currency (reporting currency),
- customize reports by including any desired indicators,
- use customizable tax rates for VAT accounting,
- choose a language when generating print forms, for example, invoices.
Therefore, developers can quickly and cost-effectively build their own off-the-shelf ERP solutions for local markets using the 1C:Enterprise low-code platform and 1C:ERP WE with its open-source code.
In conclusion, it is worth mentioning that the 1C international team actively communicates with developers who create products on the 1C:Enterprise platform. The team provides technical support, organizes discussions with the participation of in-house software architects on localization issues and pilot implementations, and is always open to suggestions for improving both the platform tools and 1C:ERP WE localization mechanisms.