KodiSawa
    SolutionsFeaturesHow it worksPricingFAQsBlogHelp
    Continue with Email
    1. Blog
    2. Why Your Tenant Said 'I Paid' But You Can't Find the Money
    On this page
    The "I Paid" ProblemWhy This Keeps HappeningThe Transaction Code TrickHow I Stopped Having This ArgumentWhat About Partial Payments?The Caretaker ProblemPayment Confirmations Save RelationshipsWhat to Do When There Actually Is a ProblemThe Record-Keeping RuleBottom Line

    Why Your Tenant Said 'I Paid' But You Can't Find the Money

    MMitchel Kelonye
    •
    Feb 2
    •
    Tenant Management
    Payment Reconciliation
    M Pesa
    Landlords

    Studio Ghibli-inspired banner showing a landlord and tenant with a rent ledger in a warm, pastel-toned living space; title overlay reads: 'Why Your Tenant Said I Paid But You Can't Find the Money'

    "I already paid!"

    "Okay, but I don't see it in my records."

    "Check your M-Pesa. I sent it last week."

    I scroll through 87 M-Pesa messages. Nothing from this tenant.

    "Are you sure you sent it to the right number?"

    "Yes! Transaction code is NQR7X4PM2F."

    I search for the code. Find it. But it's for KES 15,000, not KES 20,000. And it went to my personal number, not the Pay Bill.

    This conversation happens every month with at least one tenant.

    Table of Contents

    • The "I Paid" Problem
    • Why This Keeps Happening
    • The Transaction Code Trick
    • How I Stopped Having This Argument
    • What About Partial Payments?
    • The Caretaker Problem
    • Payment Confirmations Save Relationships
    • What to Do When There Actually Is a Problem
    • The Record-Keeping Rule
    • Bottom Line

    The "I Paid" Problem

    Every landlord has had this argument.

    Tenant swears they paid. You can't find the payment. Both of you are frustrated.

    Usually, it's one of these issues:

    Wrong amount. Tenant sent KES 15,000 instead of KES 20,000. Thinks they're paid up. You're still waiting for KES 5,000.

    Wrong account. You have multiple M-Pesa numbers. Tenant paid the wrong one. Money's there, but you weren't looking in that account.

    Wrong month. Tenant paid February rent in January. You credited it to January. Now February rolls around and they say "I already paid."

    Caretaker didn't forward. Tenant gave cash to the caretaker. Caretaker forgot to tell you (or pocketed it).

    Frustrated tenant on a phone beside a landlord reviewing records in a cozy living room; rent dispute scene.

    These disputes waste time. Damage tenant relationships. And sometimes you actually are wrong — the money's there, you just missed it.

    Why This Keeps Happening

    Lack of centralized tracking. You have M-Pesa on your phone. Bank transfers in your bank app. Cash receipts in a notebook. No single source of truth.

    Manual matching. You're matching tenant names to transactions manually. Easy to miss things.

    No payment confirmation system. Tenant pays. You don't confirm receipt. They assume you got it. You didn't.

    Messy desk with notebooks, M-Pesa on a phone, and scattered bank statements.

    I used to handle payments across three channels:

    • M-Pesa Pay Bill (main)
    • Personal M-Pesa (some tenants had this number)
    • Cash through caretaker

    Tracking everything? Nightmare. Disputes? Weekly.

    The Transaction Code Trick

    When a tenant says "I paid," ask for the transaction code.

    Every M-Pesa payment has a unique code. NQR7X4PM2F format.

    Search your messages for that exact code. Settles the dispute in 10 seconds.

    Close-up of an M-Pesa payment message on a phone with the transaction code highlighted

    But here's the problem: if you have 100+ M-Pesa messages and the payment went to a different number, good luck finding it.

    Better solution: automatic transaction tracking.

    How I Stopped Having This Argument

    Step 1: One payment channel.

    I stopped giving out my personal M-Pesa number. Everyone pays through one Pay Bill number. Period.

    Makes tracking way simpler.

    Step 2: Automatic matching.

    I started using KodiSawa's rent tracking. It reads M-Pesa transactions and matches them to tenants automatically.

    When Grace Wanjiku sends KES 20,000, KodiSawa sees her name, matches it to her unit, marks her as paid.

    No manual searching.

    Dashboard showing automatic payment matching with tenant name, amount, and unit highlighted

    Step 3: Instant confirmation.

    When a payment comes in, I get a notification. I can immediately confirm: "Got your payment, Grace. Thanks."

    Tenant has proof I received it. I have proof they paid. Dispute avoided.

    What About Partial Payments?

    These cause the most confusion.

    Tenant owes KES 20,000. Sends KES 15,000. Thinks they're "mostly paid" so it's fine.

    You're waiting for the full KES 20,000.

    Month-end arrives. You send a reminder: "Your rent is overdue."

    Tenant: "What? I paid!"

    Payment timeline showing KES 20,000 due, KES 15,000 received, KES 5,000 balance remaining

    With automatic reconciliation, partial payments are tracked separately.

    Dashboard shows:

    • Due: KES 20,000
    • Paid: KES 15,000
    • Balance: KES 5,000

    Tenant gets a note: "Received KES 15,000. Balance remaining: KES 5,000."

    No surprises. No arguments.

    The Caretaker Problem

    Some tenants pay cash to the caretaker.

    Caretaker should log it and give you a receipt. Should.

    But sometimes caretakers "forget." Or they pocket the cash and tell you the tenant hasn't paid.

    Caretaker handing a cash receipt to landlord with a logbook nearby.

    The fix: Require caretaker to log payments immediately in your system.

    I gave my caretaker access to KodiSawa (view-only plus payment logging). When someone pays cash, he logs it on his phone. I see it instantly.

    No more "I forgot to tell you" excuses.

    Payment Confirmations Save Relationships

    I used to think payment confirmations were overkill.

    "Why should I confirm every payment? They sent it, I received it, done."

    But tenants want acknowledgment. Especially when they're paying KES 20,000-50,000.

    A simple "Payment received. Thank you." goes a long way.

    Friendly SMS confirmation showing 'Hi Grace, received your KES 20,000 rent payment for Unit 2A. Thank you!'

    Now when payments come in, KodiSawa auto-sends a confirmation SMS. Tenant knows I got it. I don't have to manually text everyone.

    Disputes dropped by 80%.

    What to Do When There Actually Is a Problem

    Sometimes the payment genuinely didn't go through.

    Tenant swears they sent it. You checked everywhere. Not there.

    Ask to see their M-Pesa statement. Screenshot of the confirmation message.

    If they sent it, they have proof. If they didn't, they can't produce it.

    Phone screen showing M-Pesa confirmation message with all transaction details visible

    90% of the time, this reveals the truth:

    • They sent it to the wrong number (neighbor's, old landlord's, etc.)
    • They meant to send it but forgot
    • They sent a different amount

    If they actually did send it correctly and you still don't have it, contact Safaricom. Something's wrong on the M-Pesa side.

    The Record-Keeping Rule

    Every payment needs three things recorded:

    1. Who paid (tenant name)
    2. How much (exact amount)
    3. When (date and transaction code)

    If you can produce these three things instantly, disputes disappear.

    Excel can work for this. But it's manual. And manual = errors.

    Simple table showing tenant payment records with name, amount, date, and transaction code columns

    Automatic tracking is better. Payment comes in, system logs all three details. You just check the dashboard.

    KodiSawa tracks this automatically. Every payment. Every tenant. Every property.

    Bottom Line

    "I paid" disputes are exhausting.

    They happen because of poor record-keeping. Multiple payment channels. No confirmation system.

    Fix those three things, and the arguments stop.

    Use one payment channel. Easier to track.

    Track payments automatically. No manual matching.

    Send confirmations. Tenant knows you received it.

    I haven't had an "I paid" argument in 4 months. My tenant relationships improved. My stress levels dropped.

    Try KodiSawa free. See how automatic payment tracking eliminates disputes.

    Your tenants (and your sanity) will thank you.

    Ready to simplify rent tracking?

    Start Tracking Rent Today

    Track every unit, tenant and rent payment in one place. Start your 14-day free trial today.

    Get Started Free
    No credit card required. Set up in 10 minutes.
    M-Pesa Ready

    Pay Bill and Buy Goods integration built in

    Multi-Property

    Manage all your properties from one dashboard

    KRA Compliant

    Tax-ready reports for hassle-free filing

    Built for Kenya

    Thanks for reading! If you want to see future content, subscribe to our RSS feed.

    ← Older
    The KRA MRI Tax Report Kenyan Landlords Keep Getting Wrong
    Newer →
    5 Red Flags I Missed When Screening My Worst Tenant
    KodiSawa

    The rent tracking platform built for Kenya. Connect M-Pesa, bank accounts, and track cash payments. Know exactly who paid rent.

    Built for Kenya

    Quick Links

    • Features
    • How It Works
    • Pricing
    • Testimonials
    • FAQ

    Get Started

    Start tracking rent payments today. 14-day free trial.

    Get Started Free

    © 2026 KodiSawa. All rights reserved.

    Privacy PolicyTerms of ServiceSecurity