- Home
- Industries
- Construction and engineering
Every project with its projected margin at each month-end
For project managers, technical offices and finance teams at builders and contractors. Purchases, crew time sheets, equipment, subcontracts and progress billing feed one cost per budget item, and the margin at completion is recalculated every month, not at final settlement.
Month-end simulator for your project
Enter six figures from the largest project you are running today. The simulator applies PMI earned value formulas and shows how much margin would remain at completion if cost performance holds. The data never leaves your browser.

- Planned value
- Earned value
- Actual cost
- Projection to completion
- Planned value to dateTarget budget × planned progress
- Earned value to dateTarget budget × actual physical progress
- Starting margin, on the target budget(Contract − target budget) / contract
- Executed work not yet billedContract × physical progress − cumulative billing
- Monthly financing cost of unbilled workUnbilled × ((1 + annual rate)^(1/12) − 1)
With the example values, the simulator shows a CPI of 0.93, an SPI of 0.90 and a projected margin of 2.8% against a 10.0% starting margin. Change any figure to see your case.
Show the formulas
- CPI = earned value / actual cost. Below 1: each sol spent produced less than one sol of work.
- SPI = earned value / planned value. Below 1: the project is behind schedule.
- EAC = target budget / CPI. Assumption: cost performance holds until the end.
Formulas from PMI, The Standard for Earned Value Management. The 0.95 warning threshold is this page’s own criterion; your company may use another. The starting values are an editable example, not data from any project.
From the work front to the bank: six moments in a month
Cost is generated on site all month long and revenue arrives one or two months after closing. Tap each moment to see which document it produces, where the information gets lost today and which Odoo 20 screen records it.
Site
- What is produced
- Material requests, store issue slips, crew time sheets and daily equipment reports.
- Where it gets lost today
- The site manager orders by WhatsApp, the issue slip stays in a paper pad and time sheets reach payroll without a budget item. Consumption reaches cost only at month-end.
- In Odoo 20
- Requests for quotation and purchase orders carry the project and budget item in the analytic distribution. The site store records each issue against the item. Crew time is logged as timesheets on the work-front task.
- Coverage
- Standard: purchasing and storePartly standard: time sheetsDevelopment: daily equipment report

Quantity survey
- What is produced
- The quantities executed in the month, per budget item.
- Where it gets lost today
- The quantity survey lives in the technical office spreadsheet and nobody compares it with what was bought and consumed in the same period.
- In Odoo 20
- Each budget item is an analytic account in the “Budget item” plan and progress is recorded per project milestone. The budget compares committed, allocated and achieved amounts per item.
- Coverage
- Partly standard: progress in m3, m2 or kg needs an extra field; standard records a percentage

Progress billing
- What is produced
- The monthly valuation with cumulative quantities, price adjustment by polynomial formula, advance amortisation and deductions.
- Where it gets lost today
- It is built in a separate spreadsheet, with INEI indices copied by hand, and never compared with the cost of the same period.
- In Odoo 20
- The project sales order is invoiced by milestone or by progress percentage, with one line per budget item.
- Coverage
- Partly standard: billing by progressDevelopment: formal valuation with adjustment and amortisation

Approval
- What is produced
- Approval from the supervisor or the client, or their observations.
- Where it gets lost today
- Observations arrive by email and the observed valuation is collected a month later with no record of the cause.
- In Odoo 20
- Approvals with the supporting file in Documents and e-signature with Sign. The same flow already approves purchase orders against the item balance.
- Coverage
- Standard: approvals, documents and signature

Invoice and withholding
- What is produced
- The e-invoice for the valuation and the deposit of the construction contract withholding (detracción).
- Where it gets lost today
- The withholding is reconciled in another spreadsheet and a late deposit is discovered when SUNAT flags it.
- In Odoo 20
- The invoice is issued from the sales order with the Peruvian localisation and carries the withholding on the document.
- Coverage
- Standard: Peruvian localisation

Collection
- What is produced
- The client payment and its bank reconciliation.
- Where it gets lost today
- Treasury sees invoices, not valuations; it cannot tell which project is financing which.
- In Odoo 20
- Payment follow-up groups overdue invoices by client and the project analytic account shows billed and spent amounts per item.
- Coverage
- Standard: accounting and payment follow-up

Screenshots from the lab Odoo, with data from the demo company Constructora Andina Demo S.A.C.
Project risk register: eight indicators that rarely reach the monthly report
Key risk indicators (KRI) do not measure how far the work has progressed but how much can be lost through schedule, contract or taxes. Tick the ones that happened on any of your projects in the last twelve months. The project control assessment puts them on a traffic light in your report.

