Skip to content

About

Open-source construction ERP - BOQ, PDF/CAD/BIM takeoff, AI cost matching. 42 regional catalogues, 21 languages, 71 modules. AGPL-3.0. v3.0 - pip install openconstructionerp

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

6,582 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenConstructionERP

A leading open-source workspace for construction project management

OpenConstructionERP - open-source construction ERP for BOQ, BIM takeoff, DWG/PDF quantification and 5D cost modeling

Professional BOQ, CAD and BIM takeoff, 4D scheduling, 5D cost model, and tendering - all in one self-hosted platform.

Like WordPress for construction companies - pick modules from the marketplace, drop in your own, or replace ours with custom-built ones. Same plug-and-play model, but for BOQ, scheduling, cost control, BIM, and tendering.

A platform companies build any construction app on. Use OpenConstructionERP as the base to assemble the exact software a project needs and to build your own modules on top, from estimating and BIM to scheduling and site delivery. One open, powerful foundation for anything you run in construction.

▶ Watch the 12-min walkthrough · Demo · Documentation · Build on it · Discussions · Report Bug

License Version Release downloads PyPI Downloads (pepy · per month) Stars Last commit Languages Cost Items OpenSSF Scorecard CodeQL Signed releases

full_preview_compressed.mp4

1-minute teaser above · for the full 12-minute walkthrough → watch on YouTube · onboarding → BoQ → BIM → DWG → PDF → AI → dashboard

OpenConstructionERP: a honeycomb of the eight company types and fifteen professional roles the platform is built around, over a second honeycomb of its 193 backend modules and the two shared libraries drawn beside them, each cell coloured by the category its own manifest declares and shaded by how many of the others it is wired to



Download the free desktop app

No Python, no Docker, nothing to set up. Pick your system and run it.

Download OpenConstructionERP for Windows    Download OpenConstructionERP for macOS on Apple Silicon    Download OpenConstructionERP for Linux

Not sure which file? openconstructionerp.com/download picks the right one for you automatically. Prefer the terminal? pip install openconstructionerp or Docker, see Quick Start below.


120K+
cost items
44
languages
47
countries
6
CAD formats
193
modules
293
guided cases

Table of Contents

Get Started

Estimating & Costs

Quality & Setup

Technical

Community

Legal & Privacy


Ready to try it? See the Getting Started guide for three ways to install (desktop app, pip, Docker) with prerequisites and step-by-step instructions, or jump straight to the Quick Start section below.


Video guides

Short, practical videos, most of them from the OpenConstruction Academy YouTube channel. Click a thumbnail to watch. Each one follows a real task in the app, from installing it to getting paid. Videos marked DE are in German, the rest are in English.

Start here, estimating and BOQ

Install and set up your first project
Install and set up your first project · 4:41
Full product walkthrough
Full product walkthrough · 12:00
Build an estimate step by step
Build an estimate step by step · 4:48
Overhead, profit and contingency
Overhead, profit and contingency · 3:54
Price a construction job
Price a construction job · 4:49
Ein Leistungsverzeichnis aufbauen
Ein Leistungsverzeichnis aufbauen · 5:02 · DE
Vom vollständigen LV zur Kostenbasis
Vom vollständigen LV zur Kostenbasis · 10:15 · DE
More videos
All guides on the OpenConstruction Academy channel

Cost databases, quantities and schedule

Check a unit rate in the cost database
Check a unit rate in the cost database · 4:02
Einheitspreise und Kosten nachvollziehen
Einheitspreise und Kosten nachvollziehen · 6:36 · DE
Kostenquellen und Ressourcen anpassen
Kostenquellen und Ressourcen anpassen · 7:35 · DE
Mengen aus PDF und DWG ermitteln
Mengen aus PDF und DWG ermitteln · 5:55 · DE
BIM-Modelle verstehen und nutzen
BIM-Modelle verstehen und nutzen · 5:41 · DE
Abhängigkeiten und Ressourceneinsatz planen
Abhängigkeiten und Ressourceneinsatz planen · 4:31 · DE
Schedule to substantial performance
Schedule to substantial performance · 4:49
German series
The Landshut learning project from start to finish · DE

Tendering, procurement, finance and contracts

