Enterprise Resource Planning System
A custom ERP solution to cover all important processes
All the necessary information is structured and visualized via informative dashboards.
Managers can organize the workload of all employees so others can see who works on what.
With all birthdays, work anniversaries, and national and professional holidays.
Clients, leads, projects, and all financial reporting are structured in one place for easier management.
Every year we are growing as a company and our processes become more complex. To manage employees, clients, and leads, we used several different services that sometimes were not synchronized. Searching for the correct information and updating all of them to the right status was time-consuming and required additional effort.
That is why we decided to create a custom ERP solution for our internal processes. It should include employee management, client database, and financial reporting and analytics.
Two QA engineers
Here is the list of technologies and tools to bring our idea to life:
Features in detail
Our ERP has six main parts that are connected with each other and create a perfect working ecosystem.
Here, all employee-related data is securely saved and stored.
Each employee has their own profile with the information necessary for smooth financial reporting.
All history of profiles tied to one employee.
A registry of all social benefits, whom they should be paid to, and reports for better analytics.
Managers can see the salary history and additional payments.
A dynamic table with salary payments and the ability to calculate the salary based on working hours.
Resource and project managers can request additional payments for their team like social benefits or extra working hours and finance specialists approve or decline them.
Reports Project reports and dashboards to facilitate management operations.
All projects we work on with costs, profit, and responsible project managers.
The main dashboards include Finance Overview, Effectiveness, and Salary Fund, where all managers can access relevant data.
The storage of work-related data needed for stable ERP functioning.
The list of technologies our engineers have expertise in.
All positions are indicated in one list with their belonging to delivery.
It mentions employees’ birthdays, work anniversaries, and all relevant holidays.
Allows admins to manage permissions and assign user roles.
Helps the finance department with payroll payments and taxes.
Managing various currencies and payments for employees all over the world.
Everything managers need to know about clients and leads.
The list of all contracts we have with our clients.
All leads that come from contact form on our website are stored in one database.
All invoices for all projects and clients are stored safely in one place with relevant permissions.
Managers can access data about clients and relevant projects, create invoices, and manage work log.
Managers can see what specialists are occupied and bench specialists and allocate them to the projects. Also, the table indicates what projects exactly engineers spend their working hours on every day. The data can be filtered by each employee, tech stack, and position.
Challenges and Solutions
While creating our ERP system, we faced some development challenges that we were happy to resolve.
The project had plenty of legacy code with little to no documentation and duplicates. We needed to fix it and optimize the system.
We figured out that the reason for it was the fact that a lot of team members contributed to building the ERP and the code became too complicated. To solve it, we revised the architecture as a whole, fixed the duplicated code, and introduced unit testing. As a result, the system became more flexible and scalable. We still continue rigorous manual and automated testing (including regression tests) to make sure everything works like clockwork.
We needed to create a logic for creating multiple types of invoices that would analyze and structure data from Jira.
To create a new invoice, we build a whole system that includes registers of clients and contracts, project-related transactions, a modal for invoice making, document storage space, etc. We also added serialization which processed the hash and turned it into objects to facilitate the work.
The ERP system is up and running.
The company’s processes are automated and sped up.
All employees have access to the relevant ERP data.
The ERP is integrated with our website, Google Analytics, Jira, and payroll software.