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:

  1. During the day, the main database is locked down, read-onlyโ€”no random changes allowed. (Safety first!)
  2. Any new transactionsโ€”swipe your card at a shop or transfer fundsโ€”are stuck in a temporary area.
  3. 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:

  1. You buy a coffee.
    • The โ‚ฌ3 charge is logged in a temporary file.
  2. You check your account.
    • The app shows your โ€œcurrentโ€ balance factoring in that โ‚ฌ3 from the temp file.
  3. 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:

  1. 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.
  2. 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

  1. Analyze What Happened
    • Figure out which transactions were applied (and re-applied).
  2. 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.
  3. 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

โ€œ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

Your email address will not be published. Required fields are marked *