← Back

2026-09-05

The Regulatory Reporting Version Control Problem

A regulator sends a letter about a BES submission from Q3 of last year. Specifically, they want to understand why a particular exposure was classified the way it was. Your team pulls the archived output — the number matches what was filed. Good. Then they ask the harder question: show us the rule your pipeline was applying that day.

This is where most firms discover they have a problem they didn't know they had.

The Gap Between Code Versioning and Rule Versioning

Every serious finance or insurance IT organization has Git. Every pipeline lives in a repository, every commit is traceable, every deployment is tagged. That part is solved.

What is almost never solved: the interpretation layer between the regulation and the code. Consider a BDDK reporting pipeline that classifies a loan as restructured. The classification depends on:

Git tracks the code change. It does not tell you why the threshold was 90 days instead of 91, which version of the circular the team was reading, or what the reporting officer's interpretation was on the day the filing went out.

Why the Output Alone Is Not a Defense

Regulators in Turkey — BDDK, SPK, SEDDK — increasingly ask reconstruction questions rather than accepting the archived filing as evidence. "Show us your logic" is not the same as "show us your output." I have seen firms present a beautifully archived XBRL package, only to fail when asked to demonstrate that the classification engine at time T applied rule interpretation X.

The failure mode is predictable:

  1. Pipeline runs, produces output, output is archived.
  2. Bug is discovered two weeks later. Fix is deployed. No one flags this as a regulatory-logic change because "it was just a bug."
  3. Six months later, another edge case surfaces. Someone rewrites the classification module for clarity. Behavior is equivalent for current data but subtly different for historical data.
  4. Fourteen months later, regulator asks about a specific record. You run the current pipeline against the archived input. The output is different. Now you have to explain why — and you cannot, because no one wrote down which interpretation applied when.

What Firms Actually Have

In most banks and insurers I have worked with, the reality is:

That last point is where findings are born. When the regulator asks, you cannot say "this filing was produced by pipeline version 4.2.1, using mapping table snapshot dated 2023-08-14, applying interpretation memo INT-2023-07 regarding the treatment of restructured SME loans." You can only say "here is the code that runs today."

What a Real Reconstruction Package Looks Like

A defensible submission should be reproducible from a single manifest that captures:

Most of this is achievable with existing tooling. What is missing in most shops is the interpretation document linkage — treating the regulatory reading itself as a versioned artifact, reviewed by compliance, and referenced from the pipeline metadata.

Concrete Steps That Work

From implementations I have seen work:

The Uncomfortable Part

Most firms will not do this until forced. The reason is organizational: reference data is maintained by reporting teams, code is maintained by IT, interpretations are maintained by compliance, and no one owns the intersection. The manifest requires all three groups to agree that their outputs are linked artifacts, not independent workstreams.

Until that ownership question is settled, the version control problem is not a technical problem. It is a governance problem wearing a technical costume. And every quarter that passes without fixing it, another fourteen-month clock starts ticking on filings you will not be able to reconstruct.