Bill of Quantities creation, rate analysis, cost estimation, version management, and WBS mapping for construction projects.
The Estimation module handles creation and management of Bills of Quantities (BOQ) with detailed rate analysis. BOQ items are linked to WBS elements for cost distribution. Version control allows comparison between original, revised, and supplementary BOQs. Rate analysis decomposes item rates into material, labour, equipment, and overhead components using IS/CPWD/SSR standards.
| Status | Description | Allowed Actions | Next States |
|---|---|---|---|
| Draft | BOQ being prepared by estimation team | Edit, Add Items, Delete | Under Review |
| Under Review | Sent to senior estimator / PM for review | Approve, Return, Comment | Approved, Draft |
| Approved | BOQ frozen for use in tendering/procurement | View, Create Version, Compare | Revised |
| Revised | New version created with changes tracked | Edit, Submit for Review | Under Review |
| Superseded | Older version replaced by newer version | View Only, Compare | — |
Standard BOQ with item description, quantity, unit, and rate. Most common for civil works.
Items priced as percentage of a base item — used for overheads, supervision charges.
Fixed-price items without quantity breakdown — used for specialist/package works.
Estimated amounts for undefined work — adjusted during execution via variation orders.
boq_id — PK, BOQ header per projectproject_id — FK → project.projectboq_number, boq_name — Unique identifier and titleboq_type — item_rate | percentage | lump_sum | provisionaltotal_amount, currency — Auto-calculated from line itemsstatus — Draft → Approved → Revised lifecycleitem_id — PK, individual BOQ line itemboq_id — FK → estimation.boqitem_code, description — SOR/custom item code and detailsquantity, uom, rate, amount — qty × rate = amountmaterial_pct, labour_pct, equipment_pct — Rate component split percentagesra_id — PK, rate analysis recorditem_id — FK → estimation.boq_itemcomponent_type — material | labour | equipment | overhead | contractor_profitdescription, quantity, unit, rate, amount — Component cost breakdownsource_sor — Reference to Schedule of Rates (IS/CPWD/SSR)version_id — PKboq_id — FK → estimation.boqversion_number, created_at — Sequential version trackingchange_summary — Description of what changedsnapshot_json — Full BOQ snapshot for comparisonmapping_id — PKitem_id — FK → estimation.boq_itemwbs_id — FK → project.wbsallocated_qty, allocated_amount — Quantity/cost distributed to WBS elementPreliminary cost estimate created from similar project benchmarks. Used for feasibility studies and budget approvals before detailed BOQ preparation.
Estimator creates BOQ with item descriptions from SOR (Schedule of Rates). Quantities computed from drawings using measurement sheets. Each item gets unit rate.
Decompose each item rate into material, labour, equipment, overhead, and profit components. Reference standard rates from CPWD/IS/SSR. Apply area factors and lead charges.
When BOQ is revised (scope change, rate revision), create a new version. System tracks additions, deletions, and rate changes between versions for audit trail.
Distribute BOQ quantities across WBS elements. This enables cost tracking at WBS level and feeds the commitment accounting module with budget figures.
-- BOQ total with component breakdown SELECT b.boq_number, b.boq_name, SUM(bi.amount) AS total_amount, SUM(bi.amount * bi.material_pct / 100) AS material_cost, SUM(bi.amount * bi.labour_pct / 100) AS labour_cost, SUM(bi.amount * bi.equipment_pct / 100) AS equipment_cost FROM estimation.boq b JOIN estimation.boq_item bi ON bi.boq_id = b.boq_id WHERE b.project_id = :project_id AND b.status = 'Approved' GROUP BY b.boq_id;