| Indicator | Threshold | Rule or framework | The assessment measures it with | Happened on my projects |
|---|---|---|---|---|
| Budget items with purchases above their balance | ThresholdAny item where committed plus actual exceeds its target | Rule or frameworkCost control per budget item | The assessment measures it withThe question on what is checked before a purchase order is issued | |
| Idle rented equipment | ThresholdRental days without productive hours | Rule or frameworkDaily equipment report | The assessment measures it withThe questions on machinery control and idle equipment | |
| Subcontractor retention held outside the system | ThresholdNo retention outside the register | Rule or frameworkSubcontract agreement | The assessment measures it withThe question on the retention fund | |
| Subcontractor workers without verified SCTR insurance | ThresholdNone | Rule or frameworkLaw 26790 and DS 003-98-SA | The assessment measures it withThe question on SCTR verification | |
| Withholdings unreconciled or deposited late | ThresholdNone | Rule or frameworkSUNAT, Tax Obligation Payment System, RS 183-2004/SUNAT | The assessment measures it withThe questions on withholdings and SUNAT observations | |
| Bank guarantees expiring without renewal in progress | ThresholdNone within 30 days of expiry | Rule or frameworkContract; on public works, guarantees under Law 32069 and its regulation | The assessment measures it withThe question on how the company learns of the expiry | |
| Exposure to delay penalties | ThresholdNo project with projected delay and no plan | Rule or frameworkContract; on public works, regulation of Law 32069 | The assessment measures it withThe question on penalties and the SPI | |
| Change orders executed without approval | ThresholdNone | Rule or frameworkIntegrated change control, PMI | The assessment measures it withThe question on what happens before work outside the contract is executed |
Measure these indicators in the project control assessment
The boxes send no data; the counter lives only on this page. Law 32069, the General Public Procurement Law, replaced Law 30225; public works deadlines and penalties are set in the current regulation published by the OECE.
Three intervention fronts, in the order they usually pay back
Each front is judged by the indicators it moves and by how long the benefit takes to cover the investment. The order is confirmed with your company’s baseline: if your data reverses it, the data wins.
Front 1. Purchasing against item balance and actual cost per item
- Problem it tackles
- Purchase orders with no budget item, concrete and steel waste nobody compares with theory, a site store with no stock card.
- Indicators it moves
- Purchases committed against items, waste per input, CPI, cost without item.
- Risks it lowers
- Over-committed items, emergency purchases.
- Benefit calculated
- Annual material purchases × measured purchase overcost × capture; plus actual waste minus target waste, per input, valued at purchase price.
- In Odoo 20
- Analytic accounting with “Project” and “Budget item” plans, Budgets, Purchase, Approvals, Inventory with a store per project and Purchase agreements. Almost all standard; blocking an order with no balance is a small development.
- Why it goes first
- Material purchasing is usually the largest direct cost item of a project and the control acts from the first order.

