Producten · 10 · Berekeningsplatform
← Alle producten

FormulaPlatform

Al uw bedrijfsberekeningen op één beheerde plek — niet hardcoded in zes systemen.

Definieer benoemde formules uit herbruikbare, nestbare componenten en variabelen in een browserdesigner. Test ze live met proefwaarden voordat u opslaat. Elk ander systeem in uw omgeving haalt vervolgens de structuur op en stuurt waarden naar een REST-endpoint om het antwoord te krijgen — zo wordt een tariefwijziging een aanpassing, geen release.

55REST-endpoints
3Calls om te integreren
2Wireformaten, overal
0Front-end buildstappen
Het probleem

Dezelfde berekening, vier keer geschreven, in vier talen.

De prijsregel staat in de offertetool. Een kopie staat in de facturatiejob. Een iets oudere kopie staat in het klantenportaal, en een spreadsheet op iemands bureau is degene die finance eigenlijk vertrouwt. Wanneer het tarief wijzigt, plannen vier teams vier releases — en een tijdlang zijn de vier systemen het niet eens over wat een klant verschuldigd is.

01
Logica op vier plekken
Dezelfde formule opnieuw geïmplementeerd per systeem, die uit elkaar groeit vanaf de dag dat ze gekopieerd wordt.
02
Een release per tariefwijziging
Een getal dat de business bezit, kan alleen door engineers gewijzigd worden, volgens een deploymentschema.
03
Geen manier om het te testen
Of de wijziging klopt, wordt ontdekt in productie, door een klant.
04
Niemand kan het zien
De definitieve versie van de regel ligt verborgen in broncode, onleesbaar voor wie de regel eigenlijk bezit.
De oplossing

Eén definitie. Elke afnemer roept ze op.

01
Haal de formule op
Haal de volledige component- en variabelenboom van een benoemde formule op.
02
Haal een sjabloon op
Haal dezelfde boom op, met elke waarde leeg, klaar om in te vullen.
03
Evalueer
Stuur het ingevulde sjabloon en ontvang resultaten per component plus een totaal.

Mogelijkheden

01Formuledesigner
  • Een formule is een benoemd, genummerd object met een status, gekoppeld aan een tenant, een organisatie en een omgeving.
  • Componenten worden weergegeven als een ingesprongen boom, elk met zijn eigen expressie, naam en versie, en kunnen zo diep genest worden als nodig.
  • Benoemde variabelen per component, met een type en een waarde.
  • Automatische variabeledetectie: de expressie wordt gescand tijdens het typen en elke gevonden naam wordt aangeboden als toevoeging met één klik.
  • Een evaluatiepaneel naast de expressie, met een invoerveld per variabele en een automatische modus die herevalueert bij elke wijziging.
  • Markering van niet-opgeslagen wijzigingen per kaart, subcomponenten toevoegen of in cascade verwijderen, en takken samen- of uitvouwen tijdens het werk.
  • Een zelfstandig rekenscherm: kies een formule, laad het sjabloon, vul de velden in en evalueer — zonder integratie nodig.
02Rekenmotor
  • Expressies draaien op een bewezen, speciaal gebouwde wiskundige expressiebibliotheek, geen algemene scriptingengine — een formule kan geen code worden.
  • Variabelen worden op naam gebonden op het moment van evaluatie.
  • Elk component wordt geëvalueerd en vervolgens opgeteld tot een formuletotaal.
  • Deelresultaten worden onderdrukt: als een component faalt, geeft het platform geen totaal in plaats van een misleidend getal.
  • Evaluatie werkt zowel met een sessietoken als met een machine-API-key, zodat hetzelfde endpoint zowel de interface als de integratie bedient.
03Structuur & omgevingen
  • Een structuur met vier niveaus — tenant, organisatie, applicatie, omgeving — organiseert formules over merken, klanten en fasen.
  • Elke omgeving heeft zijn eigen API-key, met een rotatie-endpoint dat een nieuwe uitgeeft.
  • Omgevingen markeren zichzelf als ontwikkeling of productie.
  • Promotie kopieert een formule, met alle componenten en variabelen, naar een doelomgeving als de volgende versie.
  • Elk record heeft tijdstempels van aanmaak en wijziging, en de account die de wijziging uitvoerde.
