Skip to content
elk.solutions

Spreadsheetproof. Spreadsheet logic, governed in your own database.

For actuarial, risk and finance teams. Your actuaries keep working the way they work in Excel.

AssumptionsMortalityPremiumABC1Interest rate2.4%2.1%input2Term20input3Mortality rate0.0021input4Disc. factor y200.62240.6600=1/(1+B1)^B25Present value15,73716,195=Premium!C2*B46Premium15,77016,229=B5*(1+B3)cell· databasemodel v1model v2formulavalueB1—2.1%B4=1/(1+B1)^B20.62240.6600B5=Premium!C2*B415,73716,195B6=B5*(1+B3)15,77016,229… 156 more rowsaudit· append-only#4109/10m.vos2.6% → 2.5%← 7be2…5d8a…#4214/10m.vos2.5% → 2.4%← 5d8a…a91f…#4320/10s.jansen2.4% → 2.1%← a91f…3c07…versionsmodel v1 · 14/10model v2 · 20/10verificationExcel referenceExcelDBDisc. factor y200.66000.6600Present value16,19516,195Premium16,22916,22923466992115138161cells · 0 deviationsAssumptionsMortalityPremiumB1Interest rate2.4%2.1%inputB6Disc. factor y200.62240.6600=1/(1+B1)^B3B7Present value15,73716,195=Premium!C2*(1-B6)/B1B8Premium15,77016,229=B7*(1+B4)cell· databasemodel v1model v2sheet · address · formula · valueAssumptions · B1—2.1%Assumptions · B6=1/(1+B1)^B30.62240.6600Assumptions · B7=Premium!C2*(1-B6)/B115,73716,195Assumptions · B8=B7*(1+B4)15,77016,229audit· append-only#41 · m.vos · 09/102.6% → 2.5%hash 5d8a…prior 7be2…#42 · m.vos · 14/102.5% → 2.4%hash a91f…prior 5d8a…#43 · s.jansen · 20/102.4% → 2.1%hash 3c07…prior a91f…versionsmodel v1 · 14/10model v2 · 20/10verificationExcel reference23466992115138161cells · 0 deviations

A model in Excel: the interest rate changes from 2.4% to 2.1% and every dependent cell lights up, from discount factor to premium.

Every cell is a row: the changed cell and everything that depends on it land in table cell with formula and value.

The change becomes a new block in the audit chain: who, when, old and new, with the hash of the previous block. The model moves from v1 to v2.

The database recalculates everything and sets each cell against the Excel reference: 161 cells, 0 deviations.

Product illustration, not a live process

Where the money is calculated, the audit trail stops. Spreadsheetproof keeps spreadsheet logic in your own database, so every change can be followed and every result reproduced.

Full details, a live demo and the pilot request are on the product site: Spreadsheetproof for actuarial, risk and finance teams.

The problem. The trail stops at the spreadsheet.

Field audits of real-world spreadsheets, summarised by Raymond Panko, found errors in roughly 1 in 20 formula cells. Under Solvency II and DORA, supervisors expect insurers and pension funds to control the tools that produce regulatory numbers: who changed what, when, and whether a result can be reproduced.

The usual workflow (export from the database, calculate in Excel, import the result) breaks the audit trail at the exact point where the money is calculated.

Sources: Raymond Panko, spreadsheet error rates, summarised at planguru.com. Regulation (EU) 2022/2554 (DORA). Directive 2009/138/EC (Solvency II).

How it works. Cells as rows.

An existing workbook is read. Formulas, inputs and results become rows in your own database. Target platforms are PostgreSQL, Oracle and SQL Server. Formulas can reference records in your own tables, and results are ordinary data that reports and downstream systems read directly.

  • Audited per cell. Every change is logged: old value, new value, formula, user and time.
  • Immutable model versions. Any past state of the model can be reproduced.
  • Calculation runs with pinned input. A result can be recreated later from the same input.
  • Exit to .xlsx. Any sheet exports at any moment to a working .xlsx with its formulas intact.

Calculation-as-a-service products move your logic into their cloud. Spreadsheetproof keeps logic, data and history in your database, under your controls. You can try it live at spreadsheetproof.com: edit a cell and watch the database follow.

Who it is for.

Spreadsheetproof is for insurers, pension funds and actuarial firms. Your actuaries keep the same grid and the same formulas. What changes is where the model lives: in governed storage in your database instead of a file on a shared drive.

Commitments in the contract.

These are the control measures that come with every licence, and the document in which each is laid down.

Measure What it covers Where it is laid down
Runs in your environment Installed on your infrastructure and your database. No data leaves your organisation, no SaaS dependency. Installation, licence per environment
Source-code escrow Every licence includes source-code escrow with an independent escrow agent, set up when the contract is signed. Licence agreement, escrow agreement
Exit to Excel Any sheet exports to a working .xlsx with its formulas intact. You are never locked in. Product function, exit clause
Parity with Excel Each migration is delivered with a parity test against your Excel workbook; you receive the results. Migration deliverable
Continuity The contract names a continuity partner who can take over maintenance. Licence agreement
DORA Contracts include an annex on DORA Article 30, exit strategy and audit rights; we complete your supplier questionnaire. Contract annex, questionnaire

A fixed-price pilot.

We take one existing EUC model of yours and run it in Spreadsheetproof in parallel with Excel, read-only, in your environment. The pilot costs €12,500 excl. VAT and takes 8 weeks. You receive a variance report, cell by cell, and an audit-trail demonstration for your second line. You keep the report, whatever you decide. A licence per environment is quoted after the pilot.

A pilot requires one model, a database schema or test environment, and one contact person. Plan for about one day per week during the 8 weeks. Request the pilot at spreadsheetproof.com.

First built for a publisher of construction costs.

The approach behind Spreadsheetproof was first built for a Dutch publisher of construction cost data, where stacked cost databases and spreadsheet calculations had to become one governed system. ELK Solutions is a small, specialised software company in the Netherlands. Our continuity does not depend on headcount: escrow, a named continuity partner and installation in your environment are terms of every contract.

Consultancies and integrators build and maintain the models; we provide the governed platform. Questions, a pilot or a partnership: info@elk.solutions.

See Spreadsheetproof at spreadsheetproof.com

There you will find a live demo, the control measures and the fixed-price pilot.

Go to spreadsheetproof.com