Why Your Bank Account Just Got Hit Multiple Times
Jack’s Rants dives into the world of banking mainframes and the batch jobs that quietly keep everything moving โ until one of them doesnโt. What starts as a routine overnight run turns into a multiple transactions on thousands of accounts that didnt happen in the real world, but the mainframe says something else.
Listen now on Apple Music, Spotify, Deezer, Youtube or where-ever you get your panic attacks.

Batch Job Blues: Why Your Bank Account Just Got Hit Multiple Times
Welcome to Jack’s Rants, where I, Jack Smith, break down IT and security news that made wavesโwhether it’s a quick local stir or a worldwide โoh no.โ This isnโt a massive horror story episode, but itโs something every tech-interested soul, bank customer, or IT pro will want to think about. So, buckle up. Today, weโre talking about why your bank account might suddenly look emptier than you remember, all thanks to the humble mainframe and an oops in batch jobs.
What Sparked This Rant?
A couple of weeks ago, there was quite the kerfuffle in the local news. A major bank (no names, but you can probably toss a coin and guess) experienced a pretty wild technical hiccup.
Imagine checking your bank account and seeing your payment to the grocery store leaving your account a few timesโlike multiple deductions for the same purchase. Yikes. Whether itโs one, two, or ten times your rent, the effects are never pretty.
โWhen suddenly 8, 9, 10k of your local currency, in this case Euros, would disappear from your bank account, you would go into the negative. You would have all kind of costs associated to that.โ
The Bank Fiasco: What Happened?
Letโs set the scene:
- Customers noticed multiple repeated transactions.
- Money vanished into thin airโoverdrafts, fees, and all the emotional fun that comes with realizing your account balance isnโt what you thought it was.
- Social media and news outlets went into a mini frenzy. (Wouldnโt you?)
And this isnโt a one-off. If you sniff around, youโll find stories about people at other banks experiencing suspicious repeatsโpayments going in or out more than once.
Not Just a Local Problem
Itโs not just โthat one bank.โ A fair few financial institutions have had this happen over the years. The core reason? Banks still use mainframes, and batch jobs sometimes donโt behave.
โThis has happened before, left and right at different banks.โ
A Quick Crash Course: Mainframes and Batch Jobs
You might be thinking: โMainframes? Isnโt that tech from the 1960s?โ
Yes. And no.
Why Banks Still Love Their Mainframes
Mainframes are the big iron workhorses of the banking world. Think of them as the freight train of IT: massive, reliable, maybe a little creaky, but they rarely crash and they keep your data safe. Apps and the cloud are cool and all, but banks? They love something that just works.
Mainframe Pros:
- Consistency: Rules the day. You know whatโs going in and out.
- Transaction Control: Every single cent is tracked.
- Resource Management: They run massive operations efficiently.
- Serialization: All the operations can happen in strict order (no messy overlaps).
So, Whatโs a Batch?
In mainframe speak, a batch job is a bundle of workโthink of it as a bucket of transactions waiting, scheduled to run together at a specific time.
Life of a Batch:
- During the day, the main database is locked down, read-onlyโno random changes allowed. (Safety first!)
- Any new transactionsโswipe your card at a shop or transfer fundsโare stuck in a temporary area.
- At night, these โin-waitingโ jobs are released and applied to the main database in one fell swoop.
โWhen Batches Attack!โ: How It All Goes Wrong
Hereโs where things got spicy in the recent bank mess-up.
โWhen you look at whatโs a batch, what does it do, how does it work? Well, a batch in mainframe speak is a data set in wait stateโฆโ
Letโs break it down with a little table magic:
| Mainframe Phase | What Happens? ||———————-|——————————————|| Daytime | Database is read-only || Transaction Happens | Added to a temporary file (wait state) || Night Time | Batch job applies temp file to main DB |
Two Databases? Sort of.
- Main Data Set: The โmasterโ recordโcanโt touch this (during the day, at least).
- Wait State Data Set: All the changes you (and thousands of others) made during the day.
When you peek at your account balance in your banking app, youโre seeing the main record plus whatever is on hold in the temp file. It all looks seamlessโbut under the hood, youโre working with two versions.
How Banks Process Transactions
Still awake? Good. Letโs walk through what happens when you tap your debit card:
- You buy a coffee.
- The โฌ3 charge is logged in a temporary file.
- You check your account.
- The app shows your โcurrentโ balance factoring in that โฌ3 from the temp file.
- Night rolls around.
- The batch job commits your coffee debt to the main database. Your record is updated for real.
This process avoids the database getting messy with every minor transaction all day long. It groups updates into manageable nightly chunksโin banking, this is stability.
ACKNOWLEDGE VISUAL:
The Danger Zone: Multiple Commits
So, what if that batch is runโฆ not once but seven, eight, nine, or ten times?
Imagine replaying your last week over and over and over. Sounds tiringโnow imagine your account is charged โฌ50 not once, but ten times for the same transaction. That adds up fast.
Example:
| Transaction | # of Times Applied | Net Effect ||——————|——————-|———————|| Rent (โฌ1000) | 3 | You pay โฌ3000 || Groceries (โฌ50) | 4 | You pay โฌ200 || Salary (โฌ2000) | 2 | You get โฌ4000 (if you’re lucky!) |
You can see how it gets ugly quickly:
- Your balance depletes fast.
- Overdrafts start.
- Automatic payments bounce (hello, late rent).
- Fees pile onโeven if itโs not your fault.
โInstead of one or two series, they got erroneously applied 7, 8, 9, 10 timesโฆ you replay financial transactionsโฆ until your balance runs out.โ
PAGE BREAK โ ILLUSTRATION OF REPEATED TRANSACTIONS
How Could This Happen?
Letโs not just blame the techโletโs talk about human error and process mishaps.
Possible Culprits:
- Scheduling Errors
- Thereโs usually a big, detailed scheduling database that says: โThis temp file applies at 2 AM, that one at 4 AM.โ If it gets out of sync, batches re-run. Oops.
- Training in Production
- The mother of all โdonโt do this!โ stories: running student training on the actual, live mainframe.
- โStudent 1 applies the wait state, Student 2 applies it, and so onโฆโ And your bank account gets walloped.
โWhat would be the mostโฆ Well, I donโt want to use the word funnyโฆ some training mightโve been going on and instead of doing it on a test environmentโฆ they just applied the wait state on production multiple times.โ
The Reality
Do we know what exactly happened each time? Not always. But these are tried-and-terrible failure scenarios.
Are Mainframes To Blame?
Nope. Mainframes are still, all these years later, the backbone of entire industries.
Why Mainframes Just Wonโt Die
- Big data pumps: Banks, logistics, global retail, you name it.
- Proven: Theyโve worked forever.
- Scaling: When Excel canโt cut it and SAP starts to wheeze, mainframes step in.
- Longevity: Same code, same processโdecades later.
PAGE BREAK โ ANALOG OF TECH โGROWING UPโ: EXCEL โ DYNAMICS โ SAP โ MAINFRAME
But Theyโre Not Immune!
The very thing that helpsโbatchingโcan cause cascading errors when a mistake gets repeated.
โMainframes are still the big, big data pumps that keep the industry going.โ
Cleanup on Aisle 3: Fixing The Mess
All right, so the batch job ran seven times and my account is negative. Now what?
Steps to Undo the Damage
- Analyze What Happened
- Figure out which transactions were applied (and re-applied).
- Reverse the Actions
- The bank can create a reversal batch: a series of opposite transactions to claw back the mistake.
- E.g., if you were debited โฌ50 ten times, the reversal would add back โฌ450.
- Testing (and More Testing)
- In mainframe land, nothing goes live without endless checks.-Development: Build the reversal batch.-Integration Test: IT confirms it doesnโt break everything else.-Acceptance Test: Business checks that it workedโno more, no less than intended.
โIf you know what was in your temporary database, you can of course reverse itโฆ make a new data set, a new temp file with the reverse actions and replay it as many times as needed and then things should level out.โ
Why This Takes Forever
Mainframes are waterfall, not agile:
- Weeks, not days.
- Banks donโt want to return too much, so every change is cautious and slow.
- The goal: fix the error and nothing else.
โIf youโre looking at timing, that could be weeks. Itโs not a matter of days. And doing it quicklyโฆ you wish to put in too many errors, even more than what you initially started out with.โ
Mainframes: Unmoveable Object Meets Human Error
Letโs be clear: mainframes are not evil. For most of us, they are invisible, reliable engines.
What They Get Right:
- Solid as a rock: โWorks solid, itโs stable, people know it.โ
- Compatibility: You can keep old code running for years.
- Support: Pay IBM (or whoever made yours) and youโre set.
The Catch:
- If a mistake slips in, it tends to repeat big.
- Human error or schedule slip = systemwide pain.
The Long Road to Resolution
Hereโs the โfunโ part for affected customers:
- Waiting in limbo for account corrections.
- Hoping the reversal batch worksโperfectly.
- Potentially facing late fees or bounced payments in the meantime.
Banks want to avoid paying out โtoo muchโ in the fix, and processes are anything but quick.
Summing Up the Fix Process
1. Identify all repeated transactions.2. Build a reversal batch job.3. Run testsโlots of them.4. Accept the fix after business checks.5. Applyโcarefully!โto customer accounts.6. Communicate to everyone.
But Why Not More Modern Tech?
Because swapping out mainframes is like replacing all the bones in your body while running a marathon. Not impossible, but youโre more likely to trip and faceplant.
The Takeaway: Always Check Before Commit
So, what have we learned from this saga?
- Banks arenโt invincible. The stability we count on is sometimes just a well-worn process away from chaos.
- Batch jobs are fantasticโuntil human oops comes to play.
- If youโre an IT pro, never run training in production. (Seriously, donโt.)
- When stuff goes wrong on a mainframe, fixing it is like turning a cruise shipโslow and careful.
โDonโt apply your data set in wait state more than once.โ
Jackโs Final Thoughts
I love mainframes. I really do. Theyโre the backbone of nearly every industry that moves massive amounts of money and data, from banking to logistics to retail. But when things go wrong, as they sometimes do, itโs rarely the machineโs fault. Itโs process, oversight, or a simple โoopsโ that sets off a chain reaction.
And if youโre there banging your head against the wall when your bank accountโs gone wild, youโre not aloneโthe rest of us are right here with you, wondering why software thatโs so boringly reliable sometimes gets spicy.
Where to Find More Jackโs Rants
- Podcast: Spotify, Apple Music, YouTube, Deezer
- Merch: shop.idahorrorstories.eu
- Ko-Fi: Support us!
- Social: Instagram, TikTok, Facebook, LinkedIn, BlueSky, Mastodon
- Main Site: ithorrorstories.eu (All the links, all the fun)
โDonโt forget, you are one of us.โ
A Light-Hearted Disclaimer
The content of this podcast (and this blog post!) is intended for entertainment purposes only. We humorously explore wild tech situationsโdonโt take offense! All stories are situations, not personal jabs. Approach tech with a sense of humor and an open mind. Listener (and reader) discretion advised!
FAQ
What should I do if my bank account gets hit by repeated transactions?
Contact your bank immediately. Take screenshots of all the affected transactions, and donโt panicโbanks eventually fix the mistake, though it can take time.
Is my money safe on mainframes?
Despite the odd headlines, mainframes are still one of the safest, surest places for money. The odds of catastrophic failure are very, very low.
Why do banks still use mainframes?
Because theyโre proven, reliable, and handle millions of transactions without breaking a sweat. Replacing them is risky and expensive.
Closing Rant: Donโt Blame the MachinesโBlame the Process
Next time you hear about a banking โtechnical error,โ just remember: somewhere, a tired IT person is running through logs, batch lists, and files, wondering why itโs always their night shift when the world catches fire.
Weโre all in this together. Until next timeโhappy banking, and donโt forget to check your statements!

Leave a Reply