Proof
Work orders, in live systems, with the numbers attached.
Everything on this page happened. Where it was a test we say so, where it was a client review the numbers are real and the names are removed.
Terri working a queue and showing its reasoning on every job. Demonstration data, October 2026.
Decision record
97 of 100
test calls became dispatchable jobs
Every decision shows its reasoning.
What it saw, what it concluded, what it did and why. On every job, kept as a record rather than a log you cannot read.
That is the difference between something you can put in front of a client and something you have to defend.
Fields populated, by brand
Darker is more complete. Every brand is a full count of its own active sites, so nothing here is sampled.
| All 1,410 active sites | Fin code | Phone | Region | Area mgr | Reg FM | Snr mnt | Mnt mgr | Hours |
|---|---|---|---|---|---|---|---|---|
| Brand Aall 58 | 58 | 56 | 57 | 58 | 58 | 57 | 57 | 54 |
| Brand Ball 44 | 44 | 41 | 43 | 44 | 44 | 43 | 43 | 39 |
| Brand Call 38 | 38 | 35 | 37 | 38 | 38 | 37 | 37 | 35 |
| Brand Dall 27 | 27 | 26 | 27 | 27 | 27 | 27 | 27 | 27 |
| Brand Eall 17 | 17 | 14 | 17 | 17 | 17 | 17 | 17 | 1 |
| Brand Fall 16 | 16 | 15 | 16 | 16 | 16 | 14 | 14 | 2 |
| Vacantall 38 | 38 | 29 | 29 | 38 | 36 | 29 | 29 | 28 |
| Distributionall 4 | 4 | 2 | 4 | 4 | 4 | 3 | 3 | 0 |
| Brand Gall 571 | 571 | 522 | 539 | 571 | 569 | 537 | 538 | 504 |
| Brand Hall 594 | 593 | 545 | 547 | 593 | 592 | 547 | 547 | 510 |
Fin code, Phone, Region, Area mgr, Reg FM, Snr mnt, Mnt mgr, Hours. Two of those columns read as populated on 1,312 sites and name an actual person on one. The rows come to 1,407: Change Request, Test Site and one site with no type set hold one site each and are left off, which is itself three of the findings.
Client review Anonymised, 2026. The counts are real. Client, brand and contractor names are removed.
Estate review
1,410
active sites read, field by field, read only
A full instance read field by field, and nothing written.
1,410 active sites and 1,683 inactive, 3,093 records in all. Nothing created, edited or saved, and every request logged.
Two maintenance manager columns look complete on 1,312 sites. Exactly one names a real person.
Of 784 open jobs, overdue by
One contract base, read in full. Pending and Progress were read row by row rather than counted.
One of the 784 has no due date at all and so sits in “not yet due”, not in a bucket behind it. This is not missing data.
Client review Anonymised, 2026. The counts are real. Client, brand and contractor names are removed.
Contract review
617 of 784
open jobs overdue
What one read-only look found.
784 jobs open and 617 past due. The oldest 477 days past due, still on hold. 830 job alerts never opened. 154 jobs done and never invoiced.
Only one open job had no due date at all, so none of this is missing data.
ProofSync moving completed jobs into the client’s system and reading each one back to prove it landed. The one job that needs a person is held, not guessed. Demonstration data, November 2026.
What we built
£228,000
a year, in one contractor's staff time
The cost of being your own integration.
What one FM contractor was spending to re-key jobs between their own system and their client's. By hand, every day, in both directions. Three thousand jobs a month is their own figure. Twenty minutes a job and £19 an hour is our working, and we show it.
It never appeared on a budget line, because it isn't a budget line. It's people.
Automatic triggers, as configured
The six that decide whether an alert becomes work. Five chase money. One would chase the job.
| An invoice is 1 to 30 days overdue | Invoice: 1-30 days overdue | On |
| An invoice is 31 to 60 days overdue | Invoice: 31-60 days overdue | On |
| An invoice is 61 to 90 days overdue | Invoice: 61-90 days overdue | On |
| An invoice is 91+ days overdue | Invoice: 91+ days overdue | On |
| A quote passes its due date | Quote: overdue to be sent | On |
| A job goes past due, a response time is missed, a job is finished but never signed off | left unconfigured | Off |
A trigger turns an alert into a status. A status can be filtered, coloured, reported on and handed to somebody. An alert on its own cannot.
Client review Anonymised, 2026. The counts are real. Client, brand and contractor names are removed.
ConfigurationWhat we find
34 of 64
automatic triggers switched on
You automate chasing money. You do not automate chasing work.
This contractor was not failing to use their system. They had 34 of its 64 triggers configured. Look at which 34.
An invoice cannot go 31 days past due there without the system changing its state. A job went 477 days past due and never changed at all. That is the mechanism behind the 830 alerts: the alert gets raised either way, it just never becomes work.
Open work orders, by contractor
The five largest holders, out of 84 contractors carrying live work across 35 trades and 843 sites.
Five hold 57 per cent of all open work. Ten hold 70 per cent.
Client review Anonymised, 2026. The counts are real. Client, brand and contractor names are removed.
Contractor intelligenceWhat we find
57%
of open work held by five contractors
Know who is actually carrying your contract.
1,968 open work orders, 84 contractors, 35 trades, 843 sites with something open. Five contractors held 57 per cent of it.
That may be exactly the model you intended, or it may be more dependency than anyone has looked at. We draw no conclusion from it, because that is your judgement and not ours. The point is that it was one export rather than a project, and it was answerable the same day.
Assurance
The questions your client's IT team will ask.
A diagnose reads. It does not write. On the review above, the count of records created, changed or deleted was zero.
Next
Bring us one process that's getting in the way.
Thirty minutes. We'll tell you whether we can take it out, and roughly what it would cost. If we can't, we'll say so.