Skip to content

Prudential return builder (RBNZ / APRA)

ID MOD-036
System SD06
Repo bank-risk-platform
Build status Deployed
Deployed Yes
Last commit 54197c02fff0ca78a988e6140d31778e59f05b46

Dynamic tables producing RBNZ BS-series and APRA ARS returns from live data. Cell-level data lineage. Validation rules gate submission. See ADR-013.

Approval gate (FR-807)

This module does not submit automatically. The submission orchestrator checks REGULATORY.RETURN_APPROVALS before posting to any regulator endpoint. If no approval record exists for the current (run_id, return_code), the orchestrator aborts and alerts the Finance team. The approval is written by MOD-170 (Regulatory Submissions Portal) — a Finance officer reviews the assembled return cell-by-cell in the portal Streamlit and clicks Approve. No code path in this module can bypass the gate.

REGULATORY.RETURN_APPROVALS (new table — V004)

Append-only. NFR-024 — no UPDATE or DELETE grants.

Column Type Constraints Notes
approval_id uuid PRIMARY KEY DEFAULT gen_random_uuid()
run_id uuid NOT NULL REFERENCES RETURN_RUNS(run_id)
return_code text NOT NULL RBNZ BS2A / BS13 / APRA ARS 110.0 / 210.0
jurisdiction text NOT NULL CHECK (jurisdiction IN ('NZ','AU'))
approving_officer_id text NOT NULL Snowflake current_user() at time of approval — must differ from system assembler
sign_off_reason text NOT NULL Mandatory comment from approving officer
action text NOT NULL CHECK (action IN ('APPROVED','REJECTED'))
actioned_at timestamptz NOT NULL DEFAULT current_timestamp()

Grants: SELECT, INSERT to REGULATORY_SUBMISSIONS_PORTAL_ROLE (MOD-170). SELECT to BANK_DBT_ROLE. No UPDATE or DELETE to any role.

Streamlit page

MOD-036 ships a Streamlit page REGULATORY.STREAMLIT_RETURN_BUILDER providing: - Cell-level return viewer for each assembled return (line items + source lineage + prior-period comparison) - Validation error detail view - Approval / rejection form writing to RETURN_APPROVALS

This Streamlit is the primary UI. It is embedded in the MOD-170 Regulatory Submissions Portal as the per-return detail view. Authorised roles: finance.regulatory_reporting, finance.senior_officer, compliance.officer.


Module dependencies

Depends on

Module Title Required? Contract Reason
MOD-032 LCR / NSFR calculator Required LCR and NSFR figures from the liquidity calculator are required data for prudential returns.
MOD-033 RWA & capital ratio engine Required RWA and capital ratio data from the capital engine feeds the prudential return templates.
MOD-038 Data quality & reconciliation monitor Required Data quality reconciliation must pass before regulatory returns are submitted.
MOD-104 AWS shared infrastructure bootstrap Required MOD-104 provisions the S3 Iceberg bucket (Snowflake external tables), KMS key, and bank-risk-platform EventBridge bus ARN. Required before this module can be deployed.
MOD-102 Snowflake account configuration & governance Required Snowflake account and governance provisioned by MOD-102 must exist before this module can read or write Snowflake.
MOD-170 Regulatory Submissions Portal Required Regulatory Submissions Portal owns the approval workflow and writes to REGULATORY.RETURN_APPROVALS; the submission orchestrator in this module gates on that table — MOD-170 must be deployed for any return to progress from VALIDATED to SUBMITTED.

Required by

Module Title As Contract
MOD-170 Regulatory Submissions Portal Hard dependency

Policies satisfied

Policy Title Mode How
REP-001 Regulatory Reporting Policy AUTO Regulatory returns produced automatically on schedule — no manual data assembly
REP-002 Prudential Reporting Policy LOG Every figure in every return traceable to source ledger entry — data lineage maintained
REP-005 Data Quality & Assurance Policy GATE Submission is gated by two sequential checks — automated validation rules (data quality) AND an explicit Finance officer approval record in REGULATORY.RETURN_APPROVALS; the submission orchestrator refuses to post to RBNZ or APRA unless both gates are cleared.

Capabilities satisfied

Capability Title Mode How
CAP-025 Automated regulatory reporting pipeline AUTO Builds and submits regulatory returns automatically on schedule, without manual data assembly.
CAP-030 Regulator evidence portal LOG Packages compiled returns and supporting data into a regulator-accessible evidence bundle.
CAP-034 Jurisdiction configuration layer AUTO Applies the correct jurisdictional reporting rules and thresholds when building each return.
CAP-035 Per-jurisdiction regulatory report profiles AUTO Selects and populates the regulatory report template appropriate to the jurisdiction and report type.

Part of SD06 — Snowflake Analytics & Risk Platform Compiled 2026-05-22 from source/entities/modules/MOD-036.yaml