Skip to content
faceela

The award is not the win. The final account is

For the contractor whose margin is decided between the award and the final account, in documents a generic ERP has no field for.

MovintiConstruction contracting on Odoo · 16 modules on Odoo 19

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.

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.

Drag the screen sideways to read the rest of it

Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.

Budget, committed, spentThe cost plan by cost code, with what is still uncommitted at the end of the row. A code that has committed past its budget goes negative, in red, before the money leaves.

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.

  1. 1The project, its lifecycle stage, and the programme underneath it
  2. 2The head-contract BOQ — what the client has agreed to pay for
  3. 3A cost plan built from a dated price book, not a number somebody typed
  4. 4Packages scoped and put out to tender
  5. 5Bids levelled on a like-for-like basis before anyone is awarded
  6. 6The subcontract, carrying retention, advance and defects liability
  7. 7Material requests, submittals approved, purchase orders, gate receipt
  8. 8Two-tier stores: issued, returned, counted, valued, reconciled
  9. 9Daily logs, inspection requests, NCRs, punch items, drawings
  10. 10Progress claimed by the subcontractor, certified, and paid — money out
  11. 11Interim payment certificates on the head contract — money in
  12. 12Variations both ways, and the final account they add up to

On the record

The same chain, run live in front of an audience

Recorded on stage at Odoo's Roadshow for Construction, which we sponsored. Not a screen recording made under controlled conditions — the chain above, driven end to end in one take, with the room watching.

The demonstration runs on a database seeded for it. Every company, project and figure on screen is made up for the demonstration and belongs to no client.

The screens

The same chain, as the people who use it see it

Captured from the build shipping today, at full resolution and uncropped. Not a mock-up, not a marketing render, and not a diagram of what the software would do — the product's own screens, with the chrome and the menus left on.

  • 01

    A rate, taken apart

    Materials, labour and plant underneath one line of the bill — with waste, overhead and profit named separately rather than folded into a number nobody can argue with.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.
  • 02

    What the job actually needs

    The same estimate read as trades and machines: carpenters, masons, the tower crane, and the hours each is priced for. This is the view that tells a contracts manager whether the number is buildable.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.
  • 03

    The programme against its baseline

    Phases against the dates they were signed off at, each activity's percentage complete, and the critical ones marked as critical.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.
  • 04

    Four bids, levelled

    Quotes normalised line by line — an allowance carried for lines nobody priced, the lowest marked, the comparable total at the foot, and validity, programme and payment terms compared alongside the money.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.
  • 05

    The certificate, measured

    An interim certificate built from measurement — previous quantity, this period, percentage complete — then retention and advance recovery taken off it. The activity beside it is chasing the payment it became.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.
  • 06

    What the board reads

    Order book, certified to date, and the cash locked up in retention and unpaid certificates. Built against billed against spent, job by job.

    Drag the screen sideways to read the rest of it

    Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.

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.

Drag the screen sideways to read the rest of it

Demonstration data. The projects, prices and outcomes were invented to show the software working; the names are labels for fictional parties, any resemblance to a real company is unintended, and nothing here is an actual bid, award or payment.

The argument for the whole product, on one screen: the job cannot move to its next stage while two variations are unagreed, a subcontract is undecided and two critical non-conformances are open — and it names each one, with a link to it.

  • 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.
Osama MohamedOwner, Blue Spark Electromechanical — Dubai

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.

Main-contractor work carries a document trail that generic ERP does not model. We run a contracting system on Odoo instead, put in for the work we do in the Saudi market.
Eng. Mostafa Al ShabrawyFounder & CEOPlatinum Contracting
Fit-out runs on short programmes and long variation lists, and that is where the margin goes. The contracting system is on Odoo now, put in for how we deliver fit-out.
Eng. Ahmed Al SaadFounder & CEOOnesta

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.

Movinti

See it on your own numbers

A walkthrough on a database seeded with a live job, not a slideshow. Bring one package you let last year, one variation you argued about, and one certificate that went out late, 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.

We reply on WhatsApp first. Include your country code.

No newsletter, no reselling your number. We use it to reply to you — see our privacy policy.

WhatsApp us