A few days ago, someone sent us a series of voice notes. He'd been using Lumo properly for the first time — real budget, real expenses, real money. And he'd found five things wrong with it.
He was right about all five.
This update fixes every one of them. Here's what was broken, why it mattered, and what changed.
"I added my savings and it just… didn't count"
He'd set his monthly income, then added 33,000 from last month's savings as a one-time amount. The app saved it. The app listed it. The app did not count it.
His total income sat there showing only his salary — with "2 streams" written underneath it. Two streams, one stream's worth of money.
What changed: one-time income now counts the moment you add it. A bonus, a refund, a gift, last month's leftovers — it goes into your current budget immediately, no extra steps.
We also fixed the "2 streams" contradiction. Your income now reads as recurring income plus one-time money, listed separately, because those genuinely are different things and pretending otherwise is how the confusion started.
"I got paid today, so why does it say September?"
To add one-time income, Lumo asked you to pick a day of the month — 1 to 31. That makes sense for a salary that arrives every month on the 9th. It makes no sense at all for money that arrives once.
So when he picked today's date, the 9th, the app helpfully scheduled it for the 9th of next month. His money was real, present, and in his pocket. Lumo filed it under September.
What changed: one-time income now has an actual date picker. Any date, any month, past or future. Got paid today? Pick today. Found a payment from three weeks ago you forgot to log? Pick that. It lands in the right budget cycle because you told it the right date.
"I tapped Proceed Anyway. Nothing happened."
This is the one that stings.
He was near his limit — about 1,000 left. Then a 5,500 car repair. Lumo showed a warning: this will exceed your budget, with a Proceed Anyway button.
He tapped it. The dialog closed. The dashboard still read 1,000.
The expense was never saved. Not delayed, not queued — discarded. The button was there, it looked like it worked, and the app quietly threw the transaction away. He tried again over three days thinking he was doing something wrong.
What changed: Proceed Anyway now does what it says. If you confirm an over-budget purchase, it gets recorded. If you've turned off over-budget spending in your settings, the app refuses clearly and tells you why — instead of accepting your confirmation and silently ignoring it.
And when something genuinely can't be saved, the error message now appears right above the button you just pressed, not buried at the bottom of a screen you'd have to scroll to find.
"I want to see minus four thousand five hundred"
Real budgets go negative. That's the whole point of tracking one — you need to know how far over you went, not just that you went over.
Lumo refused. Overspend by 4,500 and your balance showed 0. Which reads like breaking even. Which is the opposite of what happened.
What changed: your balance can now go below zero and stay there, with a clear marker showing exactly how much you're over. Rs 4,500 over budget means it says Rs 4,500 over budget.
"They paid me back. Where did it go?"
If you lend money through Lumo, it comes out of your budget — correctly, it's gone from your pocket.
But when the loan was repaid, that money never became spendable again. The original expense stayed on your books forever. Lend 25,000, get all 25,000 back, and your budget stayed 25,000 poorer permanently.
What changed: when a loan is repaid, that money returns to your available budget. It left, it came back, and now the app agrees.
Smaller things, same afternoon
Two other users had written to us about payments not working. Both turned out to be real:
- The "Record Repayment" button was underneath the Android navigation bar. You could see it. You could tap it. Your tap hit the system bar instead. It looked like the button was broken because, functionally, it was.
- Paying the exact amount you owed got rejected. A rounding artifact meant that repaying your outstanding balance in full sometimes came back as "amount cannot exceed outstanding balance." You were trying to pay off exactly what you owed.
- Actions that failed did so silently. "Repay All", "Mark as Fully Repaid" and "Delete Loan" would spin and stop with no message when something went wrong. They now tell you what happened.
- Dark mode contrast on the repayment screen — dark blue text on a blue card. Unreadable. Fixed.
- Updated to target Android 16, keeping Lumo compliant with Google Play's requirements.
Why we're writing this up
Every one of these bugs had the same shape: the app accepted your input, told you nothing was wrong, and then didn't do the thing. No error, no warning — just a number that quietly stayed the same.
That's the worst kind of bug a money app can have. You can recover from a crash. You can't recover from silently not trusting your own budget, because you don't know there's anything to recover from.
We'd rather ship an app that occasionally says "no, here's why" than one that nods along and loses your data.
Thank you, genuinely
None of this came from our test suite. It came from people who took the time to write in — one with detailed voice notes and screenshots precise enough to point us at the exact line of code, and two more who told us payments simply weren't working.
If something in Lumo doesn't behave the way you expect, tell us. Use the feedback option in the app or email us. You don't need to diagnose it or be polite about it. "This is broken and here's what I was doing" is more than enough — that's exactly what turned into this release.
Update to the latest version from the Play Store to get all of this.