Tender work to subcontractors
Tender work to subcontractors · 4:23
GAEB-Dateien kontrolliert austauschen
GAEB-Dateien kontrolliert austauschen · 5:34 · DE
Angebote prüfen und Vergabe vorbereiten
Angebote prüfen und Vergabe vorbereiten · 3:04 · DE
Material und Teillieferung verfolgen
Material und Teillieferung verfolgen · 7:01 · DE
Monthly progress draw (CCDC 2)
Monthly progress draw (CCDC 2) · 4:58
The construction payment clock
The construction payment clock · 4:35
Manage change orders
Manage change orders · 4:45
French series
Québec: estimating, BSDQ tenders, billing and handover · FR

More series on the channel

Browse every video on the OpenConstruction Academy channel


Why OpenConstructionERP?

Construction cost estimation software is expensive, closed-source, and locked to specific regions. OpenConstructionERP changes that.

What you get How it works
Free forever AGPL-3.0 license. No subscriptions, no per-seat fees, no vendor lock-in.
Your data, your server Self-hosted. Everything runs on your machine - nothing leaves your network.
44 languages Full UI translation: English, German, French, Spanish, Portuguese, Russian, Chinese, Arabic, Hindi, Japanese, Korean, and 33 more.
30+ regional standards DIN 276, NRM 1/2, CSI MasterFormat, GAEB, ГЭСН, DPGF, GB/T 50500, CPWD, ÖNORM, Birim Fiyat, Sekisan, SINAPI, and more.
AI-powered Connect any LLM provider (Anthropic, OpenAI, Gemini, Mistral, Groq, DeepSeek) for smart estimation.
120,000+ cost items Nine cost bases - global CWICR (repriced across 30 markets) plus eight national bases (China, Turkey, Brazil, Spain, Italy, Greece, Vietnam, Indonesia).

The whole platform in your language

The entire UI ships in 44 languages, including full right-to-left support for Arabic, Urdu, Persian and Hebrew. Switch language from any screen and every label, message and report follows.

🇬🇧 English  ·  🇩🇪 Deutsch  ·  🇫🇷 Français  ·  🇪🇸 Español  ·  🇲🇽 Español (MX)  ·  🇨🇱 Español (CL)  ·  🇨🇴 Español (CO)  ·  🇵🇹 Português  ·  🇧🇷 Português (BR)  ·  🇷🇺 Русский  ·  🇨🇳 简体中文  ·  🇸🇦 العربية  ·  🇮🇳 हिन्दी  ·  🇹🇷 Türkçe  ·  🇮🇹 Italiano  ·  🇳🇱 Nederlands  ·  🇵🇱 Polski  ·  🇨🇿 Čeština  ·  🇯🇵 日本語  ·  🇰🇷 한국어  ·  🇸🇪 Svenska  ·  🇳🇴 Norsk  ·  🇩🇰 Dansk  ·  🇫🇮 Suomi  ·  🇧🇬 Български  ·  🇭🇷 Hrvatski  ·  🇭🇺 Magyar  ·  🇮🇩 Bahasa Indonesia  ·  🇷🇴 Română  ·  🇹🇭 ไทย  ·  🇻🇳 Tiếng Việt  ·  🇺🇦 Українська  ·  🇬🇷 Ελληνικά  ·  🇰🇬 Кыргызча  ·  🇰🇿 Қазақша  ·  🇧🇩 বাংলা  ·  🇪🇪 Eesti  ·  🇵🇭 Filipino  ·  🇵🇰 اردو  ·  🇮🇷 فارسی  ·  🇮🇱 עברית  ·  🇺🇿 Oʻzbekcha  ·  🇲🇳 Монгол

How It Compares

