A Tier Nobody Could Buy

We priced a product, wired it to a payment processor and shipped it. There was no link to the page that sold it.

Handee, the compliance system we built for multi-site property operations, offered a paid plan to the contractors on its supply side. We set the price, wrote the entitlements, connected the payment processor, tested the upgrade and shipped it.

Nobody bought it. There was no link to the page that sold it.

A door with no handle

The billing section of the vendor portal was gated on an entitlement. That was ordinary; most of the product was. The problem was which entitlement.

Billing sat behind the same permission the paid plan grants. A vendor on the free plan could not see the billing link, could not reach the plans page, and therefore could not upgrade. The only accounts able to find the upgrade were the accounts that had already bought it.

Read back it is obvious, and it was invisible for weeks, because everyone testing it was already entitled. Never gate the surface a customer goes to in order to pay you or to fix a failed card. Those pages exist for people who are outside, and a gate built for people who are inside will always exclude exactly the wrong ones.

The release opened it. A free vendor could then see billing and the plans for their own side of the market, rather than the operator ones we had mistakenly shown them, upgrade through checkout, and leave again.

Failures that look like the product working

The same release fixed a second one, found on the way.

Every attempt by any contractor to save their company listing was rejected. The page issued two security tokens that disagreed with each other, and the server, correctly, treated the submission as forged. The rejection then wiped the trades, regions and service areas they had just selected, and returned the form with no message saying what was wrong.

Nobody reported it. A contractor who fills in a form, watches it empty itself and receives no explanation does not open a support ticket. They conclude the software is poor and they stop, and the supplier's dashboard records a user who lost interest.

That is a whole class of defect. The failures that cost the most are the ones indistinguishable from the product working normally, and they are systematically under-reported for exactly that reason. A supplier who only fixes what gets reported is fixing the loud half.

The warning that switched itself off

The third one had a shape we would not have guessed.

Handee warned contractors before a licence or an insurance certificate expired, because an expired credential removed them from dispatch automatically. The warning was marked once sent, so the same notice was not repeated.

If a contractor replaced the document, that marker was left set. Every future warning on that credential was suppressed. The person who acted early, uploaded the renewal ahead of time and behaved exactly as the system wanted, was the one it then stopped warning. The careless ones kept their alerts.

The cost was silent. Work simply stopped being offered, and the reason was a date nobody had been reminded of.

Fixing it is the cheap part

Each of those took under a day. What took longer was making them not come back.

We added two tests that failed the build if a billing route was gated, or if any link to one was gated, checked across the templates and the plan matrix rather than just the routes. A fix that only fixes is a fix the next person deletes without knowing what it was for.

We also corrected our own copy. The expiry notices had been telling contractors, flatly, that a lapse drops their compliance badge and removes them from the directory. In fact that depended on whether the credential was mandatory for the trades and regions they had declared, and on whether the operator was filtering for it. The unconditional version was more persuasive and less true, and it went out to real people before we caught it. Suppliers overstate their own products as a matter of routine. Ours did, and we would rather say so here than wait to be asked.

Why any of this should matter to you

Every supplier's release notes tell you what was added. They are written by the people who added it, and they are, in that narrow sense, always accurate.

The more useful questions are the ones release notes are not structured to answer. What was broken. For how long. Who found it, the customer or the supplier. What stops it recurring, beyond an intention. And whether anything the supplier previously told you turned out to be a stronger claim than the software supported.

The number we promise clients is the human time recovered on the work they hand us. That promise is worth something only from people who will also publish the week they could not sell their own product.

Handee was retired on 30 August 2026.

Subscribe to our newsletter

Back to all insights