04Integratie & API
  • 55 REST-endpoints, verdeeld over twaalf gedocumenteerde groepen.
  • Elk endpoint spreekt zowel JSON als XML — de afnemer kiest, en een legacyclient is een volwaardige gebruiker.
  • Een uniforme envelop op elke call: verzoek- en antwoord-ID's, een externe correlatie-ID, de payload en gestructureerde feedback per veld.
  • Overal getypeerde verzoek- en antwoordobjecten — geen ongetypeerde maps op de lijn.
  • Een sjabloon-call levert een lege, correct gevormde requestbody, zodat een integrator nooit zelf een payload moet opbouwen.
  • Filter-by-example en paginering zijn in elk lijst-endpoint ingebouwd.
  • Een interactieve API-console om elk endpoint te verkennen en uit te proberen.
05Beheer & operatie
  • Een logviewer over het applicatie- en systeemlog, met niveaufiltering, vrije tekstzoekfunctie en een live weergave van tot tweeduizend regels.
  • Runtime-logniveaus: verhoog of verlaag elke logger zonder herstart of nieuwe release.
  • Een geheugenconsole met een live heapmeter, handmatige en geplande garbage collection, en een rollend overzicht van de laatste vijftig runs.
  • Een dashboard met het aantal formules, tenants en organisaties, en de tien meest recente formules.
  • Beheer van tenants en organisaties, met aanmaken, bewerken en deactiveren.
  • Draait als zelfstandige applicatie of binnen een bestaande servletcontainer, op één PostgreSQL-database met automatisch toegepast schema.
  • Nergens front-end buildtooling nodig, en scannen op afhankelijkheidskwetsbaarheden vanaf ernstniveau zeven.
06Beveiliging & governance
  • Wachtwoordhashing met bcrypt, beschermd tegen dubbele codering
  • Stateless ondertekende tokens met validatie van handtekening en vervaldatum
  • Tokens voor wachtwoordherstel, beperkt tot dat ene doel en geweigerd voor algemene API-toegang, eenmalig bruikbaar, dertig minuten geldig
  • Bescherming tegen accountenumeratie bij wachtwoordherstel
  • API-sleutels per omgeving, uniek geïndexeerd en roteerbaar
  • Scannen van afhankelijkheden op kwetsbaarheden in de build, met een drempel op ernst zeven
  • Niet in deze release: rolgebaseerde toegangscontrole, isolatie van queries per tenant, single sign-on, multifactorauthenticatie, rate limiting en versleuteling in rust. Formula Platform wordt vandaag best geïnstalleerd op een vertrouwd intern netwerk, achter uw eigen toegangslaag, en is dienovereenkomstig geprijsd. Vraag ons naar de actuele roadmap voordat u het in een gereglementeerde omgeving positioneert.
■Runtime: Java 21 op Spring Boot 4.
■Database: PostgreSQL, schema beheerd door versiegestuurde migraties.
■API: 55 REST-endpoints over twaalf groepen, JSON en XML op elk endpoint.
■Front end: server-gerenderd, vanilla ES6, zonder buildtooling.
■Omvang: ongeveer 19.600 regels code, 9 entiteiten, 12 services.

Sectoren

Voor wie het werkt
  • Softwareleveranciers & ISV's
    Prijs-, score- en kostenlogica die klanten per account willen, verhuist uit het product naar een API, zodat configuratie geen broncodewijziging meer is.
  • Financiële diensten
    Rente-, kosten- en vergoedingsberekeningen blijven identiek in het portaal, de afschriftenrun en de backoffice.
  • Verzekeringen
    Premie- en franchiseberekening waarbij de tariferingsregel wijzigt op het ritme van de business, niet van de releases.
  • Offertes & ramingen
    Offertes voor engineering, bouw en productie, opgebouwd uit dimensionele formules die elk offertekanaal deelt.
  • Zorg & klinische scores
    Index- en scoreberekeningen die controleerbaar en overal identiek moeten zijn, waar ze ook getoond worden.
  • Nutsbedrijven & telecom
    Tarief- en verbruiksberekeningen gedeeld door een facturatiemotor, een selfserviceportaal en een callcentertool.
  • Logistiek
    Vracht-, toeslag- en volumegewichtregels die per traject verschillen en vaker wijzigen dan de software eromheen.
  • Payroll & voordelen
    Berekeningen van vergoedingen, bijdragen en pro rata die aan een auditor getoond worden als definitie in plaats van als broncode.
  • Groepen met meerdere merken
    De structuur met vier niveaus laat één installatie per merk, per klant en per fase een andere set formules dragen.

Toepassingen in de praktijk

