Construbot Documentation#

Python Version Django Version License

An Operational Solution for Construction Companies

Construbot is a comprehensive Django-based construction management system for tracking contracts, estimates, counterparties, and financial operations. Built with multi-tenancy, hierarchical data structures, and a powerful REST API.

Note

Documentación en Español disponible | Spanish Documentation Available

🇪🇸 Versión en español: https://construbot.readthedocs.io/es/

🇬🇧 English version: https://construbot.readthedocs.io/

Note

Language Note: While the codebase uses Spanish terminology (Contrato, Estimación, etc.), this documentation is primarily in English with Spanish translations available. See Domain Terms Glossary for complete term translations.

What is Construbot?#

Construbot helps construction companies manage:

Hierarchical Contracts - Parent contracts with subcontracts using tree structures

Progress Estimates - Track work completion and payments (Estimaciones)

Counterparty Management - Clients, subcontractors, and piecework contractors

Financial Tracking - Advances, retentions, and payment calculations

Multi-Company Support - One system for multiple business entities

PDF Generation - Automated document creation

Excel Import/Export - Bulk data operations

REST API - Mobile and external integrations

Key Features#

Multi-Tenant Architecture

Three-level hierarchy (Customer → Company → User) with complete data isolation between companies.

Hierarchical Contracts

Use django-treebeard for parent/child contract relationships with automatic financial aggregation.

Email-Based Authentication

Modern authentication using email (not usernames) with six permission levels from Auxiliar to Superusuario.

Production-Ready

Docker deployment, PostgreSQL database, Redis caching, Celery tasks, S3 storage, and comprehensive security.

Technology Stack#

Backend Framework: Django 3.2.19 (Python 3.9.17+)
Database: PostgreSQL 12+
Cache/Queue: Redis 6+
Task Queue: Celery 5.2.7
API: Django REST Framework + SimpleJWT
PDF Generation: ReportLab
Tree Structures: django-treebeard

Quick Start#

For Users:

# Access the application
https://your-construbot-instance.com

# Log in with your email and password
# See: user-guide/getting-started

For Developers (Docker):

# Clone repository
git clone https://github.com/javier-llamas/construbot.git
cd construbot

# Build and start
make buildev

# Create superuser
make superuser

# Access at http://localhost:8000

See Installation for complete setup.

Documentation Structure#

This documentation is organized for three audiences:

User Guide#

For end users managing construction projects:

Developer Documentation#

For developers installing or extending Construbot:

Contributor Guide#

For contributors improving Construbot:

Reference#

Quick reference for all users:

Spanish Terminology#

The codebase uses Spanish business terminology. Key translations:

Spanish

English

Description

Contrato

Contract / Project

Main business entity

Contraparte

Counterparty

Client, subcontractor, or contractor

Estimación

Estimate / Progress Payment

Payment request for completed work

Concepto

Concept / Line Item

Individual work item in catalog

Retención

Retention / Withholding

Financial withholding

Sitio

Site

Construction site location

See Domain Terms Glossary for 100+ complete translations.

Repository & License#

GitHub: https://github.com/javier-llamas/construbot

License: GNU Affero General Public License v3 (AGPLv3)

Current Version: 1.1.04

Get Help#

Documentation Sections#

Indices and Tables#