From BOQ to execution and progress billing
In contracting, the unit of operation is not the sales order or the invoice. It's the project and its contract.
Every project starts as a scope of work, quantities, and prices, then turns into purchasing, subcontractors, site teams, materials, and equipment. And once the work is done, the invoice doesn't go out because material was delivered; it goes out against executed quantities that were measured and approved.
Meanwhile, Interim Payment Certificates (IPCs) go out to the client for works executed, and Subcontractor Payment Certificates come in for the works they executed. Between the two sit the actual cost and the project's real profit.
The contract is the project's reference
When the project is awarded, the contract is recorded with everything that governs execution and accounting:
The BOQ, purchasing, subcontractors, measured works, certificates, invoices, and collections all link back to the contract, so no stage turns into a standalone file that can't be reconciled with what came before it.
A BOQ that drives operations
The bill of quantities is not a price sheet you attach to the contract and forget.
The BOQ is built on two levels:
Each line item carries:
The item's price is built up from its components, instead of a lump sum that never shows how it was estimated or where its margin moved.
The work breakdown structure (WBS) can also be exported as a clean document for printing, review, and sign-off.
Before construction starts
Each line item is assigned an execution method:
Purchase requirements, execution-team tasks, and subcontractor agreements are all generated from the BOQ line items themselves.
The site never requests materials without a reference, and no work goes to a subcontractor without knowing the line item, the quantity, and its estimated cost.
The project budget
The approved BOQ becomes the baseline that execution cost is measured against.
The budget is broken down by:
During execution, every line item shows three distinct numbers:
- 01 Estimated cost.
- 02 Commitments: contracts signed and purchase orders issued.
- 03 Actual cost consumed or posted.
Commitments matter: a project can look on-budget while purchase orders and contracts are already out there, with invoices yet to arrive.
Purchasing tied to the project
A purchase request starts from a specific need inside a line item or project phase.
It moves from request to supplier quotes, then purchase order, receipt, and invoice, keeping its project reference the whole way through.
So you always know:
If the supplier, price, or quantity changes, the impact shows on the line item and the project budget, instead of staying buried inside the purchasing ledger.
Subcontractors
Each subcontractor's scope is recorded against the line items and quantities assigned to them, along with the contract price, payment terms, retention, and advance payment if any.
During execution, the subcontractor submits their measured works or Subcontractor Payment Certificate, which passes technical and financial review before approval.
For each subcontractor you see:
A subcontractor's certificate is never a copy of the client's certificate: the company may approve a quantity from the subcontractor before the consultant or client has approved it.
That gap must stay visible. It hits cash flow and project profit directly.
Site teams
Site activity is tied to the project and line item it serves, not just to a warehouse or an employee.
That covers:
When material is issued, it's tagged to the project, site, and line item consuming it, so the project's total cost never looks correct while nobody can say where the materials actually went.
Measured work confirms what was completed on site
A contract quantity never turns into a payment certificate on its own.
The site engineer records the quantities actually executed per line item, and each measured-works record enters a documented submit–review–approve trail:
Every line item keeps two separate figures:
The difference between them is work executed that hasn't yet turned into receivables.
The client payment certificate
The client certificate is generated from approved quantities, not from a separate manual estimate.
For each line item, the certificate shows:
Then it applies the contract math:
The certificate comes out as a submission-ready PDF, and once approved it becomes an invoice linked to the project, the contract, and the measured works it came from.
Any number can be traced from the quantity on site to the certificate, then to the invoice and the collection.
Progress payments flow in both directions
Payment certificates are managed in two parallel directions:
Client payment certificate: owed to us
The value of works the company executed and the client or consultant approved, now due to the company.
Subcontractor Payment Certificate: owed by us
The value of works the subcontractor executed and the company approved, now due to them.
Keeping the two directions separate reveals:
The advance payment
The contract's original advance payment is recorded, along with any additional advances tied to variation orders.
Every certificate shows:
Advance payment recovery is never recalculated from scratch each time, or tracked in a side spreadsheet detached from the certificate.
The same logic applies to advances paid to subcontractors, in the opposite direction.
Retention and warranty
Retention is deducted from every certificate at the contract percentage, accumulating as a separate balance until release falls due.
The system shows:
Retention never disappears into the client's or subcontractor's balance, and never gets forgotten once execution ends.
After provisional handover, snag items and warranty works stay attached to the project until they're closed and final handover is complete.
Variation orders
When a line item's quantity changes or extra work appears, the original BOQ isn't edited as if the change had existed since day one of the contract.
A standalone variation order is issued, carrying:
A variation order may adjust the quantity of an existing line item, or add a new item or activity.
It enters the certificate only at the approved quantity and value, with the gap between claimed and approved kept on record.
And the project shows a complete variation-order position: claimed, approved, rejected, under review, with the approval rate and the value of each state.
Progress billing
In contracting, the invoice isn't triggered by delivering a finished product. It's triggered by approved progress.
So the system keeps these apart:
That separation stops billing from being read as the only measure of progress, and stops technical progress from being read as collected revenue.
Project cost
Every transaction is charged to the project and line item that caused it:
Cost can then be analyzed across dimensions such as:
You get the project's total cost, the cost of every activity and line item inside it, and the source of any budget variance.
Work in progress
Not every cost paid is an expense of the current period, and not every amount invoiced reflects the work done that same month.
So project costs are tracked as work in progress (CIP/WIP), separating:
When the certificate is approved and invoices are posted, the numbers flow into accounting from the operational documents themselves. Nothing is retyped by hand.
Line-item profit before project profit
A project can be profitable overall while some of its line items lose money, or look temporarily unprofitable because executed work hasn't been approved yet.
So every line item shows:
Line items then roll up into profitability by activity, site, and project.
You can pinpoint whether a variance came from extra materials, price changes, labor productivity, a subcontractor's cost, or additional works still awaiting approval.
Handover doesn't always end the relationship
In projects like elevators, building systems, and equipment, the project becomes an asset after installation and handover, one that needs maintenance, warranty, and breakdown follow-up.
The asset's data stays linked to the project it was installed through:
Maintenance never starts from a fresh database cut off from the execution history.
Preventive maintenance
The maintenance contract defines:
Visits are scheduled automatically from the contract and assigned to the technical teams.
On every visit, the technician records:
So you can see which contract obligations were delivered, which slipped, and how many visits remain.
Emergency breakdowns
A breakdown is logged against the unit, the site, and its linked contract, capturing:
Before the client is charged for a repair, the system determines whether the fault is under warranty, covered by the maintenance contract, or needs a quotation and additional work.
Free repairs, paid works, and spare parts stay clearly separated, instead of resting on the technician's judgment on site.
Contract renewal
Before a maintenance contract expires, you see the full position: client, units, visits, breakdowns, and the costs tied to the contract.
You can review:
Then the renewal is issued (same units, or a new scope and price) without losing the previous service history.
What each role owns
| Role | What they own in the cycle |
|---|---|
| Contracts management | Contract data, terms, and scope |
| Technical office | The BOQ, line items, measured works, and variation orders |
| Project manager | Plan, resources, progress, and approving site needs |
| Site engineer | Daily logs, executed quantities, and material requests |
| Warehouses | Receiving, transfers, issues, and returns |
| Purchasing | Suppliers, prices, and purchase orders |
| Subcontractor management | Assignments, measured works, and subcontractor payment certificates |
| Cost control | Budget, commitments, cost, and variances |
| Accounting | Invoices, retentions, advances, payments, and collections |
| Maintenance | Visits, breakdowns, spare parts, and contract renewals |
| Management | Project status, cash, profitability, and exceptions |
- What they own in the cycle
- Contract data, terms, and scope
- What they own in the cycle
- The BOQ, line items, measured works, and variation orders
- What they own in the cycle
- Plan, resources, progress, and approving site needs
- What they own in the cycle
- Daily logs, executed quantities, and material requests
- What they own in the cycle
- Receiving, transfers, issues, and returns
- What they own in the cycle
- Suppliers, prices, and purchase orders
- What they own in the cycle
- Assignments, measured works, and subcontractor payment certificates
- What they own in the cycle
- Budget, commitments, cost, and variances
- What they own in the cycle
- Invoices, retentions, advances, payments, and collections
- What they own in the cycle
- Visits, breakdowns, spare parts, and contract renewals
- What they own in the cycle
- Project status, cash, profitability, and exceptions
The site engineer doesn't approve a financial certificate, the subcontractor doesn't invoice without approved measured works, and accounting doesn't adjust technical progress to make an invoice balance.
Project status
At any moment, you can see:
One cycle for the whole project
Odoo runs the project from opportunity, award, contract, and BOQ, through purchasing, subcontractors, site teams, and measured works, to the payment certificate, the invoice, collection, and cost.
And after handover, the asset's data lives on through the warranty, preventive maintenance, breakdowns, and contract renewals.