IFRS 17 replaced one number with a measurement system: every group of contracts carries a best-estimate liability, a risk adjustment and a stock of unearned profit that must roll forward every quarter, reconcile across a dozen notes, and tie to the general ledger. FinIFRS is the platform where that proof is the product. Forty-one reconciliation identities run on every change. If one breaks, the pack says BLOCKED and refuses to be signed. If they all pass, every published figure can be clicked through to the source rows — or the exact calculation — behind it.
That is the auditor’s first question every quarter. In a world of an actuarial tool nobody in finance can trace, a spreadsheet layer that stitches the disclosures together, and a quarter-end scramble to make them agree, the honest answer is “mostly.” A spreadsheet looks equally confident whether it ties or not — which is exactly the property you do not want in a regulatory filing.
Produces numbers finance cannot trace, on a timetable finance does not control.
Stitches the notes together, carries the version risk, and hides the plug.
Someone forces the difference so the pack can go out. Nobody writes that down.
This is the product — not the reports, the refusal. Delete one retroceded recoverable row from an otherwise perfect book and the pack flips to BLOCKED, names the identity that broke, shows both sides and the delta, and declines to be published. Every pack you distribute carries this binder inside it, so it can never look more finished than it is.
Every pack carries a tie-out binder: 41 reconciliation identities, each stated as pass or open, giving the pack one honest status — RECONCILED, PARTIAL or BLOCKED. A distributed pack physically cannot look more finished than it is. There is no force-publish button, and there is no 2 a.m. plug.
Any number in any statement drills to the source rows behind it — or, if the engine measured it, to the formula, the substituted inputs and the Ind AS 117 paragraph that required the step. Identity R-20 sweeps the whole pack for lineage: a figure with no support is an orphan, and an orphan blocks publication.
Keep the Appointed Actuary’s numbers and we reconcile them, or let the engine measure the group and show its working. Both routes go through the identical gauntlet. If a computed result would break the pack, the platform reverts that group to the ingested numbers and tells you why — an experiment can never corrupt the close.
Not eighteen exports of eighteen spreadsheets. One canonical fact base, one composer, and a note catalogue shaped on how the large reinsurers actually disclose — each note with a data contract, an identity list, and a rendered layout, repeated per segment and split issued versus held. Change a driver and every note that depends on it moves together, because there is only ever one number.
The four IFRS 17 positions plus investments, cash and equity.
Insurance revenue → service expense → service result → finance result, in IFRS 17 vocabulary.
The same income statement rebuilt from the trial balance, as a ledger crosscheck of the actuarial P&L.
Real OOXML. Figures stay live numeric cells your board pack can formula against — never text pretending to be numbers.
Editable narrative and tables, generated against the composed figures so the commentary can never quote a stale number.
Deterministic, print-to-PDF from the browser. Server-side PDF bytes are deliberately not built — format=pdf returns an explicit 501, not a silent fallback.
The tie-out binder travels inside every export. A workbook that leaves your building still states its own proof status.
A statement line, the groups behind it, then the evidence: for an ingested group, the uploaded rows with batch, version and uploader; for a computed group, the working itself — ordered steps, the formula, the substituted inputs, and the Ind AS 117 paragraph that required the step, persisted with the run so what you read is what was computed. Try it below.
Measurement is a per-portfolio choice and it is reversible. Any group can stay on your Appointed Actuary’s ingested numbers forever. Where you want the platform to calculate, PAA and full GMM are both built — and the output goes through the identical reconciliation gauntlet as ingested numbers, with the same identities deciding whether the pack is publishable.
Best-estimate liability from your cash-flow vectors on your curve; Cost-of-Capital risk adjustment on your capital pattern; the full CSM mechanics — day-one gain deferred and day-one loss recognised, interest accreted at the locked-in rate, future-service re-estimates, the zero floor with the excess to a loss component, and release by ingested coverage units; IFIE with the OCI split; and the ¶B123 revenue build. Every step carries its paragraph reference.
Premium allocated by passage of time, expected loss ratio on earned premium, discounted LRC and LIC, Cost-of-Capital RA with its unwind and release, and the facts-and-circumstances onerous test. Eligibility implements the real two-limb ¶53 test — a three-year contract is not auto-disqualified; the platform asks for the documented ¶53(a) materiality assessment with reviewer, approver and doc reference, and flags it as advisory, never a hard block.
They do not estimate IBNR, run chain-ladder triangles, construct or bootstrap discount curves, or choose coverage units. If a curve is missing, the compute fails loudly instead of guessing. VFA groups are not computed — a VFA group set to computed fails rather than approximating. Judgement stays with your Appointed Actuary; the arithmetic, the reconciliation and the audit trail come to us.
If a computed result would break reconciliation, the platform automatically reverts that group to the ingested numbers and tells you why, rather than leaving the pack blocked. An experiment can never corrupt your close — which is what makes adopting the engine one portfolio at a time a genuinely low-risk decision.
The module is a guided path, not a folder of screens. Each page is one step, each step needs the one before it, and the landing page tells you what to do next. You cannot accidentally publish from a half-loaded period.
Review and edit the typed input templates against your real actuarial, claims and GL extracts.
Schema, type and key validation fails loud at upload with row-level errors — never silently at quarter-end.
Every uploaded dataset with version, rows, load status and lineage. Open a batch, read its exact source rows.
Per group: ingested or computed. Run PAA or GMM, check ¶53 eligibility, open “How?” to read the working step by step.
Source columns to canonical fields, GL accounts to the SSOT — versioned lookups, not hard-coded rules.
Unwind the existing trial balance into the Ind AS 117 book, post the double-entry subledger, read the account-level bridge with no plug.
Run the identity register. Blocking breaks show both sides and the delta, resolved to the account that causes them.
Generate the statements, notes and India pack. Drill any number to its source rows or its calculation.
Review the binder, run four-eyes sign-off with CFO and Appointed Actuary attestation, distribute to Excel, Word or print.
India is not a localisation afterthought here — it is a first-class parallel-run pack. And it knows the difference between “the law limited this” and “this does not add up”: a Section 49 cap that is legitimately binding reads as compliant-amber, not as a break. Only an unexplained residual turns red.
Sign-off is not a checkbox on the last screen. It is a period-level governance run wrapping every statement, with the separation of duties an auditor expects and a trail that would expose our own tampering as readily as anyone else’s.
Vendors who claim everything get tested on everything. Here is the list we would rather say first — because a platform whose whole thesis is that it refuses to overstate a number should not overstate itself either.
No, and it does not try. Reserving, IBNR, curve construction and coverage-unit selection stay with your Appointed Actuary. The engine takes your drivers — cash-flow vectors, capital patterns, your curves — and performs the IFRS 17 mechanics on the groups you choose to flip. Everything else runs on your ingested results. You remain the measurement authority; we are the proof layer.
Three ways. Every step shows its formula and its Ind AS 117 paragraph, so your team can check it line by line. The test suite includes hand-computed worked examples whose numbers are verifiable with a calculator — 445 tests, all passing. And the acceptance bar we hold ourselves to is that, given equivalent drivers, the engine must reproduce a known-correct book exactly, with the pack still fully reconciled when every group is computed.
Then ingest your RA and the platform reconciles it like any other measured input. The Cost-of-Capital engine exists for groups where you want computation — the rate and the capital pattern are your inputs, not our constants. It is never imposed.
No. Ind AS 117.53 has two routes: the one-year automatic route under ¶53(b), and the materiality route under ¶53(a) for longer contracts. We implement both. A long-coverage PAA group raises an advisory asking for the documented ¶53(a) assessment — materiality conclusion, reviewer, approver, documentation reference — and never hard-blocks, because that judgement is yours. The platform captures and checks the conclusion; it does not run the test.
Status BLOCKED, publication refused, the break named with both sides and the delta and resolved to the account or group that causes it. There is no force-publish, for any role.
In: versioned, typed templates — files your teams already produce from the actuarial system, the claims register and the GL. Schema drift fails at upload with row-level errors. Out: real .xlsx with live numeric cells and .docx, both carrying the tie-out binder inside the file, plus a deterministic print pack. No mandatory system integration to go live; API-level integration is incremental.
Per portfolio, reversibly, with an auto-revert safety net. A realistic path: quarter one, ingest everything and use us as the reconciliation and disclosure layer; quarter two, flip the short-tail PAA books to computed and parallel-run; later, the GMM books as your actuary gains confidence. Nothing is big-bang.
Everything exports to open formats — xlsx, docx, HTML — and the underlying store is standard Postgres. There is no proprietary lock-in on the data model.
A four-to-six week pilot on your last closed quarter, ingested. You get your own pack back — RECONCILED, or honestly BLOCKED. Either result is worth having: a blocked pack on real data finds the discrepancies your current process is quietly absorbing.