For teams of 2–20 reps

Commission Calculator for Small Sales Teams

Marginal tiers, per-rep caps and split deals, with the working shown next to every figure — because the number you will be asked to defend is the one a rep disagrees with.

Calculate a payout run

The plan

set once
Commission ladder
Band of a rep's total Rate Remove

Marginal, not cliff: each rate applies only to the part of a rep's total inside its own band.

The link carries the plan. Never the deals.

The month's closed deals

paste from a spreadsheet
Rep name Ana Lopez Exactly as it should appear on the payout run.
Deal amount $30,000 Currency symbols, thousands separators and stray spaces are all fine.
Closed date opt 2026-03-01 Carried through to the working. Not used in the arithmetic.
Split % opt 60 This rep's share of the deal. Leave empty when one rep owns all of it.
One deal per line. Columns separated by a tab, a comma or a semicolon — a header row is recognised and skipped.

Drop a spreadsheet here

.xlsx or .csv

or paste the rows below

Nothing is uploaded and nothing is stored. Reload the page and the deals are gone — there is no account, and no copy of any of this anywhere but your own browser.

What this does, and what it refuses to do

Tiers are marginal

A plan paying 5% below $20,000 and 8% above it pays 8% on the amount above the threshold, not on the whole deal. On a $30,000 deal that is $1,800, not $2,400. The working shows both bands separately so the difference is visible rather than asserted.

A row it cannot read is reported

Not treated as zero. A zero silently removes money from somebody's pay and reads as "this rep earned nothing" instead of "this line could not be parsed". Every rejection carries its line number, what was pasted, and the reason.

A conflicting plan is refused

If two tier thresholds overlap or descend, nothing is calculated and the conflict is named. Picking an order would produce a figure that changes depending on which order was picked, and nobody could tell from the output which one it was.

Similar names are flagged, never merged

Ana Lopez and ana lopez are reported as possibly one person and left as two. Only someone who knows the team can say — and a tool that merged them would be quietly moving a commission from one row to another.

Money is never a float

Every amount is an integer number of cents. 0.1 + 0.2 is not 0.3 in binary floating point, and a run that is a hundredth of a cent out is a payroll dispute. Apportioned deal lines sum exactly to the rep's total, with no lost cent.

Nothing leaves your browser

The calculation is JavaScript running on this page. There is no account, no upload and no storage — reload and the deals are gone. A shared plan link carries the plan only, never the deals.