Module Overview¶
Purpose¶
The Atlas Construction Management module transforms Odoo into a comprehensive construction project management system. It provides specialized tools for:
Job Costing: Track actual costs vs. budgeted costs by phase and category
Budget Management: Create, track, and analyze project budgets
Change Order Management: Process and approve change orders with budget impact tracking
Progress Billing: Bill customers based on completed work milestones
Daily Reporting: Field teams log work, weather, safety incidents, and progress
Customer Selections: Track material and finish selections with budget impacts
Purchase Order Integration: See committed costs before invoices arrive
Project Scheduling: Visual Gantt charts for task management
Geographic Tracking: Map-based project location management
Target Users¶
This module is designed for construction companies of all sizes:
Small Residential Builders¶
Simple budget tracking
Change order management
Progress billing
Customer selections
Basic daily logs
Medium Commercial Contractors¶
Detailed phase/category cost tracking
Multiple concurrent projects
Complex budget templates
Purchase order commitment tracking
Field reporting with photos
Large General Contractors¶
Enterprise-scale project management
Advanced cost code structures
Multi-tier approval workflows
Comprehensive analytics
Integration with existing systems
Key Concepts¶
Projects vs. Jobs¶
In this module:
Project: An Odoo project (
project.project) represents a construction jobConstruction Job: When
is_construction_jobis enabled, additional construction features become availableJob Number: Unique identifier for each construction project
The module extends Odoo’s standard project management with construction-specific functionality.
Phases and Categories¶
Job costs are tracked using a two-dimensional matrix:
- Phases (Vertical)
Sequential stages of construction work:
Site Work
Foundation
Framing
Rough-In (Electrical, Plumbing, HVAC)
Insulation & Drywall
Finishes
Final / Punch List
- Cost Categories (Horizontal)
Types of costs within each phase:
Labor
Materials
Subcontractors
Equipment
Other
This creates a detailed cost matrix:
Labor Materials Subcontractors Equipment Other
Site Work ✓ ✓ ✓ ✓ ✓
Foundation ✓ ✓ ✓ ✓ ✓
Framing ✓ ✓ ✓ ✓ ✓
Rough-In ✓ ✓ ✓ ✓ ✓
...
Each cell in this matrix is a Job Cost Line (budget line) that tracks:
Budget amount
Actual costs (from timesheets, vendor bills)
Committed costs (from open purchase orders)
Variance (budget vs. total cost)
Budget vs. Actual vs. Committed¶
- Budget
The planned cost for a job cost line. Set during project setup.
- Actual Cost
Money already spent:
Vendor bills that have been posted
Timesheet labor costs
Expense reports
- Committed Cost
Money obligated but not yet spent:
Open purchase orders (confirmed but not received)
Shows future costs coming
- Total Cost
Actual + Committed = Complete budget picture
- Variance
Budget - Total Cost = Amount over/under budget
Architecture¶
Data Model¶
Core Models¶
project.projectExtended with construction-specific fields:
is_construction_jobjob_numbercontract_amountjob_type_idCost summary fields
atlas.job.cost.lineIndividual budget line tracking:
Links to project, phase, category
Budget amount
Actual and committed costs (computed)
Variance tracking
State management
atlas.job.phaseConstruction phases:
Name (Foundation, Framing, etc.)
Sequence for ordering
Used across all projects
atlas.job.cost.categoryCost categories:
Name (Labor, Materials, etc.)
Sequence for ordering
Used across all projects
Supporting Models¶
atlas.change.orderChange order requests:
Links to project
Line items with costs
Approval workflow (draft → submitted → approved/rejected)
Integrates with sales orders
atlas.billing.milestoneProgress billing milestones:
Percentage-based or fixed-amount
State tracking (pending → ready → billed)
Invoice integration
atlas.daily.logField reports:
Date, weather, temperature
Work completed
Crew information
Photos, delays, safety incidents
atlas.project.selectionCustomer material/finish selections:
Selection categories
Options with pricing
Approval tracking
Budget impact calculation
atlas.job.budget.templateReusable budget structures:
Template lines with percentages
Apply to new projects
Speed up project setup
Integration Points¶
Purchase Orders¶
Links PO lines to job cost lines
Tracks committed costs
Updates when PO is received/billed
Sales Orders¶
Created from change orders
Generates customer-facing quotations
Tracks change order revenue
Vendor Bills¶
Can link to job cost lines
Updates actual costs when posted
Three-way matching with PO
Timesheets¶
Employee time tracked to projects
Labor costs calculated and allocated
Links to job cost lines (if configured)
Module Dependencies¶
Required Modules¶
project- Base project managementsale- Sales orders for change orderspurchase- Purchase order integrationaccount- Financial tracking
Optional Modules¶
hr_timesheet- Labor cost trackingstock- Inventory managementmrp- Manufacturing/assemblyweb_gantt- Enhanced Gantt charts
Workflow Overview¶
Typical Project Lifecycle¶
Project Setup
Create project with contract amount
Select job type
Apply budget template (or create budget manually)
Configure phases and categories
Budget Management
Review and adjust budget lines
Set phase sequencing
Establish cost tracking structure
Execution
Create purchase orders linked to cost lines
Track daily field progress
Log work, photos, incidents
Monitor actual vs. budget
Cost Control
Review variance reports
Track committed costs from open POs
Adjust budgets as needed via change orders
Change Management
Customer requests changes
Create change order with line items
Submit for approval
Update budget upon approval
Progress Billing
Mark milestones as complete
Generate invoices
Track payment
Project Closeout
Complete final work
Submit final invoices
Archive documentation
Analyze final costs vs. budget
Tip
Use budget templates to speed up project setup. Create templates for common project types (e.g., “Single Family Home”, “Kitchen Remodel”) with typical phase/category distributions.
User Roles¶
The module defines several security groups with different permission levels:
Job Cost User¶
Can:
View project budgets
View actual costs
View daily logs
View change orders
Cannot:
Edit budgets
Approve change orders
Create/edit cost categories or phases
Typical users: Field supervisors, estimators (read-only access)
Job Cost Manager¶
Can:
Everything Job Cost User can do
Create and edit job cost lines
Manage project budgets
Create change orders
Manage daily logs
Configure customer selections
Cannot:
Approve change orders (requires specific approval rights)
Configure system-wide settings
Typical users: Project managers, office managers
Job Cost Admin¶
Can:
Everything Job Cost Manager can do
Configure phases and cost categories
Create and manage budget templates
Configure module settings
Manage all projects company-wide
Typical users: Construction managers, system administrators
Additional Groups¶
Scheduling User: View project schedules
Scheduling Manager: Edit project schedules
Billing User: View billing milestones
Billing Manager: Create invoices from milestones
Change Order User: View change orders
Change Order Manager: Approve change orders
Daily Log User: Create daily logs
Daily Log Manager: Edit all daily logs
See Security & Permissions for detailed permission matrices and configuration instructions.
Benefits¶
For Project Managers¶
Real-time visibility into project costs
Early warning when budgets are at risk
Accurate tracking of committed vs. actual costs
Streamlined change order management
Data-driven decision making
For Field Teams¶
Simple daily log entry
Photo documentation
Weather and delay tracking
Safety incident reporting
Mobile-friendly interface
For Accounting¶
Accurate job costing
Work-in-progress tracking
Progress billing automation
Integration with AR/AP
Financial reporting by project
For Executives¶
Portfolio-level visibility
Project profitability analysis
Resource allocation insights
Cash flow forecasting
Historical data for estimating
Next Steps¶
Installation - Install and configure the module
Security & Permissions - Set up user permissions
configuration/phases_categories - Configure phases and categories
Project Setup - Create your first project