v2.0

GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!

Watch the launch videoWatch

Commission calculation software
that proves every payout.

Model comp plans as decision tables sales ops can read: attainment tiers, accelerators, deal splits, kickers, clawbacks. Every plan change is versioned and approved, so when a rep disputes a payout you can replay the exact version that calculated it.

From disputed payout
to a corrected plan.

Watch the Monday after quarter close in a comp ops team: a rep two points under the accelerator, a one-cell change to the multi-year credit rule, a replay over 1,480 closed deals, a signed release - and 23 open disputes down to 2.

scroll to play
Monday, 08:15

Q3 is closed. The disputes are not.

186 statements are calculated over 1,480 closed deals, and 23 reps have disputed theirs. The newest landed two minutes ago from EMEA.

The case file

The rep is right, and comp ops agrees.

A. Reyes closed a 3-year deal worth $240,000 TCV. The plan credited year one only, $80,000, which parks her at 108% - two points under the accelerator.

One cell

Fix the plan, not the payout.

The credit rule opens in the live plan. Multi-year deals move from year-1 value to full TCV, capped at 2x quota - on a branch, tiers and split rules untouched.

Proof before payroll

1,480 closed deals re-run.

The whole quarter replays against the draft while you watch: 14 reps cross the 110% line, $61,240 in corrections, and not one payout goes down.

Sign-off

Finance approves. v4.1.0 ships.

Jane Cooper signs the release and it promotes through staging to production with the diff and the approval recorded. Rollback stays one click away.

Same morning

The statement recalculates itself.

A. Reyes lands at 133.6%, the 1.50x band opens and her payout goes to $62,400. Open disputes drop from 23 to 2, and the one still standing is a split, not a plan.

The plan is a PDF.
The payout is a spreadsheet.

Ask where commission is actually calculated and the answer is never one place. The comp plan document says one thing, a quarterly workbook with a tab per rep says another, a formula field in the CRM says a third, and the reps keep private spreadsheets because they have learned not to trust any of them. In a 2026 survey of North American sales management, 62% of reps said they shadow-account their own commissions, and Salesforce's State of Sales research has reported that more than 60% of reps hit a commission error in the previous year. Every hour spent reconciling a payout is an hour not spent selling.

Changing the plan is worse than calculating it. Legacy incentive compensation platforms are configured, not authored: implementations run six to twelve months, and mid-cycle changes route through the vendor's professional services queue. Qobra's buyer research found the single most common frustration with legacy ICM systems was the inability to change a compensation plan without vendor involvement. So the mid-quarter kicker sales leadership wants becomes a five-figure change request, and in the meantime someone codes it into the workbook as a manual adjustment column.

Then the questions arrive that nobody can answer cheaply. A rep disputes March: which plan version was live when that deal closed, did the accelerator apply before or after the split, who approved the SPIF? Finance needs the same lineage for ASC 340-40, where capitalized commission amortization depends on plan terms finance does not control, and auditors want a schedule that ties back to source. California Labor Code 2751 goes further: commission terms must be in writing, must set out the method of computation, and must be re-issued when the plan changes.

A workbook nobody fully understands is not an answer to any of those questions.

Comp plans as decision tables.
Every version kept.

A compensation plan is already a table: attainment bands down the side, deal attributes across the top, a rate and a multiplier in the cells. GoRules stores it that way instead of translating it into code.

01

Tiers, accelerators, splits, and clawbacks as rows

Attainment bands, base rates, and accelerator thresholds are rows in a decision table a comp analyst edits directly. ZEN expressions handle the arithmetic between them, from quota retirement to prorated ramp targets to blended attainment across products, and typed TypeScript function nodes cover anything genuinely custom like a split waterfall across an AE, an overlay specialist, and a channel partner. Policies model eligibility and SPIF overlays as ordered blocks, so a campaign kicker sits on top of the base plan instead of being pasted into it. Natural-language rendering turns each row into a sentence a rep can read, and you start from 70+ templates rather than a blank editor.

02

The version that paid the line item, on demand

Every plan edit lands in git-like version control with author, timestamp, and a full diff, gated by approval workflows and role-based access, and plans move through dev, staging, and production as explicit releases. That is what turns a dispute into a lookup: pin the plan version that was live when the deal closed, re-run the deal, and show the rows that fired, the split that resolved, and the approval that put that accelerator into production. The same lineage supports the deferred commission schedule your auditors ask about.

03

Model the quarter before it pays

Branch the plan, make the change, and replay it over last quarter's closed-won deals as test cases before anyone commits to it. You see the per-rep delta and the total variable cost instead of a guess, which is how you catch the accelerator that pays 3x on a renewal or the split rule that double-credits a co-sold deal. GoRules AI can edit the rules, run the tests, and explain a resulting payout in plain language while you iterate; releasing the change stays a human decision with an approval attached.

From closed-won
to a defensible number.

GoRules is the calculation and governance layer. Your CRM, billing system, statements, and payroll keep doing what they already do.