Voorbeeldscenario’s
01 · Verzekeringen

Premiewijzigingen door de business, niet ingepland als release

Uitdaging
De tariferingsregel voor een woningverzekering zit in de code van zowel het polissysteem als het makelaarsportaal. Elke aanpassing wacht op twee ontwikkelteams, en een tijdlang tonen beide kanalen een andere premie.
Aanpak
De premie wordt één keer gemodelleerd als formule, met basispremie, toeslagen en franchise als geneste componenten. Een analist test wijzigingen met proefwaarden in het evaluatiepaneel en promoot de formule daarna van de ontwikkelomgeving naar productie als volgende versie; beide systemen roepen het evaluatie-endpoint aan met hun omgevings-API-key.
Resultaat
Een tariefwijziging wordt een aanpassing en een promotie in plaats van twee releases, en het polissysteem en het makelaarsportaal geven altijd dezelfde premie.
02 · Softwareleveranciers & ISV's

Kostenlogica per klant uit de productcode gehaald

Uitdaging
Een softwareleverancier verkoopt hetzelfde platform aan verschillende klanten, elk met een eigen kostenberekening. De verschillen zitten als vertakkingen in de broncode, dus een klant met een nieuwe regel onboarden betekent een ontwikkelticket en een aparte build.
Aanpak
Elke klant krijgt een eigen organisatie in de structuur van tenant, organisatie, applicatie en omgeving, met een eigen benoemde kostenformule. Het product haalt een leeg sjabloon van de formule van die klant op, vult de waarden in en stuurt het naar het evaluatie-endpoint, en krijgt resultaten per component plus een totaal terug.
Resultaat
Een klant met een andere kostenregel wordt een configuratietaak, en de productcode blijft voor iedereen dezelfde.
03 · Nutsbedrijven & telecom

Eén tarief voor de facturatiemotor, het portaal en het callcenter

Uitdaging
Een energieleverancier berekent hetzelfde verbruikstarief in een oudere facturatiemotor die alleen XML spreekt, in een klantenportaal en in de callcentertool. Als de drie niet overeenkomen, kunnen medewerkers het bedrag op de factuur niet uitleggen.
Aanpak
Het tarief wordt één keer als formule gedefinieerd. De facturatiemotor roept de API aan in XML, terwijl het portaal en de callcentertool JSON gebruiken op dezelfde endpoints, en als een component faalt, geeft het platform geen totaal in plaats van een misleidend bedrag.
Resultaat
De factuur, het portaal en het scherm van de medewerker tonen hetzelfde bedrag, en een tariefwijziging gebeurt op één plek.
Licentie

Per implementatie. Nooit per gebruiker.

Gelicentieerd per installatie, op basis van uw eigen jaarlijkse omzet, excl. btw — geen kost per formule en geen meter per evaluatie. De prijsstelling is marginaal, zoals bij personenbelasting: elke schijf van de omzet wordt tegen haar eigen tarief aangerekend, met een minimum van €900 en een jaarlijkse stijging die maximaal 25% bedraagt. Elke schijf omvat onbeperkte gebruikers, projecten en organisaties binnen één tenant, self-hosting, en ondersteuning die meegroeit met de schijf.

Jaarlijkse licentie volgens omzet, excl. btw
OmzetPer jaar
Tot €500.000€900
€1 mln€1.500
€5 mln€2.500
€25 mln€5.500
€100 mln€13.000
€500 mln€37.000
€1 mld€52.000

Ter illustratie: een rulesdienst aan €0,001 per evaluatie factureert vijftig miljoen evaluaties €50.000 per jaar; bij een omzet van €5 miljoen is dit €2.500.

Wat het doet

  • 01Eén formule, één keer gedefinieerd — elk afnemend systeem roept ze op in plaats van ze te kopiëren.
  • 02Test live met proefwaarden in de browserdesigner voordat u ooit opslaat.
  • 03Drie REST-calls, in JSON of XML, en elk systeem is geïntegreerd.

In het kort

CategorieBerekeningsplatform
LicentiePer implementatie, onbeperkt gebruikers, vanaf €900 per jaar
Voor wieSoftwareleveranciers & ISV's · Financiële diensten · Verzekeringen · Offertes & prijsstelling

Stuur ons één formule.

De meest weerbarstige die u hebt, en de systemen die er elk een kopie van bewaren. Wij modelleren ze en overhandigen u de drie calls die ze vervangen.Start het gesprek →