Module · Commercial

Kill the spreadsheet that prices your business.

Your bid model is the most important file in the company. It has three people's edits in it, nobody has tested it, and the person who built it left. One broken formula prices three years of work wrong.

app.operifyai.co.uk / costing/estimates
SA
Search anything…⌘K
Commercial
Costing
Clients
Contracts
SLAs & KPIs
Client visibility
Costing
Bid pipeline · live annual charge & margin
New estimate
Pipeline£2.41m
Win rate38
Avg margin6.1%
Approvals due3
ClientAnnual chargeStatus
Meridian Plaza£312,400In review
Kingsway House£188,900Approved
Harbour Quarter£96,200Draft
Northgate Retail£480,000Won
How a bid is priced

One equation. The whole model behind it.

A bid is built from labour, management, periodic works, services, equipment and consumables. The engine rolls up the service cost and applies one equation:

The one equation
Annual Charge = Service Cost / (1 − Overhead% − Profit%)
Every on-cost the spreadsheet forgets is a line the engine already knows.

The builder covers the whole model, including the parts generic software has never heard of: pay rates and on-costs, employer National Insurance including the below-secondary-threshold path, holiday and bank-holiday pay, the apprenticeship levy, auto-enrolment pension, management lines, periodic machine hire, mileage and permits, equipment finance, and consumables tiers driven by occupancy and floor area.

Estimate · cost modelRate card v4
Direct labour£623,000
Employer NI incl. below-threshold£48,200
Apprenticeship levy£3,100
Auto-enrolment pension£18,700
Holiday & bank-holiday pay£51,400
Overhead + profit£94,000
Annual charge£480,000
Guardrails

It will not let you price a losing bid.

It blocks a bid priced below the statutory wage floor. It warns on the Real and London Living Wage. It blocks when overhead plus profit reach one hundred percent. An optional margin floor blocks approval below a net margin you set. Edit any figure on an approved bid and it returns to review, so the guardrails are re-checked before sign-off.

The spreadsheet never stopped you. This does.

Estimate · approvalGuardrails
Rate entered£10.20 / hr
Statutory wage floor£11.44 / hr
Overhead + profit96%
Blocked · priced below the statutory wage floor
Edit an approved bid and it returns to review
Beyond a single year

Three years, four scenarios, one budget.

A three-year plan compounds pay-rise and inflation escalation across years one to three. A target-price goal-seek takes a client's stated budget and solves back to the implied margin or hours, so you know before you commit rather than after. A scenario compare lays four priced bids side by side. Rate cards are versioned, cloneable and retirable, so a re-price uses a known, dated set of assumptions rather than whatever happened to be in the file last time.

Scenario compare3-year plan · versioned
S1
4.1%
margin
S2
5.6%
margin
S3 · win
6.2%
margin
S4
7.4%
margin
Goal-seek to client budget£480,000
Win to delivery

Mark it won. It becomes a live contract.

One action creates the client, the contract, a site unit per costing site with occupancy and floor area carried across, a service plan, recurring task definitions from the periodic works, and unassigned weekly shift patterns for the labour. Nothing is re-typed, so nothing drifts. What you sold is what you deliver, and the number you priced is the number you are measured against.

No workforce app can price a tender. The one cleaning platform that offers bidding sells it as a separate product, on a separate website, in a separate database. That is not the same thing.

Marked won → live contract1 action
Client createdNorthgate
Contract & 12 sitesoccupancy carried
Service plan & tasksfrom periodics
Weekly shift patternsunassigned
Nothing re-typed · nothing drifts

Price your next tender in Operify AI.