Capability OpenConstructionERP Enterprise
BIM
CAD
Takeoff
Legacy
Estimating
PDF
Markup
LicenseAGPL-3.0 (free)ProprietaryProprietaryProprietaryProprietary
Self-hosted / offline✔✖✖⚠ partial✖
PriceFree forever~€500/mo~€300/mo~€200/mo~€30/mo
AI estimation✔ 20 LLM providers✖✖✖✖
UI languages445328
Regional standards30+432-
BOQ editor✔✔✔✔✖
CAD/BIM takeoff✔ RVT IFC DWG DGN✔✔✖PDF only
4D/5D planning✔✔✖✖✖
Cost database included✔ 120K+ rates✖ extra✖ extra✖ extra✖
Resource catalog✔ 7K+ priced✖ extra✖✖✖
Validation engine✔ 158 rules⚠ limited✖✖✖
REST API✔ full⚠ limited✖✖✖
Real-time collab✔ soft locks✔✖✖✖
Open data export✔ GAEB · XLSX · JSON⚠ limited⚠ limited⚠ limitedPDF only
IDS / COBie requirements✔ import + export✖✖✖✖
Property dev lifecycle✔ Lead → SPA → Handover✖✖✖✖
3D globe / geo-anchor✔ Cesium 3D Tiles⚠ map only✖✖✖

Comparison reflects typical category capabilities based on publicly available information as of Q3 2026. Pricing is approximate (per-seat, list price) and varies by vendor and region. OpenConstructionERP is an independent open-source project and is not affiliated with any commercial vendor in the categories above.


A Look Inside

A quick tour of the main workspaces. Every screen is the real application running the 70-project demo spanning 30+ countries that ships with a fresh install.

Portfolio Dashboard
Every project on one live map, with multi-currency totals that are grouped by currency, never blended.

Portfolio dashboard with world map and KPIs
Projects
Localized projects worldwide. Each card carries its site map, BIM / DWG / PDF badges and live value.

Projects overview with localized project cards
BOQ Editor
Keyboard-first bill of quantities with sections, assemblies, a live quality score and grand total.

Bill of Quantities editor
Cost Database
120,000+ priced items across 9 cost bases, bilingual, searchable by code, unit or class.

Regional cost databases
3D BIM Viewer
Federated models in the browser with a category and storey breakdown. Converted through DDC, no IfcOpenShell.

3D BIM viewer with element summary
Clash Detection
Geometric coordination across federated models, with a clash matrix and BCF export.

Clash detection across federated models
PDF Takeoff
Drop a drawing, let AI extract the quantities, then push them straight into the BOQ.

AI-assisted PDF takeoff
AI Estimate
Turn text, a photo, a PDF or a spreadsheet into a scoped BOQ in seconds, with confidence scores.

AI quick estimate
Validation
Built-in DIN 276, NRM and MasterFormat rules score every BOQ with a traffic-light report.

Validation report with traffic-light score
Cross-Project Analytics
Portfolio KPIs grouped by currency: budget, actuals and variance, project by project.

Cross-project analytics grouped by currency
Finance & Earned Value
Budgets, invoices, payments and earned value tracked against the estimate.

Finance and earned value management

Key Features

Bill of Quantities (BOQ) Management

BOQ Editor - Create, manage and analyze Bills of Quantities

Build professional cost estimates with a powerful BOQ editor. The full lifecycle - from first sketch to final tender submission:

Bill of quantities boq diagram

  • Hierarchical BOQ structure - Sections, positions, sub-positions with drag-and-drop reordering
  • Inline editing - Click any cell to edit. Tab between fields. Undo/redo with Ctrl+Z
  • Resources & assemblies - Link labor, materials, equipment to each position. Build reusable cost recipes
  • Markups - Overhead, profit, VAT, contingency - configure per project or use regional defaults
  • Automatic calculations - Quantity × unit rate = total. Section subtotals. Grand total with markups
  • Validation - 158 built-in rules check for missing quantities, zero prices, duplicate items, and compliance with DIN 276, NRM, MasterFormat
  • Export - Download as Excel, CSV, PDF report, or GAEB XML (X83)

Cost Databases & Resource Catalog

Cost Database - 120,000+ items across 9 cost bases

Access the world's construction pricing data:

  • Cost bases - 120,000+ cost items across 9 bases: the global CWICR database covering all major construction trades, repriced across 30 regional markets, plus 8 national bases built on each country's own norm system (China, Turkey, Brazil, Spain, Italy, Greece, Vietnam, Indonesia)
  • Smart search - Find items by description, code, or classification. AI-powered semantic search matches meaning, not just keywords ("concrete wall" finds "reinforced partition C30/37")
  • Resource catalog - 7,000+ materials, equipment, labor rates, and operators. Build custom assemblies from catalog items
  • Regional pricing - Automatic price adjustment based on project location. Compare rates across regions
  • Import your data - Upload your own cost database from Excel, CSV, or connect via API