Front 2. Progress billing, invoicing and collection
- Problem it tackles
- Executed work not billed at closing, observed valuations, polynomial price adjustment never collected, withholdings reconciled by hand.
- Indicators it moves
- Days to close a valuation, days from valuation to collection, project collection days, observed valuations.
- Benefit calculated
- Reduction in collection days × annual billed revenue / 365 × cost of your debt; plus last year’s calculable, unbilled price adjustment.
- Why it goes second
- It frees cash in the first quarter of use but needs more development than front 1. On public works only the part of the cycle the company controls is attributed.
Front 3. Subcontractors and equipment with daily reports
- Problem it tackles
- Subcontractor valuations approved without verified quantities, retention fund in a spreadsheet, rented equipment returned late, crew hours on standby.
- Risks it lowers
- Retention outside the system, idle rented equipment, workers without SCTR, overdue preventive maintenance.
- Benefit calculated
- Rental days without productive hours × daily rate × capture; annual subcontracted amount × measured deviation × capture.
- When it moves up
- If the subcontracted amount or annual equipment rental exceeds material purchases, this front goes before front 2.
Capture is the share of the measured gap that the change recovers. It is a model assumption, shown in the report, and your company can change it. The conservative scenario only includes levers measured with your data.
The benefit is measured against your project baseline
Before a process changes, its current state is measured. The implementation is judged by how those indicators move, in soles, with return, net present value, internal rate of return and payback recalculated on actual cash flows.
Baseline
Purchases, subcontracts, man-hours, collection days, unbilled work, penalties, unrecognised change orders, fines and guarantees.
Six months of records; twenty-four for penalties, fines and change orders; two weeks of field sampling.
Go-live
Actual start date of each front.
Go-live record.
At 90 days
Purchases with item, time sheets charged to cost within a day, unbilled work at closing, monthly CPI available.
Odoo dashboard calculated from records, with no parallel spreadsheets.
At 180 days
Waste, subcontract deviation, days from valuation to collection, equipment utilisation, KRIs below threshold.
The same dashboard, compared with the baseline.
Benefit report
Realised benefit per front against the conservative and base scenarios.
Monthly DMG-RT method report to the steering committee.
Control project
If one of your projects continues without intervention in the same period, it serves as a comparison. The attributed benefit is the change in the treated project minus the change in the control project. That way the improvement is not confused with a month of rain, a price change or a stalled work front.
(treated project indicator at 180 days − its baseline)− (control project indicator at 180 days − its baseline)
See the DMG-RT method, F0 to F5
Cost indicators are expressed per unit of quantity or per sol billed. Input prices are adjusted with the INEI Unified Construction Price Indices for the month. A front is declared stable after four consecutive weeks of indicators measured by the system.
Project control assessment: your report in three layers
The assessment walks through your project in six pages. At the end you receive a report with your maturity by topic, your risk indicators on a traffic light and the three fronts ranked for your case. If you add the optional financial baseline, the report calculates in soles the levers your data allows.
Assessment pages
- Project budget and site execution
- Progress billing, cost and accounting
- Site managers, guarantees and taxes
- Priority of the project control investment
- Your details
- Profile to compare your company
For the meeting, have at hand
- The target budget of an ongoing project, by budget item
- The latest valuation submitted and its collection date
- The list of active bank guarantees with their expiry dates
Layer 1. Maturity by topic
| Material against budget item | Developing |
| Crews and machinery | Initial |
| From quantities to cash | Developing |
| Earned value and cost at completion | Initial |
Layer 2. Risk indicators on a traffic light
| Budget items with purchases above their balance | Above threshold |
| Bank guarantees expiring without renewal in progress | Warning |
| Subcontractor workers without verified SCTR insurance | Below threshold |
Each indicator carries the answer that triggered it.
Layer 3. Fronts ranked by payback period
- Purchasing against item balance
- Progress billing, invoicing and collection
- Subcontractors and equipment
With each lever’s formula and the data still needed to calculate it. At the end of the assessment, the analyst agent asks for that data and offers the baseline template. Diego reviews every report before the meeting.
Odoo 20 limits on site
- Unit price analysis and bid budgetThey stay in S10 or another estimating tool. Odoo receives the target budget per item.
- Civil construction payrollThe collective agreement regime is not in standard. The current payroll stays and its cost is imported to the project.
- Site health and safetyOdoo 20 has no dedicated module. The HSE system is integrated or a register in Quality is used.
- Public works site logbookIt has a government platform. Odoo keeps the copy and supporting documents.
Frequently asked questions on project control
We use S10 for estimating. Do we have to drop it?
No. S10 remains for quantities, unit price analysis and bid budgets. The target budget is imported into Odoo per item and from there purchasing, store, valuations and actual cost are controlled.
How many budget items can a project hold?
Each item is an analytic account. Budgets with hundreds of items are loaded by import and grouped by headings for management reports.
Does it work for public works?
Yes, for the company’s internal control: cost per item, valuations, advances and guarantees. Penalty deadlines and formulas are configured according to the current regulation of Law 32069 and each project contract.
Does the site manager have to use the system?
The site manager approves requests and the storekeeper records issues from the site phone or tablet. Where there is no stable connection, records are entered at the end of the shift.
What about the construction contract withholding?
The e-invoice is issued with the Peruvian localisation and carries the withholding on the document. The deposit is recorded against the invoice and reconciliation no longer happens in a separate spreadsheet.
How much does implementation cost?
It depends on the front and the developments your case needs. The proposal is prepared after the diagnosis, with the investment broken down into licences, implementation, development, migration and your team’s time, and with payback calculated on your baseline.
Review the projected margin of an ongoing project with Diego
Bring the target budget of a project and its latest valuation. In 30 minutes you go through the simulator with your data, see the purchase, store and valuation flow in the lab Odoo with items like yours, and agree what to measure in the baseline. Diego Muñoz answers in person, on Lima time.