Case study — 05 · Compliance

Regulatory Reporting Engine

A registry of every periodic return a bank owes. The engine pulls the data, builds each report against the mandated template, then schedules and submits it behind a maker-checker step.

The problem

What it was like before

A bank owes a great many periodic returns, to more than one authority, on different cycles and in different templates. The knowledge of which return is due when, and where its data comes from, tends to live with the people who have always done it.

That is a continuity risk before it is an efficiency one. The question is not only whether a return goes out on time, but whether anyone other than its usual author could produce it.

How it looks

The registry is the deliverable

The automation is worth less than the list it runs on.

Return registry52 obligations
ReturnAuthorityCycleNext dueState
Currency transactionsFMUDaily01 OctSubmitted
Statement of affairsRegulatorMonthly07 OctAwaiting checker
Deposit classificationRegulatorMonthly10 OctBuilding
Sectoral advancesRegulatorQuarterly15 OctData missing
Foreign exchange positionRegulatorWeekly03 OctSubmitted
What we built

What it does

A registry of returns

Every periodic obligation written down: what it is, who it goes to, on what cycle, and where its data comes from.

Data pulled from source

The engine collects from the systems that hold the numbers rather than from a prepared spreadsheet.

Templates as configuration

Each return is built against its mandated template, which is a thing that can be changed without changing the engine.

Scheduling

The cycle is the system's responsibility, not a calendar reminder.

Maker-checker before submission

A person prepares, a different person approves. The control is in the flow rather than beside it.

An audit trail per filing

What was produced, from what data, approved by whom, and submitted when.

Where it got to

In production

50+Returns in the registry
On timeScheduled and submitted
FullAudit trail per filing
Our view

A registry is the actual deliverable

The automation is worth less than the list it runs on. Writing down all fifty-odd returns — what each one is, when it is due, where its data comes from — is the part that survives a change of staff.

Several institutions we have met can produce their returns reliably and cannot produce that list. The engine is the easy half.

Built with

Tech stack

  • Next.js
  • React
  • Prisma
  • PostgreSQL
  • SQL Server
  • AWS S3
  • Tailwind CSS
The work behind it

Delivered under Compliance & RegTech Automation and Custom Software Development.

More work

Other things we have built.

Banking

Sanctions Screening Agent

Watchlist alerts arrive all day and most are false matches. The agent clears the obvious ones against a rule engine backed by an LLM and sends every disagreement to a person with the evidence already assembled.

Read it
Banking

Law-Enforcement Request Intake

Requests arrive as letters with scanned attachments. The agent reads the mailbox, OCRs the attachments, verifies identifiers against core banking, classifies the intent and routes it — with an audit trail behind every step.

Read it
Banking

Internal Policy Assistant

Staff ask a policy question in plain language and get an answer drawn strictly from approved documents, with the source named. Nothing leaves the bank, and the assistant says so when the documents do not answer.

Read it
Compliance

CTR to goAML Conversion

A compliance team spent hours a week turning Currency Transaction Reports into goAML XML by hand. Parser, XML builder, schema validator and audit trail, behind a interface officers actually use.

Read it
Product

Autonomous Social Media Agent

A ReAct loop that researches, reads its own history to avoid repeating itself, writes a strategy memo, critiques its own drafts, publishes, and learns from every rejection.

Read it
Product

Multi-Agent Marketing System

Two agents on one platform with a person approving everything before it ships. One researches and takes a position; the other plans a week of posts reviewed as a batch.

Read it
Healthcare

WhatsApp Booking Agent

Patients book on the number a clinic already advertises, at any hour, in the language they normally write. Only genuinely free slots are offered, and anything clinical goes to a person immediately.

Read it

Have something like this?

Describe the process and we will come back with whether it is worth automating, roughly what it would take, and what we would build first — or tell you plainly if it is not a job for us.