Progress stops
being an opinion.
The quantity a crew books in the morning is the quantity the application bills at month end — the same row, countersigned by a second person, and named on the bill line as the record that earned it. The programme, the contracts and the ledgers all read off that one record.
The slip is measured, not estimated.
The forecast finish is arithmetic: the approved quantity still to do, divided by the rate the crew has actually achieved, counted from today. Where it lands past the plan, the bar carries the slip in days.
- Finish-to-start dependencies with lag; a loop is refused, and named.
- Lost days go on a delay register with cause, attribution and cost.
- An obstruction or a weather day opens a contract notice from the row it happened on.
- P6, MSP and Asta programmes import; the actuals written back are derived from approved progress, never typed.
The ladder is yours. The author is never on it.
A variation climbs the approval tiers your organisation set on Admin → Settings, in order, and the person who raised it can never be one of the approvers. The last approval is what writes the schedule-of-values lines, in the change order's own section.
- Raised from an RFI, from a T&M ticket, or freely. Rejection carries a reason.
- T&M day tickets price labour, plant and materials, and are signed by the client's representative — on the desk under a member's re-authentication, or by the contact on their own portal.
- On the phone the foreman composes the lines and the client's rep signs on the glass; a signed ticket converts into a change-order draft carrying them.
- Printed as a sheet.
Nobody bills ahead of the work.
A work order packages scope out at agreed rates and becomes the contract the moment it is awarded. Interim valuations then set executed against billed, refuse any line that bills more than the work behind it, and carry the balance forward from issued valuations only.
- An over-award is refused, naming the activity and the quantity still unawarded.
- Earned value is capped at the line awarded and moves only on approved quantity.
- An award is refused outright while a required insurance certificate has lapsed — the party and the certificate are named.
A bill line names the records that earned it.
Lines are cut from the schedule of values, and the verified quantity on each one is read from the record — the approved progress entries on the activity the line names, or one confirmed verification per item. Claim above that and the application refuses the line, by name.
- Every line carries the record ids behind it, so a certifier can open what was counted.
- Issue freezes the totals with a document hash and writes the client's retention. An issued application is immutable — the correction goes in the next one.
- Retention is released only when its condition holds — the snags closed, the defects-liability period ended — or by a named decision with a reason on the record.
- It prints as the AIA-shaped application and certificate — it is not an AIA document — and as an EU interim valuation certificate. QuickBooks Online invoices are raised from issued applications; nothing here takes a payment.
Labour, productivity and the clock.
Crew hours are recorded a crew at a time. Productivity is approved quantity per crew-hour. A measured mile sets the impacted window against the activity's own unimpacted days — and a notice keeps the deadline you typed, not one we inferred.
One crew, one activity, one day
Crew size and hours, signed by a second person who is never the recorder. There is no per-person hours figure, no per-person location and no per-person productivity anywhere in the record, and the payroll export's own preamble says so — which is the answer a works council asks for. On the phone: the foreman's week strip and quarter-hour steppers.
Measured against its own good days
Productivity is approved quantity per crew-hour. The measured mile sets an impacted window against the same activity's unimpacted days, refuses under three crew days a side, and lists the notices whose clock overlaps the window.
A clock you set, not one we inferred
Event date plus days, both typed by you; lapse derived when the register is read, never written as a transition. Service is witnessed, late service is recorded rather than refused, and the reminders at seven and two days are kept once. Opened from an obstruction or a weather day on the programme.
Collected, never composed
Daily logs with their signatures, muster counts, photos with hashes and capture routes, confirmations with identities, hold points, delays, notices and the day roots — zipped with a chain-of-custody statement that says how each item can be checked and nothing about the claim.
The sentences a commercial manager will meet.
These are the refusals as the build writes them, not paraphrases. A record that cannot be over-claimed is the whole argument for keeping it here rather than in the spreadsheet.
A claim above the record
The period quantity is the only figure typed on a pay-application line, and it cannot pass what the records carry.
“Line 1.01 can claim 216 m — 216 m verified this period, 900 m claimed before”
Approving your own variation
The ladder is the organisation's; the exclusion is the product's, and it holds at every rung.
“The author of a change order never approves it — a second person decides.”
Signing off your own crew day
A crew record is a claim until a second person signs it — and the recorder is never that person.
“You cannot approve your own crew record — a second person signs it”
Awarding to a lapsed certificate
Insurance, competence cards, calibration certificates and prequalification answers per vendor or per person, each with an expiry and a witnessed verification. An expired required document refuses an award and a permit, by name. A party with nothing on file is unregistered, not refused.
“Award refused — CableCo Distribution's employer's liability insurance expired on 12 Aug 2026”
A measured mile with too little to measure
Three approved crew days a side is the floor, and the refusal counts what it actually found.
“A measured mile needs at least 3 crew days on each side.”
Releasing retention early
Released when its condition holds — the snags closed, the defects-liability period ended — or by a named decision that carries a reason.
“4 snags are still open on this project. Release it anyway only with a reason on the record.”
Editing an issued application
Issue freezes the totals and hashes the document. Nothing reopens it.
“Application 06 has been issued — it is a payment record. Correct it in the next application.”
Approving from a free field seat
The capture-only field seat costs nothing and has no cap. It photographs, records readings and receives deliveries — and it is never the second person.
“A capture-only seat cannot approve; ask a seat holder.”
What it costs landed, and where it went.
Stores is a ledger, not a stock figure somebody maintains: receipts, issues, returns and adjustments, with the balance falling out of the movements. An adjustment can only add, so a write-off is booked as an issue — the one movement refused if it would take the store below zero.
- Landed rates are computed from their components — freight and wastage to the point of use.
- Labour rates carry statutory on-costs as named lines; a rate with none is flagged.
- Issues read against the activity's budgeted draw; returnable plant carries a return date.
The claim traces back to the work.
Measured lines with the build-up behind each rate, and bids that stay sealed until the window shuts.
Build-ups behind every line
Contract, earned and remaining on one screen; earned value moves only on approved quantity. CSV export for anyone's model.
A sealed bid stays sealed
Packages run to bids to award with bid amounts role-gated; the award leaves a trail. A reverse-auction round on a work package stays sealed until the window shuts, ranks anonymous to everyone but the desk, and is awarded by a PM under re-authentication.
| In the build | The rule it keeps |
|---|---|
| GAEB DA XML import | Into the bill of quantities, with the item number composed from the category tree. |
| EN 16931 (UBL 2.1) export | Of an issued valuation, with the BT ids carried as comments. Olab does not invoice. |
| MasterFormat Div 26 / 27 / 33 | CSI's numbering with our own titles, and the licence note printed on the page. |
| A5 site-carbon estimate | States every assumption and cites every coefficient; a missing factor is reported, never zeroed. |
| ID06 muster export | The Swedish personnel-register column shape, with the identity columns left blank. |
| P6 / MSP / Asta | Programme import; the actuals written back are derived from approved progress, never typed. |
| QuickBooks Online | Invoices from issued pay applications and bills from confirmed receipts, idempotent on the document number. |
| The director's portfolio | Verified against plan, live notices, applications issued and certified — every figure carrying the records it was counted from, and a link into their register. |
| Deviation alerts | Plan against verified quantity; an alert only past ten points behind, snoozed or dismissed with a reason. A progress estimate read from a photograph is labelled with its model and never moves a signed number. |
| Vendor scorecards | Quality, delivery and safety, scored monthly by people. Firms, never individuals; no AI scoring anywhere near them. |
| The insurer pack | Counts permits, competence currency, snag closure, inspection completion and safety documents for a window — and prints “No discount is implied by this pack.” |
| Plans, seats, the record meter | A free capture-only field seat with no cap; verified records metered per seat per month by a meter that never refuses a confirm; no payment processing anywhere. Every figure is recommended, not yet decided — see Pricing. |
The priced bill, as it ships today.
Contract, earned and remaining across twelve priced lines in six sections — earned from approved quantity, not typed in. GAEB import and MasterFormat adoption sit on the same page.
Run one month's money through it — one package, your own schedule of values, your own rates — then judge whether you'd defend the application.
Seats are the invoice unit and the field seat is free. Every published figure is recommended, not yet decided — and nothing in the product takes a payment.