| Date / Time | Reference | Client | Event Type | Account | Debit | Credit | Status |
|---|
| Account | Name | Opening | Movements | Closing |
|---|---|---|---|---|
| 1001 | Client Money Pool | £4,103,921 | +£183,420 | £4,287,341 |
| 1002 | Safeguarding Account | £4,107,780 | +£183,420 | £4,291,200 |
| 2001 | Client Money Liability | £4,103,921 | +£183,420 | £4,287,341 |
| 4001 | Fee Income | £28,440 | +£3,120 | £31,560 |
| Receipt | Client | Received (D) | Amount | Allocated out | Still held | Sweep by (D+1) | Status |
|---|
= received − allocated out − fees£53,400.00
| Currency | Bank / custodian statement | Internal record | Difference | Status |
|---|---|---|---|---|
| GBP | £4,176,210.00 | £4,176,210.00 | £0.00 | Balanced |
| EUR | €151,420.00 | €152,900.00 | (€1,480.00) | Break |
| USD | $88,640.00 | $88,640.00 | $0.00 | Balanced |
| Trade ref | Client | Date | Sell | Buy | Rate | Margin | Status |
|---|
| CASS 15 Requirement | Status | Evidence |
|---|---|---|
| Individual client-level cashbook records | ✓ Met | 1,847 client accounts with full transaction history |
| Point-in-time balance statements | ✓ Met | Temporal query API available for any timestamp |
| Transaction audit trail with dates & status | ✓ Met | Immutable ledger — 14,293 records this period |
| Safeguarding account reconciliation | ✓ Met | Daily recon · 0 breaks identified in May 2026 |
| Client money shortfall identification | ✓ Met | Automated daily check · No shortfalls detected |
| Record integrity & immutability | ✓ Met | Append-only ledger · cryptographic hash chain |
| D+1 receipt-to-payment allocation tracking | ✓ Met | Every receipt traced inflow → outflow; D+1 segregation requirement derived from allocation, not netting |
| Firm-account sweep monitoring (COB D+1) | ⚠ 1 overdue | PAY-IN-8802 (£22,000) breached sweep deadline — flagged for notifiable breach |
| Currency-by-currency external reconciliation | ✓ Met | GBP / EUR / USD reconciled separately against bank & custodian statements |
| Break cause & remediation record-keeping | ⚠ 1 open | EUR break logged; cause and remediation steps required before sign-off |
| Source Event Type | → | Ledger Rule | GL Trigger | Status |
|---|---|---|---|---|
| payment.credit | → | RULE-PAYMENT_RECEIVED_001 | payment.received | Mapped |
| payment.debit | → | RULE-PAYMENT_SENT_001 | payment.sent | Mapped |
| fee.transaction | → | RULE-FEE_CHARGED_001 | fee.charged | Mapped |
| sweep.outbound | → | RULE-SAFEGUARDING_TRANSFER_001 | safeguarding.transfer | Mapped |
| redemption.complete | → | RULE-REDEMPTION_SETTLED_001 | redemption.settled | Mapped |
| reversal.credit | → | Not mapped | — | Pending |
"event_type": "payment.credit",
"event_id": "evt_8841_abc",
"timestamp": "2026-06-01T09:14:00Z",
"amount": 5000.00,
"currency": "GBP",
"client_ref": "CLI-00847",
"source_ref": "PAY-IN-8841"
}
| Ledger Field | ← | Source API Field | Transform |
|---|---|---|---|
| event_type | ← | transactionType | lookup(typeMap) |
| amount | ← | amount.value | decimal(2) |
| currency | ← | amount.currency | passthrough |
| client_ref | ← | linkedAccount.id | passthrough |
| timestamp | ← | creationDate | ISO8601 |
| source_ref | ← | encodedKey | passthrough |
| Format | Description | Typical Source | Status |
|---|---|---|---|
| CSV | Configurable column mapping, any delimiter | Most systems, Excel exports | Supported |
| MT940 | SWIFT bank statement format | Traditional banks, custodians | Supported |
| BAI2 | Bank Administration Institute cash management | US banking, some UK clearing banks | Supported |
| ISO 20022 | camt.053 bank-to-customer statement | Modern banking, new payment rails | Roadmap |
| Custom XML/JSON | Configurable schema mapping | Bespoke policy admin systems | Supported |
Port: 22
User: paynow-ingest
Auth: SSH key (download below)
Payment institutions (PIs) and e-money institutions (EMIs) operating under CASS 15 face a critical gap: they lack purpose-built software to maintain compliant client money cashbook records, point-in-time balances, and full transaction audit trails. Most are managing these obligations in spreadsheets.
Bravura already possesses the core IP to solve this problem. Sonata's GL translation engine — a configurable, event-driven rules system that creates double-entry journal entries on state transitions — maps directly onto the CASS cashbook requirement. The opportunity is to decouple this capability from Sonata's monolithic architecture and offer it as a standalone, API-first product.
This brief proposes a discovery phase to validate market demand, size the opportunity, and determine the build vs. configure investment required. The initiative is positioned as an addition to the existing Bravura Modular proposition, which already encompasses FinoComp microservices, Employer Connect, and a range of Sonata-derived microservices.
Clare O'Driscoll is a CASS 15 compliance consultant working with multiple payment institutions and EMIs. She initiated contact having identified a consistent gap across her client base — a lack of any purpose-built record-keeping system for CASS 15 obligations. Key findings from the discovery conversation:
CASS — the Client Assets Sourcebook — is the FCA's framework governing how firms hold and protect client money and assets. Until recently, its stricter provisions (notably CASS 7) applied primarily to investment firms. Payment institutions and e-money institutions operated under lighter safeguarding obligations in the Electronic Money Regulations 2011 (EMRs) and Payment Services Regulations 2017 (PSRs) — obligations that, in practice, many firms struggled to meet consistently.
The inadequacy of these lighter-touch rules was exposed by a series of firm failures. The collapse of Ipagoo in 2019 revealed an average shortfall of 65% in funds owed to clients — a stark illustration of the systemic risk. Following HM Treasury's Payment Services Regulations Review (January 2023) and the FCA's subsequent consultation paper CP24/20 (September 2024), the FCA published Policy Statement PS25/12 in August 2025, introducing CASS 15 as a materially strengthened safeguarding regime for PIs and EMIs.
The Supplementary Regime (CASS 15, CASS 10A, SUP 3A, SUP 16.14A) overlays and strengthens the existing EMR/PSR safeguarding provisions. It introduces specific, operational obligations around reconciliation, books and records, resolution packs, external audit, and monthly FCA reporting. Firms had a 9-month transition window from August 2025.
Now in effectThe more sweeping end-state reform — which would replace EMR/PSR safeguarding entirely with a full CASS-style statutory trust regime — has been paused following consultation feedback and government concern about regulatory burden. The FCA will review the Supplementary Regime after one full audit cycle before consulting again. Firms should plan for further tightening in due course.
Paused — watch brief(excl. PIS/AIS-only)
Small payment institutions may opt in voluntarily. Banks providing business banking to affected firms should also consider the indirect impact.
Firms must maintain accurate, up-to-date books and records of all relevant funds held, including client-level transaction history and balances. Records must be sufficient for the FCA to identify the position of each client at any given point in time.
Gap for most firms: client-level ledger does not exist; position reconstructed manually from bank statements.Safeguarded funds must be reconciled on every reconciliation day (business days excluding weekends, UK bank holidays, and days when relevant foreign markets are closed). The reconciliation must compare the D+1 segregation requirement against the funds actually held in safeguarding accounts. Any shortfall must be remedied immediately and the process documented.
Gap: most firms run weekly or monthly reconciliations manually in spreadsheets; daily cadence is operationally unachievable without automation.Firms must submit monthly regulatory returns to the FCA (SUP 16.14A) providing detailed information about their safeguarding arrangements, reconciliation outcomes, and the total value of relevant funds held. This gives the regulator ongoing visibility and allows early identification of emerging problems.
Gap: no structured data source from which to produce the return; currently an entirely manual exercise.Firms that have safeguarded £100,000 or more during the year must engage a qualified, regulated auditor. The audit will focus on the accuracy of books and records of safeguarded funds and the effectiveness of internal safeguarding systems and controls. The FRC is developing a new auditing standard specifically for CASS 15.
Gap: firms cannot pass an audit of records they do not maintain; the audit obligation creates an acute forcing function.Firms must maintain a resolution pack detailing: locations of safeguarded funds, lists of agents and distributors, flow of funds, and procedures for managing client assets in the event of failure. The pack must be retrievable within 48 hours of FCA request. It is a living document, not a one-off exercise.
Gap: without a structured ledger, the flow-of-funds narrative cannot be produced reliably or quickly enough.| CASS 15 Obligation | Bravura Ledger Capability | Coverage |
|---|---|---|
| Books & records — client-level transaction history | Immutable double-entry ledger with client-level journal entries on every event | Full |
| Point-in-time balances for reconciliation | Temporal balance query API — balance as at any timestamp, any account, any client | Full |
| Daily reconciliation — D+1 segregation check | Automated daily recon comparing ledger position vs safeguarding account balance; shortfall flagging | Full |
| Monthly FCA return (SUP 16.14A) | Structured ledger data auto-populates 18 of 22 return fields; 4 manual attestations required | Preview |
| Annual safeguarding audit evidence | Cryptographic hash chain on all records; full audit trail exportable for auditor review | Full |
| Resolution pack — flow of funds, 48hr retrieval | Complete transaction history and balance snapshots immediately retrievable via API or export | Full |
Despite CASS 15 now being in force, the majority of affected firms do not have purpose-built software to meet their obligations. Their core systems were built for operational purposes — processing payments, issuing e-money, managing accounts — not for maintaining a compliant financial ledger. The gap between what the FCA requires and what most firms can currently produce is substantial.
There are over 300 FCA-authorised payment institutions and e-money institutions in the UK. For most of them, CASS 15 is not a future planning item — it is a current compliance obligation with an audit deadline approaching. This is the market Bravura Ledger is designed to serve.
Bravura Ledger is a standalone, API-first GL and cashbook engine purpose-built for regulated financial institutions. It receives events from external systems, applies configurable translation rules, and produces immutable double-entry journal records against a configurable chart of accounts.
| Sonata Capability | Ledger Equivalent | Work Required |
|---|---|---|
| GL Translation Rules | Event-to-journal mapping engine | Decouple from Sonata registry data model |
| Chart of Accounts config | Configurable COA with hierarchy | Expose via admin UI, not XML config |
| Double-entry journal creation | Immutable ledger entries | Add append-only enforcement + timestamps |
| State transition triggers | Inbound event API | Replace internal events with REST webhooks |
| Financial transaction records | Point-in-time balance API | Add temporal query layer |
| Dimension | Assessment | Rating |
|---|
Bravura Ledger is best understood not as a one-off product, but as an addition to the existing Bravura Modular proposition. Bravura Modular already encompasses FinoComp microservices, Employer Connect, and a range of Sonata-derived microservices. Ledger would extend that proposition into a new adjacent market — regulated payment institutions and e-money firms — applying the same modular philosophy to a compliance-driven use case.
| Module | Sonata Source Capability | Target Market |
|---|---|---|
| Bravura Ledger ← this initiative | GL translation + COA engine | Payment institutions, EMIs, neo-banks — CASS 15 |
| Bravura Compose | Document generation & correspondence | Any regulated firm requiring templated client comms |
| Bravura Orchestrator | Workflow & process orchestration | Ops teams requiring configurable workflow |
| Bravura Pricing | Unit pricing & valuation engine | Asset managers, boutique investment platforms |
Ledger must receive transaction events from the firm's existing core banking or policy admin system. Three integration patterns are supported, accommodating everything from modern BaaS platforms to legacy systems with no API capability.
Ledger must receive transaction events from the firm's existing core banking or policy admin system. Three integration patterns are supported, accommodating everything from modern BaaS platforms to legacy systems with no API capability.
- → Proven GL translation engine IP in production at scale
- → Configurable COA and rule framework — no hardcoded logic
- → No equivalent purpose-built competitor product identified
- → Strong Bravura brand in UK regulated financial services
- → No current market presence in PI/EMI segment
- → Decoupling from Sonata monolith is non-trivial engineering
- → New sales motion and pricing model required from scratch
- → Small engineering team — capacity constraints are real
- → CASS 15 creates immediate regulatory urgency
- → 300+ target firms in UK, largely underserved by vendors
- → Land-and-expand pathway from Ledger to broader modules
- → Design partner programme could fund initial development
- → Generic GL vendors may add CASS templates
- → FCA regulatory change could narrow the obligation
- → Larger RegTech players (Gresham, Vermeg) could enter
- → Risk of building without sufficient market validation
| # | Action | Owner / Timing |
|---|---|---|
| 1 | Conduct structured discovery call with Clare to validate problem size, firm profiles, and willingness to pay | Done ✓ |
| 2 | Secure design partner introduction via Clare O'Driscoll — 1 client confirmed in breach since 7 May, awaiting consent to connect. Separately, approach AutoRec re: combined records + reconciliation partnership. | Nick — 2 weeks |
| 3 | Engineering assessment: effort to decouple GL translation engine from Sonata and expose via REST API | CTO — 4 weeks |
| 4 | Produce commercial model: pricing approach, ACV range, implementation model (SaaS vs managed) | Product + Finance — 6 weeks |
| 5 | Board / CPO decision: invest in MVP build, or partner with a third-party GL vendor | CPO — 8 weeks |
- Walk me through how your firm currently maintains client money cashbook records — what systems, what manual steps?
- What does your CASS 15 compliance process look like today? Where are the gaps you're most concerned about?
- Have you had any FCA conversations or audit findings relating to your record-keeping?
- Is "balance as at a specific date" something you can produce today, or a manual reconstruction exercise?
- Which systems hold your client-level transaction data? Are they the same systems used for safeguarding?
- How many people are involved in maintaining CASS records, and how much time does it take?
- What happens at month-end or when the FCA asks for a snapshot? Where does the process break?
- Have you looked at any software vendors to solve this? What did you find and why didn't it work?
- How many firms in your network are dealing with the same problem? Are they similar in size and complexity?
- Is CASS 15 the only driver, or is there a broader operational need — reconciliation, reporting, investor money tracking?
- What's the range of firm sizes — transaction volumes, client money AUM, headcount?
- How do your clients typically buy software — direct licence, SaaS, managed service? What's the procurement process?
- Is there a budget attached, or is this still in the "we know we need to do something" phase?
- Would any clients be interested in a design partner arrangement — early access in exchange for co-design input?
- What would a minimum viable solution look like — what must it do in V1 for a firm to commit?