Skip to content
MLLabz

When a tenant mistypes their Paybill account number, where does the payment go?

We tested LandlordPMS's M-Pesa matching rule on a synthetic estate of 44 units and ten kinds of typing mistake. It absorbed every formatting mistake that an exact match would have sent for manual review. But a typo that spells another real unit went to the wrong tenant, and no rule that reads only the reference can catch that.

Type
Technical note
Status
Concluded
Date
4 October 2026
Related
LandlordPMS
Capability
Software Engineering Core today

Synthetic dataLandlordPMS has no live users yet.

01The question

A tenant pays rent on M-Pesa Paybill and types an account number such as GV-A12. LandlordPMS ignores case, spaces and dashes, looks for exactly one unit with that reference, and records the payment on its lease. Anything else goes to staff for review. Which typing mistakes does this absorb, which go to review, and which reach the wrong tenant?

02The data

  • Synthetic. A made-up estate: two properties on one Paybill, 44 units.
  • Ten kinds of mistake applied to every unit: case, spaces, dashes, a dropped or doubled character, O for zero, swapped digits, and unit code only.
  • The matching rule copied line for line from LandlordPMS.

03How we tested

We ran every mistyped reference through the LandlordPMS rule and through an exact match, our baseline. We then repeated the test with unit codes padded to a fixed width (A01 instead of A1).

04What we found

What happens to each mistake (unit codes A1 … A12)

MistakeRight unitTo reviewWrong unit
Case, spaces or dashes (5 kinds)220 of 22000
Unit code only0440
Last character dropped01817
Last digit doubled0413
Letter O for zero040
Two digits swapped0140

Findings:

  1. Every formatting mistake is absorbed. An exact match would send all 220 for manual review. Ignoring case, spaces and dashes never caused a wrong match.
  2. A typo that spells another real unit goes to the wrong tenant. A11 typed for A1 is matched to A11. An exact match makes the same mistake. Reading the reference alone can't catch it.
  3. Fixed-width codes trade one risk for another. With A01 … A12, dropped and doubled characters went to review, but swapped digits (A10 for A01) went to the wrong unit. Wrong matches fell from 20 to 8 in this estate.

05What it means for LandlordPMS

These are ideas to test, not changes already made.

  • Keep ignoring case, spaces and dashes.
  • Before confirming, check the payer's phone number. If it belongs to a different lease, hold the payment for review.
  • Consider adding a check character to references, as bank account numbers do.

06Limits

  • Synthetic data: we don't know how often real tenants make each mistake.
  • One estate layout. A different numbering would give different counts.
  • Only the reference step was tested, not the steps before or after it.

07Status

Concluded. The phone check is the next thing to build and test.