For the past year, I’ve been riding the RPA (Robotic Process Automation) wave—those “set it and forget it” bots that promise to eliminate tedious tasks like downloading bank statements. The pitch sounded perfect: configure once, never manually log into bank portals again, let the bot handle the boring stuff while you focus on actual accounting.
Here’s what actually happened.
The Honeymoon Period
I built an RPA bot using UiPath to automate my morning routine: log into 3 different bank portals, download transaction CSVs, save them to a watched folder for Beancount import. For exactly 8 weeks, it was magical. Every morning at 6 AM, the bot would run, and by the time I started work at 9 AM, fresh transaction files were waiting. I felt like I’d unlocked a superpower—10 minutes of manual work eliminated completely.
Reality Check: The First Break
Week 9: One of my banks redesigned their login page. New layout, same functionality, but the bot couldn’t find the username field anymore. It failed silently—no error notification, no alert, just… nothing. I didn’t discover the problem for two weeks because I wasn’t checking. Only when my reconciliation didn’t match did I realize: zero transactions imported from that bank since the UI change.
I spent 4 hours that afternoon: debugging the bot, updating the selectors, finding the new button coordinates, retesting the workflow. Got it working again. Crisis averted.
The Pattern Emerges
Then it happened again. And again. Different banks, different triggers:
- Login page redesign (2 banks, quarterly updates)
- “Download” button moved to new location (1 bank)
- New two-factor authentication flow (broke the bot completely for 3 days)
- Website timeout changes (bot used to work, now too slow)
Each break required 2-4 hours to diagnose and fix. I started tracking the time:
RPA Bot ROI Calculation:
- Time saved: 10 min/day × 30 days = 5 hours/month
- Maintenance cost: 4 hours every 3 months = 1.3 hours/month
- Net savings: 3.7 hours/month
Technically still positive ROI, but that doesn’t capture the stress of wondering “Did the bot run today?” or the risk of silent failures creating data gaps.
The Alternative I Ignored
Meanwhile, I had two options I’d dismissed as “too manual”:
-
Bank API integration: Many banks offer APIs (stable interfaces that don’t break with UI changes), but some charge fees or require developer agreements.
-
Just download the damn CSVs manually: 10 minutes each morning, zero maintenance, 100% reliable, immediate feedback if something’s wrong.
I chose the “sophisticated” solution (RPA) over the simple one (manual downloads) because I wanted to feel like I was automating properly. But was I?
The Question I’m Wrestling With
For small-scale accounting workflows, is RPA worth the fragility?
I’m starting to think the answer is no. The maintenance burden doesn’t scale down—whether you’re saving 10 minutes or 10 hours, the bot still breaks when websites change. And websites always change.
Large enterprises with dedicated RPA teams might have different math (they’re automating hundreds of hours, so maintenance cost is acceptable). But for a solo practitioner or small firm using Beancount? Maybe the “automation” is actually just… doing it manually. No bots to babysit, no silent failures to fear, no quarterly debugging sessions.
Community Question
Has anyone else gone through this RPA disillusionment? Are there bank automation approaches that don’t require constant maintenance? Or is the answer simply: some things are better done manually, and 10 minutes of morning admin is the price of reliability?
Curious to hear your experiences—especially if you’ve found automation strategies that actually stay automated.