A contractor prices a job from a bill of quantities, buys against a budget, pays subcontractors for certified work and waits for retention to be released. Al Jawad Software House shaped Odoo around that chain for Pylox, a contracting company in the UAE, from the tender through to retention on both sides.
The business
A bill of quantities, or BOQ, is the priced list of work a contractor quotes. The BOQ becomes the quotation, then the budget, then the basis for what is bought and what subcontractors are paid. When each step lives in a separate spreadsheet, the numbers drift apart.
Where the work gets hard
A price is a stack of costs. Job cost, contingency, site running costs, equipment, office overhead and a defects period all sit under the profit. A flat margin does not describe it.
Purchasing must respect the budget. A request that goes over its project budget should be seen, not slip through.
Subcontractors are paid on certified progress. The work is measured and certified, and a share is held back as retention to be released later.
The client holds retention too. Money held back from the contractor has to be tracked until it is released, and advances have to be recovered.
Bigger payments need more approvers. Purchases, expenses and subcontractor payments need more sign-off as their value rises.
What we implemented
Quotations built from cost
A quotation is built as a BOQ, and an existing BOQ can be imported from Excel. Each line starts from its job cost. The other cost layers are added on top, then profit, which gives the selling price. The quotation can be exported to Excel in the format the client expects. A single action then creates the project budget from the BOQ cost lines.
Purchasing held to the budget
Purchase requests raised on a project are checked against its budget. A request within budget goes through. A request over budget is flagged, locked and sent to a senior approver.
Subcontractors and retention
A subcontract agreement leads to work orders, variations and progress claims. Each claim is measured, certified, invoiced and paid, with retention held back. Retention is released later through its own record, so the amount held, released and still owed is always visible. On customer invoices, retention is withheld and released the same way, and down payments are handled separately.

Approvals by value
Rules define who must approve a purchase order, expense or subcontractor payment as the value grows. The purchase order shows the approval levels it needs.
Equipment cost
Equipment use is charged to the project it served.
How the work gets easier
| The usual way | With the new process |
|---|---|
| The price is built in a spreadsheet and retyped for the budget | The BOQ gives the price and the budget together |
| Over-budget purchases are noticed after the order | Over-budget requests are flagged and held for approval |
| Subcontractor payments rest on informal agreement | Each payment follows a measured, certified claim |
| Retention is tracked on the side | Held, released and outstanding retention is on record |
| Approval levels depend on who is asked | The required approvers follow the value |
| Equipment cost is shared out at month end | Equipment use is charged to its project |
The result is a chain where each number comes from the one before it.

Related solutions
- Odoo Custom Development
- Odoo Project
- Odoo Accounting
- Industry-Specific Solutions