Enterprise Resource Planning System
A custom ERP solution to cover all important processes
Company management
Web development
4+ years
Web
Dashboards
All the necessary information is structured and visualized via informative dashboards.
Resource management
Managers can organize the workload of all employees so others can see who works on what.
Calendar
With all birthdays, work anniversaries, and national and professional holidays.
CRM
Clients, leads, projects, and all financial reporting are structured in one place for easier management.
Project Idea
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.
Dream team
Project manager
Frontend engineer
Business analys
Backend engineer
Scrum master
Two QA engineers
UX/UI designer
DevOps engineer
Technology Stack
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.
Profiles
Each employee has their own profile with the information necessary for smooth financial reporting.
Summary
All history of profiles tied to one employee.
Requests
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.
Payroll
A dynamic table with salary payments and the ability to calculate the salary based on working hours.
Extra payments
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.
Projects
All projects we work on with costs, profit, and responsible project managers.
Dashboards
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.
Technologies
The list of technologies our engineers have expertise in.
Positions
All positions are indicated in one list with their belonging to delivery.
Calendar
It mentions employees’ birthdays, work anniversaries, and all relevant holidays.
Users
Allows admins to manage permissions and assign user roles.
Nominal wages
Helps the finance department with payroll payments and taxes.
Exchange rates
Managing various currencies and payments for employees all over the world.
Everything managers need to know about clients and leads.
Contracts
The list of all contracts we have with our clients.
Leads
All leads that come from contact form on our website are stored in one database.
Invoice registry
All invoices for all projects and clients are stored safely in one place with relevant permissions.
Clients
Managers can access data about clients and relevant projects, create invoices, and manage work log.
Resource management
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.
Legacy code
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.
Invoicing logic
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.
Results
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.