CAD/BIM Takeoff & AI Estimation

CAD/BIM Takeoff and AI-powered estimation

Extract quantities from any source - drawings, models, text, or photos:

Cad bim takeoff ai diagram

  • CAD/BIM takeoff - Upload RVT, IFC, DWG, or DGN files. DDC converters extract elements with volumes, areas, and lengths automatically
  • Interactive QTO - Choose how to group extracted data: by Category, Type, Level, Family. Format-specific presets for RVT and IFC
  • Linked geometry preview - Click the BIM link badge on any BOQ position to see a 3D preview of linked elements with interactive rotate/zoom/pan controls
  • BIM Quantity Picker - Select quantities (area, volume, length) directly from linked BIM elements and apply them to BOQ positions. The source parameter name is shown next to the unit
  • DWG polyline measurement - Click any polyline in the DWG viewer to instantly see area, perimeter, and individual segment lengths with on-canvas labels
  • PDF measurement - Open construction drawings directly in the browser. Measure distances, areas, and count elements with calibrated scale
  • AI estimation - Describe your project in plain text, upload a building photo, or paste a PDF - AI generates a complete BOQ with quantities and market rates
  • AI Cost Advisor - Ask questions about pricing, materials, or estimation methodology. AI answers using your cost database as context
  • Cost matching - After AI generates an estimate, match each item against your CWICR database to replace AI-guessed rates with real market prices

The platform also includes 158-rule validation engine (DIN 276, NRM, MasterFormat, GAEB), 3D globe visualization (Cesium), property development lifecycle, accommodation management, an AI assistant that prepares changes for a person to approve, BIM clash detection, 4D/5D scheduling, tendering and risk management, PDF markups, punch lists, daily diary with HSE tracking, and 30+ regional classification standards. See MODULES.md for the full list of 193 modules.

Guided Onboarding

Get productive in under 10 minutes:

  1. Choose language - Select from 44 languages. The entire UI switches instantly
  2. Select region - Determines default cost database, currency, and classification standard
  3. Load cost database - One-click import of CWICR pricing data for your region (120,000+ items)
  4. Import resource catalog - Materials, labor, equipment, and pre-built assemblies
  5. Configure AI (optional) - Enter an API key from any supported LLM provider
  6. Create your first project - Set name, region, standard, and start estimating

Quick Start

Easiest: download the desktop app (no Python, no setup)

Download the installer for your operating system, run it, and OpenConstructionERP opens as a native desktop app. No Python, no pip, no Docker, and no database to set up. Everything runs locally on your machine.

  • Download for your platform picks the right file for your OS automatically.
  • Or grab one straight from the latest release: Windows .exe installer, macOS .dmg (Apple Silicon), or Linux .deb / .AppImage.

Your operating system will warn you before it runs the installer, and that is expected. There is no code signing certificate for this project yet, so the desktop builds are unsigned. On Windows, SmartScreen says "Windows protected your PC"; choose More info, then Run anyway. On macOS, Gatekeeper says the developer cannot be verified; open the app from the Finder context menu and choose Open, or clear it with xattr -dr com.apple.quarantine on the installed app. Linux packages are unaffected. If you would rather verify the download than trust the warning, every release carries SHA256SUMS together with a Sigstore signature and certificate, so you can check the bytes you received against what the build produced.

There is no Intel macOS build at the moment. On an Intel Mac, use the pip or Docker route below.

The first launch takes about a minute while it sets up your local database, then every launch after that is fast. Open source under AGPL-3.0.

Prefer the command line? The options below (pip, Docker, source) need Python 3.12+. Check with python --version.

pip install (full app, one command)

pip install --upgrade openconstructionerp
openconstructionerp

That's it. The single wheel ships the backend plus the pre-built React frontend. The first run sets up a local embedded PostgreSQL database (no Docker, no setup), loads the demo data, opens your browser at http://localhost:8080, and you sign in with demo@openconstructionerp.com / DemoPass1234!. No Node.js and no extra services. Every later run, just type openconstructionerp again. PyPI package.

