The award is not the win. The final account is
Movinti runs a contractor's job from award to final account: packages tendered and levelled, subcontracts with retention and advance, claims certified, certificates paid, variations both ways, and a wall between the people who certify work and the people who release money for it. We built it, we sell it, and we put it in ourselves.
MovintiConstruction contracting on Odoo · 16 modules on Odoo 19
The distinction that matters
What Odoo's own Project has to do with this
Less than you would hope. Odoo Project is a good task board with timesheets on it, and a contractor's money does not live in tasks. It lives in a bill of quantities somebody priced, a package somebody let below that price or above it, a claim somebody certified at a percentage, a variation somebody either raised in time or ate, and a retention somebody is still holding two years later.
Odoo's Accounting, Purchase and Inventory sit underneath Movinti and are not replaced. That is the part of Odoo this is built on, and it is the part that is genuinely good. What is added is the sixteen modules' worth of contracting between the award and the ledger — the part every generic ERP asks you to keep in Excel and then reconcile.
The alternative usually on the table is a construction platform bought from abroad: strong on the document trail, silent on the accounts, and priced per user in a currency that is not yours. Movinti posts into the same ledger the auditor already reads.
How it runs
The chain, from an award to the final account
Every figure is cut by project and by cost code, because that is how a contractor loses money — in one trade, on one job, while the portfolio still looks fine.
- 1The project, its lifecycle stage, and the programme underneath it
- 2The head-contract BOQ — what the client has agreed to pay for
- 3A cost plan built from a dated price book, not a number somebody typed
- 4Packages scoped and put out to tender
- 5Bids levelled on a like-for-like basis before anyone is awarded
- 6The subcontract, carrying retention, advance and defects liability
- 7Material requests, submittals approved, purchase orders, gate receipt
- 8Two-tier stores: issued, returned, counted, valued, reconciled
- 9Daily logs, inspection requests, NCRs, punch items, drawings
- 10Progress claimed by the subcontractor, certified, and paid — money out
- 11Interim payment certificates on the head contract — money in
- 12Variations both ways, and the final account they add up to
The refusals
The eight things it refuses to do
A gate is a state transition the software declines, not a line in a procedure manual. Each of these is asserted by a test that fails the build if it stops being true, which is the difference between a control and a document about a control.
RefusesLetting the person who certified the work release the money for it
That is the single question a contractor's controls exist to answer no to, and no Movinti role reaches the ledger at all.
RefusesClearing a document above a threshold without the signature its value requires
Authority is a function of amount, and a hundred thousand omitted needs the same signature as a hundred thousand added.
RefusesLetting the person who counted the stock sign the count off
A count approved by the counter is a count, not a control — and stock is where the shrinkage hides.
RefusesAny edit to the approval register, by anybody, including the administrator
A signature the signer can go back and change is evidence of nothing.
RefusesBuying material whose submittal the consultant has not approved
Material bought ahead of approval is material you may be told to take off the site at your own cost.
RefusesA progress claim that exceeds the subcontract
It points at the variation that would lift the ceiling instead — which is the conversation that should have happened first.
RefusesClosing a site instruction that carries a cost impact with no variation raised
That is the exact moment a claim is lost: the work is done, everyone moves on, and nobody wrote it down.
RefusesClosing a non-conformance with no root cause and no corrective action
An NCR closed on a tick is the same defect arriving again next month with nothing to show the consultant.
Honest limits
What it deliberately does not do
It is not payroll, and does not pretend to be. The day sheet measures what a gang cost the job; what it cost the company is payroll's answer, and duplicating it would give you two headcounts that disagree.
It does not hold plant as an asset register. The cost of hired plant is captured on the day sheet and charged to a cost code, but the machine itself has no record, no maintenance schedule and no utilisation figure.
It does not import a programme from Primavera or MS Project. That stays out until the native critical path is worth trusting, because a schedule that arrived by import and is quietly wrong is worse than no schedule at all.
It does not model one of your companies subcontracting to another. Two companies in one database are supported and fenced from each other; inter-company trading between them is not built.
One client, twelve months live
Where AED 2.99 million a year was going
Blue Spark Electromechanical, an MEP contractor in Business Bay, Dubai. None of it is new revenue. All of it is money they had already earned and were giving back.
AED 940,000
Every package priced before it is awarded
Priced line by line through the portal. Gain or loss shows before the award.
AED 715,000
Variations that used to be absorbed
Logged on a phone the day given, priced, carried into the next certificate.
AED 480,000
Retention that came back on its date
Held both ways, released in tranches, each with its own date and invoice.
AED 385,000
Material that reached the project it was ordered for
Received at the gate, issued against a cost code, over-draw charged to it.
AED 265,000
Certificates out eleven days earlier
The measurement is the certificate. Eleven fewer days of work in progress to fund.
AED 210,000
Back-charges raised against whoever caused them
The NCR closes against the subcontract, and the deduction lands on his next payment.
Recovered in the first twelve months liveAED 2,995,000
We were not losing money on the bad jobs. We were losing it on the ones we thought were fine. What changed my mind was the first time a foreman logged an instruction from his phone and I found it in the certificate at month end.
Blue Spark's own figures, published with permission. Recovered on work already won — not a forecast, and not a promise your six holes are the same.
Running today
Who is on it
Bluespark MEP
MEP contracting
Our contracting system on Odoo: subcontract agreements, payment certificates and accounting in one chain, so a certificate is checked against the contract it belongs to.
- Subcontractors managed on it
- 50+
Platinum Contracting
Main contractor — Saudi Arabia
The same contracting system on Odoo, implemented for a main contractor operating in the Saudi market.
Onesta
Fit-out contracting
Our contracting system on Odoo, implemented for fit-out delivery.
Questions
What buyers ask us first
Is this a product or a project?
A product. The modules are written, tested and installed from packages, and what an implementation adds is your projects, your chart of accounts, your thresholds and your people — not the software. That is the difference between a fixed thing being configured and a bespoke build being discovered at your expense.
Do our subcontractors need Odoo licences?
No. They price packages, submit claims and keep their trade licence and insurance current through a portal built for them, without a user account in the system. That was deliberate: a control that costs a licence per subcontractor is a control nobody switches on.
Does it replace our accounting?
No — it posts into it. A payment certificate raises and posts a vendor bill, an IPC raises and posts a customer invoice, and both are written on the company's behalf under the authority of the approval recorded on the document. The certifier never touches the ledger, and the ledger is still Odoo's.
Where does it stand on UAE e-invoicing?
It is built for the 2027 mandate, and that part is a separate module on purpose: it sells to any UAE business facing the deadline, not only to contractors, so it does not depend on anything else of ours.
How we put it in
Written around this
Built for
Movinti
See it on your own numbers
A walkthrough on a database seeded with a portfolio, not a slideshow. Bring one tenancy, one owner and one argument you have had with a spreadsheet, and we will show you where each of them lands.
Monday to Friday, 9:00 AM – 6:00 PM (GST)
Prefer we call you?
Leave your WhatsApp number and we will reach out.
