
Short answer: An ERP for construction companies keeps each site's estimate and budget, material purchasing, site stock, subcontractor settlements, progress billing and job costing in one database. In Odoo every project has its own analytic account, so purchases, materials, labour and subcontract costs are charged to that job. Management sees budget overruns while work is under way, not after handover, and can act in time.
Construction projects run for months, involve dozens of subcontractors and carry large budgets. Yet in many companies the estimate lives in Excel, accounting in 1C, material requests in the site manager's Telegram chat and subcontractor deals in a notebook. The question "how much have we spent on this site, and are we making money?" gets a real answer only when the project closes. Often it hurts: materials exceeded the estimate, a subcontractor was paid for unaccepted work, and some completed work was never billed.
Below: which processes a construction ERP must handle, how Odoo covers them, and where to start.
What is an ERP for a construction company?
A construction ERP is a single system that runs finance, purchasing, inventory and people separately for each construction site (project). We explain ERP in general in What is an ERP system? A complete guide. In construction, the unit of accounting is the project, not a product.
How construction differs from trading or manufacturing:
- Every site is a small company. It has its own budget, contract, client, stock and crew.
- Long cycles. Projects run for months or years, so profit and loss must be visible monthly.
- Advances and stage payments. The client pays an advance, then pays against certificates of completed work.
- Many subcontractors. Electrical, plumbing and facade work is done by other firms, also paid against certificates and advances.
- Materials sit on site. Cement, rebar and bricks are consumed far from the office.
Where does a construction company lose money?
Most construction profit is lost not through big mistakes but through small daily leaks. An ERP makes them visible:
- Estimate vs actuals gap. The estimate is made once, and nobody compares real costs against it.
- Material overuse and losses. Nobody knows how much delivered material was used, how much is left and how much "moved" to another site.
- Overpaying subcontractors. Paying for unaccepted work, forgetting an advance or paying one certificate twice.
- Unbilled work. The work is done, but the certificate reaches the client late. That is a direct cash-flow gap.
- Uncontrolled cash. The site manager buys small items with petty cash and brings receipts a week later.
- Idle time. The crew and crane wait for late materials, and that cost never reaches the job cost.
- Losses found too late. Profitability is calculated at the end, when nothing can be changed.
How is a construction project run in Odoo?
A construction project in Odoo is a project in the Project app linked to an analytic account; every revenue and cost is posted there, so the job cost builds up automatically. A typical flow:
- Tender. The enquiry or tender is recorded in CRM.
- Estimate. Work items and materials go into a quotation with sections.
- Contract and advance. The confirmed quotation becomes a sales order; an advance invoice is issued.
- Budget. The plan is entered by project, stage and cost category.
- Purchasing. Materials are bought against site requests and linked to the project.
- Site stock. Materials are received, consumed and surplus returned.
- Subcontracting. Subcontractors are paid only for accepted certificates.
- Progress billing. The client is invoiced for completed work, with the advance deducted.
- Review. Plan and actuals are compared weekly; final profitability is calculated at closing.
How do you build a construction estimate and project budget?
An estimate is the price calculation presented to the client; a project budget is the company's internal cost plan. The estimate holds selling prices, the budget holds costs and planned margin.
Practical ways to handle estimates in Odoo:
- A quotation with sections such as "Foundations", "Frame", "Roof" and "Finishing", each with work items and materials, sent to the client as a PDF.
- Norms per unit of work. For example, "1 m² of plastering" is defined as so much mortar and so many labour hours; enter the quantity and the material need is calculated. In Odoo this uses bills of materials or a customised norms table.
- Importing an external estimate from specialised estimating software or Excel, which then becomes the project budget.
To be clear: Odoo is not a tool for regulatory estimates based on Uzbekistan's building norms (ShNQ) and resource norms; those are usually produced in specialised software. Odoo's job is to turn the estimate into a budget you can execute and to control every soum spent.
Split the budget into cost categories:
- materials;
- own labour;
- subcontracted work;
- equipment and transport;
- site costs (security, electricity, temporary structures);
- a share of overheads.
Odoo Accounting (Enterprise) supports analytic budgets: enter the plan per project and category, and the system shows actuals and variance.
How do you control materials and site stock?
Site stock is a separate inventory record for the construction site, logging every material delivered, consumed and returned. In Odoo Inventory each site gets its own warehouse or location. For general principles, see How to keep inventory records.
- Request. The site manager creates a request from a phone: what, how much, which site, by when. "We need 5 tonnes of rebar tomorrow" no longer gets lost in Telegram.
- Approval. The project manager or procurement approves it; large amounts can require a second approval.
- Purchase or transfer. Stock from the central warehouse is transferred; otherwise a purchase order goes out with delivery straight to site.
- Receipt. The actual quantity is confirmed on site, so shortages show immediately.
- Consumption. Used materials are written off and their cost is charged to the project (recent Odoo versions can automate this through configuration).
- Stock counts. Regular counts on site; surplus is returned.
Management then sees a "planned vs actual vs variance" report per site and material.
How do you manage subcontractor settlements?
Subcontracting means handing part of the contracted work to another company; settlements are based on the contract, advances and accepted certificates of completed work.
In Odoo:
- The contract as a purchase order. Agreed quantities and rates are service lines linked to the project's analytic account.
- Advances are tracked separately and deducted from later certificates.
- Paying for accepted quantities. Once the site manager or supervisor accepts the work, a bill is entered for that quantity only and checked against the purchase order, so overpayments stand out.
- Retention. If part of the amount is held until the warranty ends, use payment terms (for example, 95% now and 5% in a year).
- Reconciliation. The balance with every subcontractor is visible for any date.
- Electronic documents. In Uzbekistan, VAT payers exchange invoices electronically, for example through Didox, which also handles certificates of completed work. Deep Vision's ready-made Didox module connects Odoo to Didox, so invoices are not keyed in twice. More: E-invoicing: Didox, Soliq and ERP integration.
How does progress billing to the client work?
Progress billing means invoicing the client for the work completed each month or stage rather than the full contract value. It is the standard payment method in construction.
Odoo supports three common approaches:
- By milestones. The contract is split into stages such as "Foundations", "Frame" and "Roof"; when a milestone is reached, its amount is ready to invoice.
- By completed quantity. Each month the certified quantity (m³, m², tonnes or percent) is entered on the sales order and only that is invoiced.
- With an advance. The advance is invoiced as a percentage or fixed amount and deducted from later invoices, so the client balance stays correct.
VAT (currently a 12% standard rate) is calculated automatically. Tax rules, such as VAT on advances, change, so check current requirements with your accountant before configuring.
How do you control job costs and project profitability?
Construction cost control means regularly comparing, for every project, the budget, commitments (ordered but not yet paid), actual costs and the forecast cost to complete. Each Odoo project has a profitability panel showing revenue from orders and invoices alongside purchases, subcontracting, labour and other costs.
What to review every week:
- Budget variance by cost category.
- Percent complete vs percent spent. Work 40% complete with 60% of the budget spent is a warning sign.
- Material variance: standard vs actual use.
- Client receivables: invoices issued but unpaid.
- Unbilled work: completed quantities not yet certified.
- Subcontractor payables: accepted certificates not yet paid.
- Schedule: planned vs actual stages on the Gantt chart.
The Gantt chart shows how one delayed task pushes back dependent tasks, so overruns and delays surface during the work. On reporting for owners, see What is management accounting.
How do you account for equipment, labour and documents?
Job cost includes equipment, labour and cash spending, not just materials; unlinked to the project, they distort profitability.
- Labour. Crew hours are logged by project and task and costed at the hourly rate.
- Equipment. Your own machines are managed in Fleet and Maintenance (fuel, repairs, servicing); hired equipment is bought as a service and linked to the project.
- Petty cash. Site cash spending goes into Expenses with a receipt photo and is charged to the site.
- Documents and photos. Drawings, certificates and site photos are attached to the project or task from the mobile app.
Which Odoo apps does a construction company need?
The core is Project, Purchase, Inventory, Sales and Accounting; other apps depend on the company's size and processes.
- Project: projects, stages, tasks, Gantt chart, profitability.
- Accounting: analytic accounting, budgets, settlements, VAT.
- Purchase: materials, services, subcontracts.
- Inventory: central warehouse and site stock.
- Sales: quotations, contracts, advances, progress billing.
- Timesheets, Expenses: labour hours and petty cash.
- Fleet, Maintenance: equipment and servicing.
- Documents, Sign: document archive and e-signatures.
- Manufacturing: if you produce your own concrete, blocks or steel structures.
Some features (Gantt view, budgets, Documents, Sign) are Enterprise-only. To estimate licences, implementation and support, read Odoo ERP pricing in Uzbekistan.
Where should a construction company start with ERP?
Start with one pilot site and the processes where most money leaks: purchasing, site stock and project costs. Launching everything at once is a common mistake; others are covered in 7 ERP implementation mistakes.
Recommended sequence:
- Diagnostics. Map how estimates, material requests and certificates work today.
- Master data. Clean up materials, work types, cost categories, sites and counterparties. This takes the most time.
- Pilot site. Launch purchasing, site stock and project costs on one site.
- Settlements. Add progress billing, advances, subcontracting and Didox.
- Budgets and reports. Set up plan-vs-actual and a management dashboard.
- Roll-out. Connect the remaining sites using the pilot's lessons.
If accounting runs in 1C, you can keep 1C for now and run projects and stock in Odoo, or move everything to Odoo. How to decide and migrate: Moving from 1C to Odoo. Implementation usually takes 2–6 months.
Construction ERP readiness checklist
- Does every site have its own budget with cost categories?
- Is it agreed where the estimate is made and how it becomes a budget?
- Who handles material requests and receipts on site?
- Is there a register of subcontracts, advances and retentions?
- How will you bill the client: by milestone, quantity or with an advance?
- Do site managers have smartphones and mobile internet?
- Which 5–7 indicators should management see weekly?
- Which site will be the pilot?
How can Deep Vision help?
Deep Vision is an official Odoo Gold Partner in Tashkent; we implement Odoo Project, Purchase, Inventory and Accounting around your processes.
- 7 certified Odoo specialists; 26 of our client projects are listed in the Odoo partner directory.
- We start with diagnostics and say openly what standard Odoo covers and what needs customisation.
- We have a ready-made Odoo module for e-invoicing through Didox.
- Odoo 19 also runs in Uzbek, which helps site managers and storekeepers.
- Implementation usually takes 2–6 months; standard Sales and Inventory often go live in 6–8 weeks. Training and support continue after go-live.
Our projects include Optika.uz, Timsoll and RockBeton: see the portfolio. Service details: Odoo implementation.
Want to see how Odoo Project and Accounting would work on your sites? Fill in a short brief and we will suggest where to start.
Frequently asked questions
Can you prepare estimates in Odoo?
Yes, as a quotation with sections or by importing from estimating software. Odoo does not replace software for regulatory estimates; its strength is turning the estimate into a budget and controlling spending.
How can we reduce material losses and overuse on site?
Give each site its own stock location, deliver only against approved requests and document receipts and consumption. Regular counts and a "norm vs actual" report show gaps quickly. Software will not stop theft, but it makes hiding it much harder.
How is an advance paid to a subcontractor tracked?
It is recorded against the subcontractor and deducted from the next accepted certificates. The balance and remaining advance are visible for any date.
Can Odoo work alongside 1C?
Yes. During a transition Odoo can run projects, purchasing and stock while accounting stays in 1C, though syncing two systems takes extra work.
Can site managers use Odoo from a phone?
Yes. Odoo runs in the browser and a mobile app, so site managers can create requests, confirm receipts, log hours and upload photos.
Does Odoo work for developers selling apartments?
Yes: buyers go in CRM, contracts in Sales and instalment schedules in payment terms. An apartment availability grid is not standard and is built as a customisation.
How long does implementation take and what does it cost?
Usually 2–6 months, depending on sites and apps. Cost depends on licences, users, customisation and integrations; leave a brief for an accurate estimate.
Conclusion
In construction, profit leaks between the estimate, purchasing, site stock, subcontracting and client billing. An ERP brings these into one database per project: a separate budget and cost control, material use compared with the plan, settlements with contractors and suppliers, deadlines on a Gantt chart and the real profitability of every project. Start with one pilot site and a weekly plan-vs-actual review.
Want to see how Odoo would work for your construction company? Fill in a brief for a free consultation or call +998 77 093 00 07.