If the openconstructionerp command is not found after install, run it through Python instead. This works on every operating system and never depends on PATH:

python -m openconstructionerp

Deploying on a server? By default the app listens on 127.0.0.1 (localhost only). To make it reachable over the network, add --host 0.0.0.0:

openconstructionerp serve --host 0.0.0.0 --port 8080

For a production setup with systemd and reverse proxy, see docs/INSTALL_LINUX.md.

"Command not found"? Run python -m openconstructionerp instead. This works on every OS without touching PATH. Alternatively, install with pipx which handles PATH automatically. For platform-specific PATH setup and Ubuntu/Debian PEP 668 workarounds, see docs/getting-started.md.

If something looks off, run openconstructionerp doctor for a per-check OK/WARN/ERROR report.

Alternative 1: One-line installer (handles PATH for you)

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/scripts/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/scripts/install.ps1 | iex

If you would rather not think about PATH at all, use this. It picks Docker if installed, otherwise uv, otherwise a dedicated Python virtual environment, installs OpenConstructionERP there, puts the openconstructionerp command on your PATH automatically, and finishes with a short panel showing the URL, the demo login and how to start. It also offers to launch right away. Open a new terminal afterwards and openconstructionerp just works. Runs at http://localhost:8080.

Alternative 2: Docker

From the published image, no clone needed:

curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.yml       -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/docker-compose.quickstart.image.yml -o docker-compose.override.yml
echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)" >  .env
echo "JWT_SECRET=$(openssl rand -hex 32)"           >> .env
docker compose pull app && docker compose up -d

Or build from source (also the better choice on Apple Silicon):

git clone https://github.com/datadrivenconstruction/OpenConstructionERP.git
cd OpenConstructionERP
echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)" >  .env
echo "JWT_SECRET=$(openssl rand -hex 32)"           >> .env
make quickstart

Open http://localhost:8080. See docs/getting-started.md for Windows PowerShell commands and the full compose file reference.

Alternative 3: Local development (clone + npm + uvicorn)

git clone https://github.com/datadrivenconstruction/OpenConstructionERP.git
cd OpenConstructionERP

# Install dependencies
pip install -e ./backend[server]
cd frontend && npm install && cd ..

# Start (Linux/macOS)
make dev

# Start (Windows - two terminals)
# Terminal 1: cd backend && uvicorn app.main:create_app --factory --reload --port 8000
# Terminal 2: cd frontend && npm run dev

Open http://localhost:5173 - for hacking on the codebase. Requires Python 3.12+ and Node.js 22 or newer (CI and the Docker image build on 24).

Demo Accounts

Three demo accounts are created automatically on first start. Each password is generated per installation (via secrets.token_urlsafe) and saved to ~/.openestimator/.demo_credentials.json (chmod 600). The startup log tells you where the file is, and never prints the password itself, because a log is the thing that gets copied, shipped and shared:

[seed] Demo user created: demo@openconstructionerp.com. Password saved to /home/you/.openestimator/.demo_credentials.json (set DEMO_USER_PASSWORD before the first start to choose it)

Only if that file cannot be written is the password printed, once, to the console and not to the log. To pin known passwords (e.g. for a team demo or CI), set the env vars before the first boot:

  • DEMO_USER_PASSWORD - admin (demo@openconstructionerp.com)
  • DEMO_ESTIMATOR_PASSWORD - estimator (estimator@openconstructionerp.com)
  • DEMO_MANAGER_PASSWORD - manager (manager@openconstructionerp.com)
Account Email Password Role
Admin demo@openconstructionerp.com see .demo_credentials.json Full access
Estimator estimator@openconstructionerp.com see .demo_credentials.json Estimator
Manager manager@openconstructionerp.com see .demo_credentials.json Manager

On a local default install you can simply type DemoPass1234! on the sign-in form for any demo account. The built-in demo login accepts it, so the documented credential always works. The per-install random password above is the stored hash, kept for reference and for API tokens. This shortcut turns off whenever SEED_DEMO=false, which you should set for any internet-exposed deployment.

Demo accounts include 70 pre-loaded projects across 30+ countries with complete BOQs, schedules and cost models, from a Berlin residential block and a Paris school to a Dubai warehouse, a Shanghai office tower, a Toronto condo and a Guangzhou renovation.

