All Docs
FeaturesDepositClearUpdated March 12, 2026

Blog: Closing the Loop — Tenancy Archives Now Created Automatically on Deposit Release

Closing the Loop — Tenancy Archives Now Created Automatically on Deposit Release

v0.1.219 | Event Trigger Update


One of the quieter but most consequential moments in any tenancy is the deposit release. It signals that the financial side of the tenancy is resolved — deductions agreed, money returned, and (hopefully) everyone satisfied. But until now, that moment didn't automatically trigger the one thing that gives everyone lasting confidence: a complete, permanent record of how the tenancy ended.

With v0.1.219, that changes.


What We Built

We've added an event-driven function that listens for deposit/release.released — the moment a deposit release is confirmed — and automatically assembles a full tenancy archive in the background.

No buttons. No workflows to kick off manually. No risk of a landlord or agent forgetting to do it. The archive is created as a natural consequence of the deposit being released.


What Goes Into the Archive

The archive isn't just a summary — it's a structured, immutable snapshot of the entire tenancy lifecycle:

  • Check-in and check-out reports — the condition of the property at both ends of the tenancy
  • Signatures — every digital signature captured during the process
  • Compliance checks — confirmation that the right steps were followed
  • Negotiation thread — the full record of any dispute or deduction discussion
  • Deductions — itemised, with context

When everything is assembled, tenancyArchives.status is marked complete. That record is then the definitive source of truth for that tenancy — useful for future reference, dispute escalation, or regulatory inquiry.


A Small but Important Delay

We apply a 5-minute propagation window before the archive process starts. This gives deposit scheme confirmation time to settle before we snapshot it. It's a small wait that prevents a class of subtle data-consistency bugs that would otherwise be very hard to diagnose.


Built to Be Safe

The trigger is fully idempotent. Before firing the tenancy.archive.requested event, the system checks whether an archive already exists for the tenancy. If it does, nothing happens. This means the function can be safely replayed in retry or failure scenarios without any risk of duplicate records.


Why It Matters

For landlords and agents, the archive is evidence. If a dispute surfaces months later — a claim about damage, a question about what was agreed — the archive is there, complete and timestamped, built from the data that was live at the time the tenancy closed.

For tenants, it's reassurance. The process was followed. Everything was recorded. There's nothing hidden.

For compliance, it's straightforward. The Renters' Rights Act demands transparency and auditability. Automatic archiving means that requirement is met by default, not by effort.


This is the kind of automation that's invisible when it works — and invaluable when it's needed.