Skip to content
Back to case studies

Eight transaction checks live in under 30 days

An inherited financial platform could show that money did not match, but not why. Grail built eight production checks in under 30 days, with every mismatch linked to the records and rule behind it.

The problem

Deposits, withdrawals, card transactions and fees moved through different parts of the platform. When the numbers did not match, operators had to search through records and old code to work out where the difference began.

The system we built

Grail mapped where each transaction started, which records it should create and how each balance should change. We turned those expectations into eight repeatable checks inside the existing .NET platform. A failed check shows the exact records, amounts and rule an operator needs to investigate.

Technology
.NETReactMicrosoft SQL ServerAzure FunctionsAzure

The result

Eight checks were live in under 30 days. The operations team gained one place to see correct transactions, missing records and amount differences, with the evidence needed to explain every result.

Results at a glance

Primary resultEight transaction checks live in under 30 days
Operational resultDeposit, withdrawal, card and fee paths covered
System scopeEvery mismatch linked to its source records
Delivery noteInherited .NET platform retained and extended

How we built it

We worked one transaction type at a time: trace the money, agree on the correct records and totals, encode the rule, test it against known examples and then add it to the live operator view.

  1. Follow each transaction from the first record to the final balance.
  2. Agree with the operations team on the records and totals a correct transaction should produce.
  3. Turn that expected result into a check the platform can run repeatedly.
  4. Show a failed check with the source records, amounts and rule that did not hold.
  5. Test the check against known examples before adding it to the live platform.

How people stay in control

The software handles repeatable checks and routine work. People still approve decisions that affect customers, money, privacy or compliance.

  • Every check follows a written rule the team can inspect.
  • A missing record or amount difference remains open until someone reviews it.
  • Every result links back to the records used to calculate it.

What we delivered

The finished scope included:

  • A map of how money moved through the inherited platform.
  • Written rules for the records and balance changes each transaction should produce.
  • Eight automated checks covering deposits, withdrawals, cards and fees.
  • The records, amounts and failed rule behind every mismatch.
  • One screen for reviewing correct and mismatched transactions.
Back to case studies