Security note. For any internet-exposed deployment, set the three DEMO_*_PASSWORD variables to strong, unique secrets, or disable demo accounts entirely with DISABLE_DEMO_ACCOUNTS=1. Do not reuse passwords from examples, screenshots, or earlier versions of this README.


Tech Stack

Layer Technology Purpose
Backend Python 3.12+ / FastAPI Async API, Pydantic v2 validation, modular architecture
Frontend React 18 / TypeScript / Vite SPA with code splitting, 45 locale files
Database PostgreSQL 16+ (only) OLTP with JSON columns; an embedded PostgreSQL starts automatically for local dev, so there is no Docker, no separate database, and nothing to configure
UI Tailwind CSS / AG Grid Professional data grid, responsive design, dark mode
AI Any LLM via REST API Anthropic, OpenAI, Gemini, Mistral, Groq, DeepSeek
Vector Search LanceDB (embedded) / Qdrant Semantic cost item search, 384d or 3072d embeddings
CAD/BIM DDC cad2data RVT, IFC, DWG, DGN → structured quantities
i18n i18next + 45 locale files 44 offered in the language picker (Mongolian ships as a locale file but is not in the picker yet); full RTL support (Arabic, Urdu, Persian, Hebrew), locale-aware formatting

Architecture

For a high-level system overview, stack diagram and module structure, see docs/architecture/OVERVIEW.md.

How the platform turns raw CAD/BIM into structured ERP data

OpenConstructionERP - Digitalization of Processes: Pipelines for Automatic Data Creation

OpenConstructionERP is built around seven cooperating pipelines that turn closed CAD/BIM files (RVT, IFC, DWG, DGN) into structured, queryable ERP data - without locking you into a proprietary stack. Every module in the platform plugs into one or more of these stages:

  1. Mining - collect existing project data (CAD/BIM models, CDE drops, COBie deliverables) into a semi-structured pool. Handled by cad, documents, bim_hub, file_search modules + the DDC cad2data converters (RVT/IFC/DWG/DGN → canonical JSON).
  2. QTO Check & Quantity Take-off rules - apply rule sets per discipline / family / type to extract quantities deterministically. Handled by takeoff, requirements, validation, and the rule editor in match-elements.
  3. BlackBox (company standard) - codify your firm's classifications, formulas, unit factors and assembly recipes as a single canonical rule book (COBie / CFIHOS / SQL / Excel / Access). Handled by costs, assemblies, catalog, cost_intelligence.
  4. New project modeling - apply the BlackBox to a fresh model: geometry → filtering → grouping → verification → BOQ. Handled by boq, projects, match-elements, clash.
  5. BlackBox mapping - map a new project's raw element list onto the canonical rule book via vector + lexical + rule-based matchers. Handled by match-elements (7-stage pipeline) + AI Estimate.
  6. Project-specific data (4D/5D/6D) - derive scheduling, cost, hours, ordering and environmental footprint per group. Handled by scheduling, advanced_schedule, 5d_planner, risk, carbon, hse.
  7. Saving data & Machine Learning - persist project history into the database, data lake and ML models so each new project starts further ahead. Handled by analytics, bi_dashboards, ai_chat, cost_intelligence, and the rule-learning loop in clash (Wave A4) and match-elements.

The right-hand side of the diagram is the automatic data retrieval layer that every UI surface (Dashboard, BOQ editor, /clash, /match-elements, /files, /scheduling) consumes: dashboards, calculations, reports, tables, charts, geometries, and ERP-ready exports - all driven from the same canonical store. The Machine-Learning column on the far right is where the platform progressively automates classification, parameterisation, recognition and marking, replacing manual steps () with automatic steps () over time.

This pipeline is the reason OpenConstructionERP can replace several commercial point-solutions with a single self-hosted stack - every module reads from and writes to the same canonical data layer.

Technical stack

Technical stack diagram

Plain-text version (for screen readers or non-Mermaid renderers)
┌──────────────────────────────────────────────────┐
│  Frontend (React SPA)                            │
│  TypeScript · Tailwind · AG Grid · PDF.js        │
└──────────────────┬───────────────────────────────┘
                   │ REST + SSE
