Skip to main content

Bank8:Reporting — Business Requirements & Functionality

Audience: product owners, business analysts, and anyone evaluating what Bank8:Reporting does for the business. For architecture read README.md; for wire-level detail read DESIGN.md.

1. Business Purpose​

  • Regulatory filings on schedule, in the right format — the bank meets every regulator's prudential/statistical return obligations (capital, liquidity, financial, large exposures, granular credit) without bespoke per-jurisdiction code.
  • One filing executor for the whole vertical — AML/CTF reports (STR/SAR/CTR/EFTR/LCTR) and sanctions reports are detected by Bank8:Compliance and filed here, so there is exactly one mechanism that submits to a regulator.
  • Portable across jurisdictions — Canada (OSFI), US (Fed/OCC/FDIC, FinCEN), EU (ECB/EBA/NCAs), UK (PRA) are runtime registry data, not hardcoded; adding a jurisdiction is configuration, not engineering.

2. Business Scope (What the Service Provides)​

#Capability areaWhat the business gets
1Filing calendarJurisdiction-aware schedule of due returns; next-due and grace-period computation
2Return templatesDeclarative return definitions (data sources, mappings, validation, format) resolved from the jurisdiction registry
3Return generationIdempotent per (return, period) generation of capital/liquidity/financial/exposure returns
4PackagingXBRL instance documents and CSV extracts in the regulator's required format
5Submission & acknowledgmentSubmit to the configured regulator endpoint; track acknowledgment/rejection
6Amendments & resubmissionCorrection workflow; terminal states never regress
7AML/CTF filingFile STR/SAR/CTR/EFTR/LCTR detected by Bank8:Compliance
8Admin cockpitRFW filing cockpit: calendar, run status, submission history, DLQ
9Domain eventsbank8:reporting:* family (return/filing/submission lifecycle)
10Health & opsHealth endpoint, metrics, audit journal

What the service does NOT own (business boundary):

Out of scopeOwned by
Schedule timingSentin8:Cron
Approval/amendment workflow executionSentin8:Flow
Artifact byte storageSentin8:Storage
Balances/postingsBank8:Ledger (read via public API)
Detection of reportable eventsBank8:Compliance / Bank8:Risk
Regulator endpoint credential custodySentin8 (reference-only)

3. Business Capabilities​

CapabilityBusiness rule
CalendarA return is generated only when its obligation is due; re-firing never double-submits.
TemplatesA template is declarative data; changing a regulator's format updates the registry, not the code.
GenerationEvery return is validated before packaging; invalid returns never reach a regulator.
SubmissionSubmission is idempotent per (return, period); acknowledgment is recorded, rejection triggers amendment.
AmendmentsCorrections are amendments, never mutations of a submitted filing.
AML filingA detected STR/SAR/CTR is filed exactly once, or lands in the DLQ for manual replay.

4. Business Events (Outbound)​

EventFires when
bank8:reporting:return:createdA return obligation is scheduled
bank8:reporting:return:generatedA return has been generated + validated
bank8:reporting:filing:submittedA filing was submitted to a regulator
bank8:reporting:filing:amendedA filing was corrected and resubmitted

5. Business Rules & Invariants​

  1. A filing is idempotent per (return, period).
  2. Terminal submission states never regress; corrections are amendments.
  3. Regulator credentials are reference-only.
  4. No reportable event is silently dropped — DLQ is the floor.

6. Target-User Roles & Use Cases​

RoleUse case
Compliance officerReviews generated returns, approves amendments
Risk officerTriggers ad-hoc returns, reviews exposure inputs
RegulatorReceives filings via the configured endpoint

7. KPIs / Success Criteria​

  • 100% of due returns generated on schedule (no missed calendar obligations).
  • Zero duplicate submissions to any regulator.
  • All filings in the regulator's required format (XBRL/CSV).

8. Dependencies & Reliance on Other Services​

  • Sentin8:Cron (timing), Sentin8:Flow (workflows), Sentin8:Storage (artifacts).
  • Bank8:Ledger (balances), Bank8:Risk (exposure inputs), Bank8:Compliance (detection).

9. Acceptance Criteria​

  1. A due return generates, validates, packages, and submits without manual steps.
  2. A rejected submission triggers an amendment workflow.
  3. A detected STR/SAR/CTR files through this service, not Compliance.
  4. Adding a jurisdiction is registry data only — no code change.

10. Open Business Questions​

  • Portal-only (non-machine-readable) regulator submissions.
  • Multi-version XBRL taxonomy support.

Design attribution: bank8:reporting and its underlying concepts were designed by Hamid Jahanzad Hamid@Jahanzad.com.