Development

ERP SYSTEM FOR A CONSTRUCTION COMPANY

/* A case study on Efficient Business Operations with Custom ERP System for Construction Industry. */

project scope

For a client in the construction industry, we have designed and developed a custom ERP system – i.e., a web-based platform (based on Java/React stack) that enables the users (construction company employees) – automation of their business processes, i.e., to effectively manage and track projects and daily activities within different departments. 

The developed ERP system enables storing and processing information regarding managing and controlling all resources, employees, daily tasks, activities, etc. The goal was to make a custom ERP system/ platform with different modules, such as: 

  • Admin management module (different Admin roles)
  • Business development module
  • Planning module
  • Site Engineer module
  • Finance/ Accounting module
  • Human Resources module
  • Procurement module
  • Manager’s module
  • Backend functionalities

The software environment used for development was Java/React platform, and the developed system layout and functionality are browser compatible. The project is managed (hosted) by a Cloud-based server (e.g., Google cloud).

challenges

ERP systems are rather complex solutions, as they incorporate the operation of multiple sectors and departments. Our client needed a comprehensive solution with unified login and UX interface across its different departments (Procurement, Operations, Sales, HR, Finance, etc.). The project’s primary outcome was the company’s streamlined process and improved decision-making, which would reduce the overall costs and increase the efficiency of the business.

  • Integration directly into the ERP database
  • Use of SOAP-based self-written services
  • Using REST-based self-written services
  • One-way data exchange from ERP to end systems, calling via HTTP
  • Integration via sending email notifications (both ways)
  • Integration via file exchange

The general requirements included:

  • Easy to learn and simple to use solution
  • Can be accessed from any browser
  • Highly flexible and stable
  • Can work in a single-user and multi-user environment (on one or more computers in a network).
  • Designed using leading-edge technology.
  • Providing analyses and reporting on a weekly and monthly basis so that they will facilitate the company’s decision-making.
  • Invoices management
  • Possible integration with other clients’ applications.

In our case, the construction ERP project has been broken down into the modules described above. All activities and modules operate and store Material and Labor (Human) resources.

The main implemented functions of the ERP were intended to:

  • Procure material on time, and track its usage. Track costs of the activities.
  • Schedule labor appropriately and track their time sheets. Track costs to the activity.
  • The above steps involve Planning, execution, and reporting from the site
  • Can work in a single-user and multi-user environment (on one or more computers in a network).
  • Handle quality issues
  • Handle change orders
  • Project cash flow

Project details

The developed custom ERP system serves to offer a broad set of functions:

  • Initiation and Tendering functionalities, including project application – sending proposals, bidding, contacts storing, project initiation, entering activities in the system, etc.
  • Planning/ management in the Construction phase: project breakdown into milestones, tracking activities, tracking materials and labor, handling constraints, purchase orders, stakeholder interaction, project closure, etc.
  • Site engineer activities – tracking activities completion, materials, and labor.
  • Human resources processes: employee information, salaries, leaves, loans, payrolls, etc.
  • Finance – accounting processes: receipts handling, labor timesheets, bank statements, vendor payments, cash flow projection, etc.
  • Procurement processes: Planning and creating purchase orders (PO-s), order quantity, materials waste reports, etc.
  • Procurement processes: Planning and creating purchase orders (PO-s), order quantity, materials waste reports, etc.
  • Manager’s access: approving actions (from Planning, HR, and finance domain) and viewing different reports regarding projects and finances.
  • Backend functionalities include tracking information and generating triggers that support all business processes (application modules).

Project development

As we mentioned before – the project was implemented as a Cloud solution (possibly Google Cloud), and its deployment is displayed in the following diagram:

Tool chain

During the CRM platform project development – standard web development tools have been used, e.g., Microsoft .NET, etc. These tools provide a flexible UI toolkit, Wi-Fi/ Bluetooth, database connectivity, and many more options.

The backend was based on .NET, SQL Server database server, and IIS hosting server on Microsoft Azure.

The complete Tool-chain is presented in the following table::

Type of the technologyThe technology chosen
FrontendReact / Redux / MUI
Back-end (Server configure)Java / Spring Framework
DatabasePostgreSQL
Server (hosting)Google Cloud
Server (hosting)REST, GraphQL

Global Business Process Flow diagram

The business process diagram of the construction company is given in the following diagram. The main actors in the ERP system are the Business development engineer, Planning engineer, Site engineer, Human resources employee, Accountant, and Procurement clerk. 
All of them perform certain actions in the system that are now automated with our software solution.

Use Cases for the Main Roles in the System

Admin and Reporting Use Cases01

  1. The Admin employee can view current and past projects (plans) and could be involved in establishing the project plan, updating project data (on team member’s request), uploading required Forms, etc.
  2. The Admin can manage (add/ remove/ activate/ make visible) different platforms’ components (modules, features, items, etc.).
  3. The Admin can create (get) different Reports (statistics) for all projects/ jobs – on a weekly, monthly, and yearly basis and between 2 dates:

  • Income reports
  • Expenses reports (salaries, purchases made)
  • Proposals sent (bids)
  • Bids lost
  • Staff employed (by departments)
  • Net profit

4. The Admin can create and post Notifications to notify the Users (employees) about changes in Platform options, non-working days, and general information. Both – dashboard messages and email notifications will be sent.
5. The Admins is responsible for communication with the Users (employees) and will serve as the Help desk.

Business Development Engineer Use Cases02

Accountant use cases include:

  • Getting and entering receipts in the system.
  • Managing/ paying salaries.
  • Managing/paying expenses.
  • Settling petty cash.
  • Handling payments and credits.
  • Cash flow projections, etc.

Site Engineer Use Cases03

Site engineer use cases include:

  • Viewing activities for the week.
  • Enter the percentage of completed work for each task.
  • Entering the actual time sheet for each labor activity.
  • Entering the material usage per task, etc.

HR User Use Cases04

HR employee use cases include:

  • Entering/ managing employees.
  • Approving leave requests.
  • Approving loans.
  • Healthcare issues, etc.
industry
Construction
Stack
k8s, .NET, DevOps, Autotesting
Duration
1 year

Contact

Have a project in mind?
Let’s Discuss!

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage and assist in our marketing efforts.