← Blog

When the system quietly breaks what you promised

Banks have refunded millions for rules that disagreed with their own terms for years. Why compliance testing misses these gaps, and what catches them.

Abhijith IppaCo-founder of AppThentic · 2 min read

A customer reads your terms and expects one thing. A rule in your system does another. Neither the customer nor your team can see the gap, so it runs for years, and the refund grows every month it runs.

Three public cases

An offset account that was never linked. Bank of Queensland found that a system fault had left about 6,000 customers’ mortgage offset accounts unconnected to their eligible home loans. The customers were promised lower interest; the system never applied it. It had been happening for years, by one account close to a decade. The bank refunded about A$12 million12.

Interest above the contractual cap. In 2022 the Federal Court ordered Westpac to pay A$113 million across six ASIC cases. One was selling debts on at interest rates higher than Westpac’s own contracts allowed. Another was charging advice fees to more than 11,800 customers who had died. The judge found that “systems and compliance failures were a common feature” of all six3.

Reports a machine stopped sending. A 2012 software update to Commonwealth Bank’s deposit machines stopped them filing threshold transaction reports. About 53,500 reports, covering roughly A$625 million in cash deposits, went unfiled for three years. It was a large part of a A$700 million penalty4.

None of these was an exotic failure. Each was a rule, or a missing rule, that disagreed with something the company had committed to.

Why compliance testing misses it

  • Compliance tests outcomes, by sampling. A rule that is wrong for one product type, one region or one customer segment rarely shows up in a sample.
  • Compliance knows the promise but not the code. The obligation lives in terms, disclosures and regulations. The behaviour lives in code nobody in compliance reads.
  • Engineering knows the code but not the promise. The rule does exactly what it was built to do, so it never looks like a bug.
  • Nobody owns the gap between them. So it is found by a complaint, an auditor or a regulator, and the remediation reaches back to the day the rule changed.

What catches it

Read the rule, not the outcome. Then put a narrow question to the person who owns it.

“The offset applies to product types A and B. Why not C?” is a question an owner answers in a minute. Either there is a reason, and it is recorded with their name, or there is not, and the gap is found by the company instead of by a regulator.

AppThentic does exactly that. It reads each rule that touches fees, rates, eligibility and limits, compares it with the terms and regulations you load, asks the owner where they differ, and keeps the disagreement marked Disputed until it is settled. When the code changes later, the owner is asked again. See When the system breaks a promise.

Sources