Products · 10 · Calculation Platform
← All products

FormulaPlatform

Your business calculations, in one governed place — not hard-coded into six systems.

Define named formulas from reusable, nestable components and variables in a browser designer. Test them live against trial values before saving. Every other system in the estate then fetches the structure and posts values to a REST endpoint to get the answer — so a rate change becomes an edit, not a release.

55REST endpoints
3Calls to integrate
2Wire formats, everywhere
0Front-end build steps
The problem

The same calculation, written four times, in four languages.

The pricing rule lives in the quoting tool. A copy lives in the billing job. A slightly older copy lives in the customer portal, and a spreadsheet on someone's desk is the one finance actually trusts. When the rate changes, four teams schedule four releases — and for a while the four systems disagree about what a customer owes.

01
Logic in four places
The same formula reimplemented per system, drifting apart from the day it is copied.
02
A release per rate change
A number the business owns can only be changed by engineers on a deployment schedule.
03
No way to test it
Whether the change is right is discovered in production, by a customer.
04
Nobody can see it
The definitive version of the rule is buried in source control, unreadable to the people who own it.
The solution

One definition. Every consumer calls it.

01
Get the formula
Fetch the full component and variable tree for a named formula.
02
Get a template
Fetch the same tree with every value blanked, ready to fill in.
03
Evaluate
Post the filled template and get back per-component results plus a total.

Capabilities

01Formula designer
  • A formula is a named, numbered object with a status, held against a tenant, an organisation and an environment.
  • Components render as an indented tree, each with its own expression, name and version, nesting as deeply as needed.
  • Named variables per component, with a type and a value.
  • Automatic variable detection: the expression is scanned as you type and every name found is offered as a one-click addition.
  • An evaluation panel beside the expression, with an input per variable and an automatic mode that re-evaluates as values change.
  • Per-card dirty-state marking, add or cascade-delete sub-components, and collapse or expand branches while working.
  • A standalone Calculator screen: pick any formula, load its template, fill the inputs and evaluate — no integration required.
02Calculation engine
  • Expressions run on a proven, purpose-built mathematical expression library, not a general-purpose scripting engine — a formula cannot become code.
  • Variables are bound by name at evaluation time.
  • Every component is evaluated, then summed to a formula total.
  • Partial results are suppressed: if any component fails, the platform returns no total rather than a misleading number.
  • Evaluation works with either a session token or a machine API key, so the same endpoint serves the interface and the integration.
03Structure & environments
  • A four-level structure — tenant, organisation, application, environment — organises formulas across brands, clients and stages.
  • Each environment carries its own API key, with a rotation endpoint that issues a fresh one.
  • Environments flag themselves as development or production.
  • Promotion copies a formula, with all its components and variables, into a target environment as the next version.
  • Every record carries created and modified timestamps and the account that made the change.
04Integration & API
  • 55 REST endpoints across twelve documented groups.
  • Every endpoint speaks both JSON and XML — the consumer chooses, and a legacy client is a first-class citizen.
  • A uniform envelope on every call: request and response identifiers, an external correlation id, the payload, and structured, field-level feedback.
  • Typed request and response objects throughout — no untyped maps on the wire.
  • A template call returns a blank, correctly shaped request body, so an integrator never hand-builds a payload.
  • Filter-by-example and paging are built into every list endpoint.
  • An interactive API console for exploring and trying every endpoint.
05Operations & administration
  • A log viewer over the application and system logs, with level filtering, free-text search and a live tail of up to two thousand lines.
  • Runtime log levels: raise or lower any logger without a restart or a redeploy.
  • A memory console with a live heap gauge, manual and scheduled garbage collection, and a rolling history of the last fifty runs.
  • A dashboard showing formula, tenant and organisation counts, and the ten most recent formulas.
  • Tenant and organisation management, with create, edit and deactivate.
  • Deploys as a standalone application or into an existing servlet container, on one PostgreSQL database with schema applied automatically.
  • No front-end build tooling anywhere, and dependency vulnerability scanning gated at severity seven.
■Runtime: Java 21 on Spring Boot 4.
■Database: PostgreSQL, schema owned by versioned migrations.
■API: 55 REST endpoints across twelve groups, JSON and XML on every one.
■Front end: server-rendered, vanilla ES6, no build tooling.
■Scale: around 19,600 lines of code, 9 entities, 12 services.

What it does

  • 01One formula, defined once — every consuming system calls it instead of copying it.
  • 02Test live against trial values in the browser designer before you ever save.
  • 03Three REST calls, in JSON or XML, and any system is integrated.

At a glance

For whomSoftware vendors & ISVs · Financial services · Insurance · Quoting & pricing
LicenceLicensed per installation, on your own annual turnover, ex VAT — no per-formula charge and no per-evaluation meter. Pricing is marginal, like income tax: each slice of turnover is charged at its own rate, with a €900 minimum and any yearly increase capped at 25%. Every tranche includes unlimited users, projects and organisations in one tenant, self-hosting, and support that rises with the tranche.

FormulaPlatform in your organisation?