Practise on real broken messages, not multiple choice.
Open in the interactive Academy →Debugging challenge · ~20 min
A pacs.008 came back rejected and nobody can say why. You get the message and twenty minutes. Find every defect and repair it without changing what the payment means.
What it exercises: Reading a pacs.008, BIC format, IBAN checksums, Group-header consistency.
Translation challenge · ~25 min
An MT103 has to become a pacs.008 before the cut-off. Draw the mapping field by field — and work out which ones split in two, and which one has no home at all.
What it exercises: MT ↔ MX mapping, One-to-many fields, InstdAmt vs settlement amount.
Exception flow · ~20 min
The money arrived and the account was closed. Work out which R-transaction this is, which message carries it, which reason code it quotes, and what Bob actually gets back.
What it exercises: Return vs. reject vs. recall, pacs.004, Reason codes, Return charges.
Compliance deadline · ~20 min
Run the tape forward to the first Monday after CBPR+ stops accepting free-text addresses. A payment bounced. Work out why, what the minimum legal repair is, and where the real fix has to live.
What it exercises: PstlAdr anatomy, Hybrid vs fully structured, ISO country codes, Root-causing data quality.
Reconciliation challenge · ~25 min
Sweety’s statement will not tie out and three entries are stuck in the exception queue. Prove the statement first, then work out why each entry failed to match — and which failure is not the bank’s fault.
What it exercises: Balance chain (OPBD/CLBD), Batch-booked entries, Strd vs Ustrd matching, BookgDt vs ValDt.
Routing challenge · ~25 min
HDFC has a customer payment it was told about and cover funds it cannot tie to anything. Work out which routing was used, which leg went missing, and what the message was legally required to carry.
What it exercises: Serial vs cover routing, pacs.009 CORE vs COV, UndrlygCstmrCdtTrf, Reconciling on UETR.