OpenConstructionERP Platform Overview

SkillDev tools

Guide to OpenConstructionERP: architecture, modules, API surface and quick start. Use when starting any OpenConstructionERP work, onboarding a user to the platform, or deciding which module/endpoint to use.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the OpenConstructionERP Platform Overview skill

What this skill tells your AI

The instructions your AI receives, as published by datadrivenconstruction/ddc_skills_for_ai_agents_in_construction in 6_OpenConstructionERP/oce-platform-overview/SKILL.md and read by ahel’s review.

What it is

OpenConstructionERP is a self-hosted, open-source (AGPL-3.0) construction ERP by DataDrivenConstruction: BOQ management, CAD/BIM takeoff (RVT/IFC/DWG/DGN), 4D scheduling, 5D cost modelling, tendering, field management and 180+ modules in one platform. It runs embedded PostgreSQL (no Docker required) with a FastAPI backend and a Vite/React frontend.

Homepage: https://openconstructionerp.com · Repo: https://github.com/datadrivenconstruction/OpenConstructionERP · Docs: https://openconstructionerp.com/docs

Module map (what to use when)

NeedModuleKey endpoints
Browse/load cost databasescostsGET /api/v1/costs/base-catalog, POST /api/v1/costs/load-cwicr/{db_id}, GET /api/v1/costs/?region=...&q=...
Resource catalogscatalogPOST /api/v1/catalog/import/{region}, GET /api/v1/catalog/...
Bill of quantitiesboqPOST /api/v1/boqs, GET /api/v1/boqs/{id}, validate/import GAEB
BIM elements / takeoffbimupload RVT/IFC/DWG/DGN, link elements to BOQ lines
Schedule (4D) / cost (5D)schedulingtasks, dependencies, cost model roll-ups
Issues & qualitypunch_list, validationpunch items, validation rule packs (DIN276/NRM/GAEB)
Site daily opsdaily_diary, hsediary entries, safety observations
Docs / tasks / risksdocuments, tasks, risksfile approvals, task board, risk register
Portfolio mapgeo_hubprojects on a 3D globe
Property developmentproperty_devlead → SPA → handover

Quick start (dev)

cd backend && python -m uvicorn app.main:create_app --factory --reload --port 8000
cd frontend && npm run dev   # http://localhost:5173

Auth: bootstrap admin (first registered user), JWT tokens, role-based permissions (viewer/editor/manager/admin). POST /auth/register, POST /auth/login.

Data contracts to respect

  • CWICR work-item parquets follow the 95-column master schema (rate_code, rate_original_name, rate_final_name, rate_unit, total_cost_per_position, classification collection/department/section/subsection/category, resource lines resource_*, flags is_material/is_machine/is_labor).
  • Region ids match ^[A-Z]{2,3}_[A-Z0-9]+$ (e.g. TR_NATIONAL, ZH_CHINA, BR_NATIONAL).
  • The importer is idempotent on (code, region) — re-loading returns already_loaded.

Best practices

  1. Load the base first (load-cwicr), then swap language (automatic via home_language_code), then reprice markets via the catalog path.
  2. Never invent prices: leave unpriced coefficient bases (VN, ID) as rate 0 and use the resource price sheet.
  3. Verify an import with GET /api/v1/costs/regions/stats/ and a sampled item's rate against the parquet's total_cost_per_position.

Signals

GitHub stars
308
Forks
79
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
oce-platform-overview
Source
github.com/datadrivenconstruction/ddc_skills_for_ai_agents_in_construction