Construction Management Suite
Construction Management Suite for Frappe/ERPNext BOQ, Estimation, Project Costing, Site Management, Progress Billing, Subcontractor & Material Planning with GCC/KSA/UAE/Pakistan localization
- Author: Zaryab03
- Repository: https://github.com/Zaryab03/construction_management_suite
- GitHub stars: 2
- Forks: 7
- Category: HR & Payroll
- Maintenance: Actively Maintained
Install Construction Management Suite
bench get-app https://github.com/Zaryab03/construction_management_suite
Tags
- billing
- boq
- construction
- construction-management
- erp
- erpnext
- frappe
- material-planning
- subcontractor
Add the Frappe Gems badge to your README
Maintain Construction Management Suite? Paste this into your README:
[](https://frappegems.com/gems/apps/Zaryab03/construction_management_suite)
About Construction Management Suite
Construction Management Suite
A production-ready, modular Construction Management Suite built as a Frappe/ERPNext application. Designed for construction companies, contractors, subcontractors, MEP firms, civil works companies, infrastructure companies, and interior fit-out businesses operating globally.
Overview
Construction Management Suite (CMS) extends ERPNext with 7 specialized modules covering the full construction project lifecycle from Bill of Quantities and cost estimation through site operations, progress billing, subcontractor management, and material planning.
Modules
| Module | Key Doctypes | Purpose |
|---|---|---|
| BOQ Management | BOQ, BOQ Template | Bill of Quantities creation, revisions, templates, rate linkage |
| Estimation | Rate Analysis, Cost Estimation | Resource-based costing, tender estimation, rate analysis |
| Project Costing | Project Budget, Cost Code, WIP Entry | Budget monitoring, variance tracking, cash flow forecasting |
| Site Management | Daily Site Report, Site Material Request | Field operations, attendance, progress tracking |
| Progress Billing | Interim Payment Certificate, Retention Release | IPC billing, running bills, retention handling |
| Subcontractor Management | Subcontract Agreement, Work Order, Payment Certificate | Subcontract lifecycle, work orders, payment certs |
| Material Planning | Material Forecast, Site Transfer, Consumption Entry | Procurement planning, forecasting, site-to-site transfers |
Requirements
- Frappe v15
- ERPNext v15
- Python 3.10+
- MariaDB 10.6+
Installation
1. Get the app
cd /path/to/frappe-bench
# Option A — from GitHub
bench get-app https://github.com/Zaryab03/construction_management_suite
# Option B — if already cloned locally
bench get-app construction_management_suite /path/to/construction_management_suite
2. Install on a site
bench --site install-app construction_management_suite
3. Migrate
bench --site migrate
4. (Optional) Build assets
bench build --app construction_management_suite
5. Restart
bench restart
Quick Start
After installation, navigate to Construction Management Suite in the ERPNext sidebar.
Recommended setup order
- Setup → Cost Codes — define your WBS / cost code structure
- BOQ Management → BOQ Template — create reusable BOQ templates per project type
- Estimation → Rate Analysis — build a rate library (labour, material, equipment)
- Start a project (ERPNext Projects module) — the CMS custom fields are automatically available
- BOQ Management → BOQ — create the project BOQ, import from template, link rate analyses
- Estimation → Cost Estimation — build the tender/budget estimation
- Project Costing → Project Budget — auto-created from approved Cost Estimation
- Site Management → Daily Site Report — engineers submit daily from mobile/desktop
- Progress Billing → IPC — create Interim Payment Certificates, auto-generates Sales Invoice
- Subcontractor Management → Subcontract Agreement — auto-creates linked Purchase Order
Roles
| Role | Access |
|---|---|
CMS Admin |
Full access to all CMS modules |
CMS Project Manager |
Read/write on all modules, submit workflows |
CMS Quantity Surveyor |
BOQ, Estimation, Project Costing |
CMS Site Engineer |
Daily Site Report, Site Material Request, Material Consumption |
CMS Billing Officer |
IPC, Retention Release, Subcontractor Payment Certs |
CMS Subcontractor |
Read own Subcontractor Payment Certificates (portal) |
CMS Viewer |
Read-only across all modules |
ERPNext Integration Points
The app extends ERPNext without modifying core:
- Project — adds
cms_project_type,cms_contract_value,cms_client_po,cms_retention_percent - Purchase Order — adds
cms_subcontract_ref(linked to Subcontract Agreement) - Sales Invoice — adds
cms_ipc_ref(linked to IPC) - Stock Entry — adds
cms_site_ref(linked to Site Transfer) - GL Entry / Budget — Project Budget reads actual costs from ERPNext GL entries
- Timesheet — Daily Site Report can optionally generate timesheets
Localization Support
Optional regional localization modules are included:
| Region | File | Rules |
|---|---|---|
| Saudi Arabia (KSA) | localization/ksa/overrides.py |
15% VAT, ZATCA e-invoicing, Arabic print formats |
| UAE | localization/uae/overrides.py |
5% VAT, FTA compliance |
| Pakistan | localization/pakistan/overrides.py |
17% GST, 6% WHT on subcontractors |
| India | localization/india/overrides.py |
18% GST (CGST/SGST/IGST split), 2% TDS 194C |
| GCC / Africa / Europe | (stubs ready) | Extend per region |
API Endpoints
All endpoints are whitelisted Frappe methods callable via REST or JS:
# Get BOQ summary for a project
construction_management_suite.api.boq.get_boq_summary(project)
# Project cost dashboard KPIs
construction_management_suite.api.boq.get_project_cost_dashboard(project)
# Site progress timeline
construction_management_suite.api.boq.get_site_progress_timeline(project, limit=30)
# Convert Material Forecast → ERPNext Material Request
construction_management_suite.api.boq.create_material_request_from_forecast(forecast_name)
# Retention summary (held vs released)
construction_management_suite.api.boq.get_retention_summary(project)
# Push Rate Analysis rates to BOQ items
construction_management_suite.api.boq.apply_rate_analysis_to_boq(rate_analysis, boq, item_code)
Scheduled Jobs
| Frequency | Job | Description |
|---|---|---|
| Daily | project_costing.utils.calculate_daily_variance |
Recalculate budget variance for all active projects |
| Daily | progress_billing.utils.check_retention_release |
Notify when DLP periods expire |
| Daily | material_planning.utils.recompute_forecasts |
Update ordered quantities on Material Forecasts |
| Weekly | project_costing.utils.refresh_cash_flow_projections |
Refresh cash flow projections |
| Weekly | subcontractor_management.utils.generate_aging_report |
Log subcontractor payment aging |
| Monthly | project_costing.utils.create_monthly_wip_entries |
Create WIP journal entries |
Folder Structure
construction_management_suite/
├── construction_management_suite/
│ ├── api/ # REST API endpoints
│ ├── boq_management/ # BOQ module
│ │ ├── doctype/boq/
│ │ ├── doctype/boq_item/
│ │ ├── doctype/boq_template/
│ │ └── report/boq_summary/
│ ├── estimation/ # Rate Analysis & Cost Estimation
│ ├── project_costing/ # Budget, Cost Codes, WIP, Cash Flow
│ ├── site_management/ # Daily Reports, Attendance, SMR
│ ├── progress_billing/ # IPC, Retention Release
│ ├── subcontractor_management/ # Agreements, Work Orders, Payment Certs
│ ├── material_planning/ # Forecasts, Site Transfers, Consumption
│ ├── localization/ # Regional tax & compliance overrides
│ │ ├── ksa/ uae/ pakistan/ india/ gcc/ africa/ europe/
│ ├── config/ # Desktop, dashboards
│ ├── fixtures/ # Workspace, Roles
│ ├── public/css/cms.css # RTL + Arabic print format styles
│ ├── public/js/cms.js # Global JS utilities
│ ├── utils/ # Helpers, permissions, notifications
│ ├── hooks.py # App hooks, events, scheduler
│ ├── modules.txt # 7 registered modules
│ └── setup.py # after_install: roles + custom fields
├── requirements.txt
└── setup.py
License
MIT License — see LICENSE for details.
Contributing
Pull requests welcome. Please open an issue first to discuss what you would like to change.
Support
For bugs and feature requests, open a GitHub Issue.
Related HR & Payroll apps for Frappe & ERPNext
- Hrms — Open Source HR and Payroll Software
- Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
- Bookings — Hotel Management App for Erpnext
- Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
- Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
- Check Run — Payables utility for ERPNext
- Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
- Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.