┌──────────────────┴───────────────────────────────┐
│  Backend (FastAPI)                               │
│  193 auto-discovered modules · Plugin system     │
├──────────────────────────────────────────────────┤
│  BOQ · Costs · Schedule · 5D · Validation · AI   │
│  Takeoff · Tendering · Risk · Reports · Catalog  │
│  Requirements · Markups · Punch List · BIM Hub   │
│  PropDev · Geo Hub · Coordination · Clash AI     │
│  Accommodation · Floating Chat · 26 widgets      │
├──────────────────────────────────────────────────┤
│  Database (PostgreSQL, embedded in dev)          │
│  Vector DB (LanceDB / Qdrant)                    │
│  CAD Converters (DDC cad2data)                   │
│  CV Pipeline (PaddleOCR + YOLOv11)               │
└──────────────────────────────────────────────────┘

Project growth

Release downloads

GitHub release assets only, does not include pip install from PyPI, docker pull from GHCR, git clone, or direct downloads from openconstructionerp.com.

Downloads (pepy · per month)

OpenConstructionERP release download history

Stars

OpenConstructionERP star history

Support the Project

OpenConstructionERP is built by DataDrivenConstruction and shaped by feedback from users worldwide. If you find it useful:

Contributors

OpenConstructionERP is shaped by the people who report bugs, request features, and ask the sharp questions that push the platform forward. We credit every one of them. For supply-chain security, we do not merge external pull requests - see CONTRIBUTING.md for how contributions work here.

See CONTRIBUTORS.md for the full list. Want to join it? Open an issue or say hello in the community chat.

Security

Report vulnerabilities privately via GitHub Security Advisories or info@datadrivenconstruction.io. See SECURITY.md for the full coordinated-disclosure policy and supported versions.

AI disclaimer

AI suggestions produced by this software are preliminary estimates. A qualified construction-estimation professional must verify all quantities, classifications, and costs before any contractual or tender-submission use. See NOTICE and TERMS.md §4.

Trademarks

All product names, logos, and trademarks referenced in this repository are property of their respective owners. Any comparative references to commercial categories or products are made for fair comparative purposes based on publicly available information. OpenConstructionERP is an independent project and is not affiliated with, endorsed by, or sponsored by any third-party trademark owners. Full attributions in NOTICE.

Development and Contribution Model

OpenConstructionERP has been under continuous development for more than six years and has benefited from contributions, feedback, testing, and domain expertise from many different people.

To maintain a consistent architecture and reduce security, dependency, and integration risks, the project follows a centralized integration model.

This means that most production code is ultimately reviewed, consolidated, tested, and published through a single maintainer account. As a result, the GitHub contributor history does not necessarily reflect the actual number of people who have contributed to the project.

This approach is intentional. For a platform with many interconnected modules, unrestricted integration of changes from different environments, dependency versions, coding approaches, and configurations can gradually lead to incompatibilities and architectural fragmentation.

Rather than allowing the codebase to evolve into a collection of loosely connected components, changes are integrated into one coherent development line and undergo review and testing before being merged into the main project.

A single publishing account represents a controlled integration and release process designed to preserve stability, security, and architectural consistency.

License

AGPL-3.0 - see LICENSE. Third-party attributions in NOTICE.

You can freely use, modify, and distribute this software. If you modify and deploy it as a service, AGPL §13 requires you to make the corresponding source code available under the same licence.

For commercial licensing, which lifts the AGPL obligations on OpenConstructionERP itself so you can deploy it closed-source, see COMMERCIAL-LICENSE.md or contact info@datadrivenconstruction.io.

Read section 4a of that file before you deploy. Our commercial licence covers our own code and cannot cover anyone else's, and one dependency we ship in every install, PyMuPDF, is separately under the AGPL. A closed-source deployment has to deal with that component on its own terms. Section 4a names the features that use it and sets out the three options.

Privacy and terms


Follow on X Subscribe on YouTube Connect on LinkedIn Watch the 12-minute walkthrough

DDC Logo

About

Open-source construction ERP - BOQ, PDF/CAD/BIM takeoff, AI cost matching. 42 regional catalogues, 21 languages, 71 modules. AGPL-3.0. v3.0 - pip install openconstructionerp

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages