All Docs
FeaturesDepositClearUpdated March 14, 2026

HMO Multi-Tenancy Deposit Reconciliation Sweep

HMO Multi-Tenancy Deposit Reconciliation Sweep

Available from: v0.1.307 · Nightly batch · Runs every Monday at 03:00

Overview

Houses in Multiple Occupation (HMOs) present a unique compliance challenge: a single property can have several active tenancies running concurrently, each with its own deposit obligations and its own set of licence conditions. Manually auditing these relationships is error-prone and time-consuming.

The HMO Multi-Tenancy Deposit Reconciliation Sweep automates this audit. Every Monday morning the platform scans all HMO properties, checks the deposit protection status of every active tenancy, and verifies that tenant headcounts align with HMO licence conditions — raising compliance warnings wherever an anomaly is found.


What the sweep checks

1. Individual deposit protection

Each active tenancy on an HMO property must hold its own individually protected deposit. The sweep detects cases where:

  • A tenancy references a shared scheme reference used by another tenancy on the same property.
  • A tenancy has no protected deposit recorded at all.

Pooled or shared deposit references do not satisfy individual protection requirements and will be flagged.

2. Tenant count vs. HMO licence conditions

The number of tenants recorded on each tenancy (via tenancyTenants) is compared against the occupancy limits stated in the property's HMO licence. A mismatch — either over- or under-occupancy relative to the licence — is treated as an anomaly.


Compliance warnings

When an anomaly is detected, the sweep creates a medium-risk compliance warning against the relevant complianceCheck record and dispatches a notification to the appropriate orgMembers (typically the managing agent or landlord account for the property).

AnomalyRisk levelNotification sent?
Shared/pooled deposit scheme referenceMedium✅ Yes
Missing deposit protectionMedium✅ Yes
Tenant count exceeds HMO licence limitMedium✅ Yes
Tenant count below HMO licence minimumMedium✅ Yes

Warnings are visible in the Compliance dashboard under the affected property.


Schedule

The sweep runs as a scheduled nightly batch job:

Cron: 0 3 * * 1   # Every Monday at 03:00 UTC
Type: nightly_batch
Trigger: Automated — no manual action required

Entities

The following data entities are read from or written to during the sweep:

EntityRole
propertiesSource — identifies HMO properties (propertyType = 'hmo')
tenanciesSource — enumerates active tenancies per property
tenancyTenantsSource — provides tenant headcount per tenancy
complianceChecksWritten — compliance warning records are created/updated here
notificationsWritten — alerts dispatched to relevant org members
orgMembersRead — determines notification recipients for each property

Frequently asked questions

Does this sweep affect single-tenancy HMO properties? No. The sweep only targets HMO properties with more than one active tenancy at the time it runs. A single active tenancy on an HMO is not evaluated.

What counts as a "shared scheme reference"? If two or more tenancies on the same property record the same deposit protection scheme reference number, the sweep treats this as a shared reference and flags all affected tenancies.

Can I run the sweep on demand? The current implementation is schedule-driven only (0 3 * * 1). On-demand triggering is not available in this release.

What should I do when I receive a compliance warning? Review the flagged tenancy in the Compliance dashboard. Either correct the deposit protection record (re-register the deposit individually) or update the tenant count to match the licence conditions, then resolve the warning manually once remediated.