Skip to content

Case study · Construction procurement and operations

NodeDR Construction ERP: Construction procurement and operations

The full material lifecycle on a construction project, from site requisition to daily consumption, tied to milestones and budgets.

My role
Built at NodeDR Infotech, the company I founded.
Licence
Paid, licensed
Links
About the product
NodeDR Construction ERP site inventory with live stock on hand and restock priority

Context

Material spend on a construction project is usually scattered across spreadsheets and paper. Questions such as how much cement is left on site, or whether an order exceeds its requisition, cannot be answered from that.

NodeDR Construction ERP models that lifecycle as one connected workflow. This case study describes the product design and published feature set; it does not claim client outcomes or deployment statistics.

Problem

The material workflow crosses several people and each handover is a place for the record to be lost: site requisition, approval, purchase order, goods receipt, inventory and daily consumption.

Users

Eleven project roles, including admin, site engineer, project manager, procurement, store keeper, financial controller and auditor, each seeing only their own modules.

Operational workflow

Requisition approval, purchase orders, goods receipt notes with delivered, accepted and rejected quantities, an inventory ledger and daily consumption linked to project milestones. A financial dashboard compares spend against budget and tracks retention.

The handoffs matter as much as the forms. A site request becomes an approved purchase, a receipt records what actually arrived, stock changes when material is accepted and consumption can be attributed to work on a milestone. That chain lets a project manager investigate a discrepancy from its source.

Engineering challenge

Page-level role checks were not enough for this domain. The product adds a data-driven permission matrix on top, so what each role may do can be configured without a code change.

Architecture

The published stack is Next.js with PostgreSQL and Prisma, plus Redis-backed background jobs for notifications, packaged for Docker deployment. The application brings procurement, site inventory and financial views into the same product so their records can be followed across a project.

Data model decisions

Materials carry CPWD wastage tolerance bands with a minimum and maximum percentage. Vendors record PAN, GSTIN, entity type and a reliability score for compliance tracking.

Goods receipt notes distinguish delivered, accepted and rejected quantities. That distinction keeps a supplier delivery from automatically becoming usable site inventory and gives the inventory ledger a more precise event to record.

Backend

Approval and permission rules belong on server-side actions, where a direct request cannot bypass them. Redis-backed jobs handle email notifications separately from the request that changes operational state.

Frontend

The dashboard focuses on budgets, pending requests, milestones and vendor dues. A separate inventory view shows stock on hand and restock priority for people managing the site store.

Security

TOTP two-factor authentication with backup codes, device session management with remote revocation, and an append-only audit log of logins, permission changes and security events.

Infrastructure

PostgreSQL with Prisma, Redis-backed background jobs for email notifications, and a Docker-first one-click install.

Reliability considerations

An approval trail and inventory ledger need to remain understandable after staff changes. The append-only audit log captures logins, permission changes and security events, while operational records distinguish requests, receipts and consumption instead of collapsing them into one stock total.

Difficult tradeoffs

Fine-grained permissions add configuration work, but a fixed role check would be too rigid for projects where responsibility changes by organisation and site. Separate background jobs make notification delivery more resilient while adding another service to operate.

What I personally worked on

I founded NodeDR and include this product because its published design shows how the same systems approach applies to construction procurement, approvals and auditability. I am not attributing unverified individual implementation details or customer results to myself here.

Lessons learned

Procurement is a sequence of decisions and handoffs. Modelling each one explicitly makes the record useful for a site worker, a financial controller and an auditor, each with a different question to answer.

Technologies

  • Next.js
  • PostgreSQL
  • Prisma
  • Redis
  • Docker

Screenshots

Captured from running instances.

NodeDR Construction ERP: frequently asked questions

What is NodeDR Construction ERP?
A construction procurement and operations product that models the material lifecycle as one workflow: site requisition, approval, purchase order, goods receipt, inventory and daily consumption tied to milestones and budgets.
Which roles does it support?
Eleven project roles, including admin, site engineer, project manager, procurement, store keeper, financial controller and auditor, each seeing only their own modules.
How does goods receipt work?
Goods receipt notes distinguish delivered, accepted and rejected quantities, so a supplier delivery does not automatically become usable site inventory.
What security features does it have?
TOTP two-factor authentication with backup codes, device session management with remote revocation and an append-only audit log.
Is it open source?
No. It is a paid, licensed product from NodeDR Infotech.

Read the full article: how NodeDR Construction ERP works →

NodeDR Construction ERP site inventory with live stock on hand and restock priority

Expertise this project shows

Related articles

Official project links

Have something in mind?

Let’s build something useful.

Tell me about the idea, product, or workflow you’re working through.

Tap to say hello