01

Connect the systems that already hold the data

Opportunities and close dates from Salesforce or HubSpot, invoiced amounts and churn events from billing or ERP, and roles, territories, hire dates, and quotas from HRIS. Call GoRules over REST from your commission run, or embed the MIT-licensed open-source ZEN engine in that job with SDKs for Node.js, Python, Java, Go, C#, and Rust. GoRules returns calculated line items; your statement, payroll, and GL systems consume them.

02

Model each plan as a decision graph

Eligibility first (active, past ramp, plan assigned), then quota retirement and attainment, then the tier table, then kickers for term length, product, or new logo, then split resolution across everyone credited on the deal, and finally clawback rules with their lookback window. One graph per plan and one version history per graph, so the AE plan and the SDR plan evolve independently.

03

Test against history, then release

Run the proposed plan over closed-won deals from the last two quarters and diff payouts per rep against the released version. When the numbers hold, the change goes through approval and is promoted to production with the trail recorded, ready to attach to the plan document you re-issue to reps.

04

Calculate per deal and keep the trace

Evaluate the moment a deal closes so a rep sees the earned amount in the CRM instead of rebuilding it in a spreadsheet, or run the whole book nightly in a batch window. Every line item carries the plan version, the rows that fired, and the inputs used, which is what turns a dispute into a five-minute conversation.

Built for production,
not proof of concept.

  • Sub-millisecond evaluation with the open-source ZEN engine (Rust core): price a deal the instant it closes, or re-run a full quarter of line items inside a nightly batch window
  • Git-like version control on every comp plan: branches, diffs, approval workflows, and one-click rollback when a mid-quarter change misfires
  • Self-host with Docker or Kubernetes so quotas, earnings, and rep-level data stay inside your infrastructure, or run on GoRules Cloud
  • Complete audit trail of who changed which accelerator, when, and who approved it, with SSO, role-based access, and SOC 2 so reps read the plan without being able to edit it
  • No lock-in and no services ticket: the engine is MIT-licensed open source, changing a rate is an edit rather than a project, and 70+ industry templates give you a working starting point

Questions, answered.

What is commission calculation software?

Commission calculation software takes closed deals and the rules of a compensation plan and produces what each person is owed: quota attainment, the tier or accelerator rate that applies, credit splits across everyone on the deal, kickers, and any clawback. It sits between the CRM and billing systems that hold the facts and the statement, payroll, and GL systems that pay and book the result. The hard part is rarely the arithmetic. It is that plans change mid-cycle, deals get credited to more than one person, and every number has to be defensible months later. GoRules provides that calculation layer as versioned decision tables your sales ops team edits directly.

Does GoRules replace our ICM or payroll system?

No. GoRules is the rules engine underneath commission calculation: plan authoring, testing, versioning, approvals, and evaluation. It does not run payroll, generate rep statements, or manage territory and quota planning, and it is not a system of record for HR data. Teams reach for it when the constraint is the plan logic itself, when plan changes are slow or expensive, when the calculation lives in a spreadsheet nobody can audit, or when an existing platform cannot express a plan without a services engagement.

Can it model accelerators, splits, clawbacks, and SPIFs?

Yes, and each one stays a distinct construct rather than a formula buried in a cell. Attainment tiers and accelerator thresholds are rows in a decision table. Splits are a function node that distributes credit across an AE, an overlay, and a partner and enforces that the shares total 100%. Clawbacks are rules with an explicit trigger and lookback window, commonly 90 to 180 days of early churn, and they can reclaim commission while leaving quota credit intact. SPIFs and campaign kickers are separate policy blocks with start and end dates, layered over the base plan so they expire cleanly instead of being edited into it.

How does this help with commission disputes?

Disputes are usually not disagreements about arithmetic, they are disagreements about which rules applied. Because every plan version is retained with its diff and its approver, you can pin the version that was live on the deal's close date, re-run that deal, and show the rows that fired, the split that resolved, and the inputs used. Natural-language rendering means the rep and the comp analyst read the same rule instead of a formula and a policy PDF that drifted apart. Showing the calculated amount when the deal closes also removes most of the reason reps shadow-account in the first place.

Does this support ASC 606 and written commission agreement requirements?

It supports the evidence side of both. ASC 340-40 requires incremental costs of obtaining a contract to be capitalized and amortized, and that schedule depends on plan terms finance often does not control, so versioned plans give you a defensible link from a capitalized amount back to the rules and inputs that produced it. Written commission agreement laws such as California Labor Code 2751 require the method of computation in writing and re-issued when the plan changes, and a dated version history tells you exactly when that obligation was triggered. GoRules supplies the traceability; the accounting judgments and legal obligations remain yours.

The same engine,
next door.

One decision layer serves the whole institution - these use cases run on the same tables, versioning, and audit trail.

Every rate, every version.
Every payout you can defend.

Model one plan, your AE tier table with its accelerators and split rules, then replay last quarter's closed-won deals through it before anyone gets paid.