Case study · Serviced accommodation
Nearly four years of lost cost history, put back on the property that incurred it
SLH ran a portfolio of seventeen short-let properties, most of them on Hostaway, with immaculate bookings and £212,995.33 of operating cost attached to no property at all. Floodlight New Marketing built StayOps, a control layer that sits above Hostaway without replacing it.
- Recorded operating cost found reaching no property account, across 282 records
- £212,995Recorded operating cost found reaching no property account, across 282 records
- Historical cost corrected in Hostaway and read back field by field, across 120 records
- £61,702Historical cost corrected in Hostaway and read back field by field, across 120 records
- From the first line of code to the first batch proved correct in both systems
- 19 daysFrom the first line of code to the first batch proved correct in both systems
Measured from SLH's own Hostaway expense export and the StayOps audit trail, 24 July to 13 August 2026, and checked against the running implementation rather than taken from documents. The £212,995.33 is the size of the problem found, not money recovered. Two thirds of it was not money to move: £54,330.00 is capital deliberately held out of operating cost, £5,169.60 is genuine company overhead, and the rest is either still open or blocked until its identity can be documented. Of the £61,702.40 corrected, £46,009.21 across 85 records completed the full verification chain; the remaining 35 records were corrected and read back field by field and are reported separately. The eight and nineteen day figures are what this engagement took. They are a record, not a delivery commitment. Figures as at 13 August 2026.
The situation
A property that looked like the strongest asset in the portfolio
Seventeen short-let properties, 1,392 confirmed bookings and £1,477,424 of recorded revenue, sitting behind a cost picture nobody could rely on.
- The portfolio's apparent star showed a 93% margin on £37,235.75 of revenue. Its mortgage had never been attached to it.
- Once the real costs were attached, its recorded net contribution was −£27,024.65, derived by adding £61,702.40 of verified moved cost to the £2,558.00 already recorded.
- A Hostaway listing had been deleted and re-added, taking nearly four years of cost history with it. No report available to SLH at the time could have shown it.
What we built
A control layer above Hostaway, not a replacement for it
Hostaway keeps the bookings. StayOps governs what reaches the accounts.
-
Permanent property identity
A record no external system controls, so a deleted listing becomes evidence about a property instead of erasing its history.
-
Evidence gate
Historical cost allocates only where a document is attached and verified by a named, authorised person, enforced at the database.
-
Investigation queue
A record counts as resolved only when the accounts agree it is, so the queue cannot report a fix the profit and loss account has not seen.
-
Verified correction
Only the property link changes. Every other field is sent back as found, read back, re-imported and compared before a batch reads as reconciled.
-
Human approval throughout
Nothing is changed on a machine's judgement. Every financial change carries a named human approval, written to a trail the system refuses to update or delete.
How it ran
Five stages, each closed by something that could be checked
- 1 Discovery and build A working control layer, running in production.
- 2 Forensic audit Every unattached record found, and grouped five ways.
- 3 Adversarial review A silent-failure defect found before any money moved.
- 4 Controlled correction Records corrected in the source system, then read back.
- 5 Handover Open exceptions visible, each carrying its evidence requirement.
47 records and £43,095.98 against this property, each needing evidence before assignment, plus a second deleted listing held until its identity can be documented. StayOps is running in production and the remaining groups go through the same queue, under the same evidence rule, as the documents arrive to support them.
A reconciliation report that claims everything is closed is a reconciliation report nobody should believe.
What changed
A decision reversed, on real numbers
The property SLH would have backed is the one recorded at a loss. The one they might have exited was never the problem. Whether that leads to a repricing, a renegotiation or an exit is SLH's decision.
- Nearly four years of trading history recovered. Replacing a Hostaway listing no longer costs SLH its cost record.
- This property was not the only one reporting revenue against materially incomplete cost. The others are now surfaced in the investigation queue with their evidence requirements attached.
- The manual searching, matching and rekeying that one operations role carried has largely gone, and that capacity is redeployed into growing the portfolio.
- The controls described here are covered by 632 automated tests, measured on 13 August 2026.
[Customer quote to be supplied and approved by SLH.]
The stack
Built on what SLH already ran
The domain changes and the shape does not. Connect the systems you already run, govern the numbers into one set the team trusts, then add the workflows that matter.
System of record
- Hostaway
Control layer
- StayOps
Built with
- Django
- PostgreSQL
- Python
Hosting
- UK VPS
See what your own numbers are hiding
Start with the AI Enhancement Audit at £997, fixed price and fixed scope: a structured review of the CRM and marketing stack you already run, and the two or three enhancements worth doing first. You receive a written report your team signs off on, ten working days from access being granted. There is no obligation beyond it.