Rep commission model
A commission model for a medical device distributorship: earned on the case date rather than the invoice date, by rep and by product line, with tiered accelerators, splits and clawbacks — and the cash each case turns into, on the paying hospital's own clock.
Built for Kestrel Ridge Surgical Partners, an illustrative medical device distributorship. The data is invented; the mechanics are not.
.xlsx · 8 sheets · 939 live formulas
323 inputs · 11 tie-outs · no macros
What the file finds
Three numbers the shortcut version never produces
- $14,455
- Commission liability missing at 31 March
- $93,500
- Worst month the blended DSO gets wrong
- $7,939
- Commission on cases still not invoiced
Accrual!E20 · =E18-E19
Cases already performed and not yet invoiced. An invoice-basis book does not carry it.
Cash!A24 · =MAX(C18:H18)
Accrual!I15 · =SUMIFS(Commission!$L$6:$L$35,Commission!$N$…
The mistake this model exists to catch
Commission accrued on the invoice date instead of the case date. Cases done in March and invoiced in May are a liability at 31 March, and an invoice-basis book does not carry them.
The mistake this model exists to catch
One blended DSO across every hospital, when one system pays in 45 days and another in 110. The mix, not the average, decides whether payroll is comfortable in March.
What you send
An export, and the rules of the business
- The case log: one row per case, with the rep, hospital, product line, case date and invoice date
- The commission plan: rates by product line, the accelerator threshold, the split and clawback rules
- How each hospital system actually pays, measured from the remittance history
Messy is fine. The paste grid on the right is what the export becomes: one row per case, every cell yellow because every cell is yours.
What comes back
- READMEread me first
- Inputs23 inputs
- Cases3 formulas
- Commission455 formulas
- Accrual105 formulas
- Cash92 formulas
- Collect272 formulas
- Checks12 formulas
What you send: the case log, one row per case
The paste grid. Twelve of the thirty cases shown.
| Case ID | Case date | Rep | Health system | Product line | Invoice date | Net revenue | Product cost | Shared | Credited |
|---|---|---|---|---|---|---|---|---|---|
| KR-1001 | 01/06/2026 | D. Marchetti | Alderwood Regional Medical Center | Spine | 01/14/2026 | $38,400 | $23,800 | N | N |
| KR-1002 | 01/08/2026 | R. Okafor | Meridian Valley Health System | Spine | 02/11/2026 | $52,600 | $33,100 | N | N |
| KR-1003 | 01/13/2026 | T. Lindqvist | Fenmore County Hospital District | Extremities | 01/29/2026 | $14,200 | $8,900 | N | N |
| KR-1004 | 01/19/2026 | D. Marchetti | Kingsbridge Orthopedic Institute | Biologics | 02/02/2026 | $6,800 | $4,300 | N | N |
| KR-1005 | 01/22/2026 | R. Okafor | Alderwood Regional Medical Center | Spine | 01/30/2026 | $41,900 | $26,100 | Y | N |
| KR-1006 | 01/27/2026 | T. Lindqvist | Meridian Valley Health System | Extremities | 02/19/2026 | $18,700 | $11,600 | N | N |
| KR-1007 | 02/03/2026 | D. Marchetti | Fenmore County Hospital District | Spine | 02/24/2026 | $47,300 | $29,400 | N | N |
| KR-1008 | 02/05/2026 | R. Okafor | Meridian Valley Health System | Spine | 03/16/2026 | $61,200 | $38,200 | N | N |
| KR-1009 | 02/11/2026 | T. Lindqvist | Alderwood Regional Medical Center | Biologics | 02/18/2026 | $5,400 | $3,400 | N | N |
| KR-1010 | 02/17/2026 | D. Marchetti | Kingsbridge Orthopedic Institute | Extremities | 03/03/2026 | $21,600 | $13,500 | N | N |
| KR-1011 | 02/24/2026 | R. Okafor | Fenmore County Hospital District | Spine | 03/12/2026 | $35,800 | $22,300 | N | Y |
| KR-1012 | 02/26/2026 | T. Lindqvist | Meridian Valley Health System | Spine | 04/08/2026 | $58,100 | $36,300 | N | N |
The workbook
Select any cell. The formula is the file's own.
These are excerpts of the sheets, with the values the file computes. Nothing on a calculation sheet is typed: the rates are looked up from Inputs, the months roll off one date, and every total has a second route to the same number.
The liability an invoice-basis book is missing
Earned by case date on the left, booked by invoice date beneath it, then the roll-forward with its independent recompute.
| Month | Jan-26 | Feb-26 | Mar-26 | Apr-26 | May-26 | Jun-26 | Total | |
|---|---|---|---|---|---|---|---|---|
| Month key | 24,313 | 24,314 | 24,315 | 24,316 | 24,317 | 24,318 | ||
| WHAT THE REPS ACTUALLY EARNED (booked on the case date) | ||||||||
| Cases performed | 6 | 6 | 6 | 5 | 4 | 3 | 30 | |
| Case revenue | $172,600 | $229,400 | $194,500 | $164,200 | $140,400 | $126,000 | $1,027,100 | |
| Commission earned | $12,227 | $15,997 | $15,188 | $12,841 | $12,738 | $12,561 | $81,552 | |
| WHAT AN INVOICE-BASIS BOOK WOULD SHOW INSTEAD | ||||||||
| Commission on cases invoiced this month | $6,039 | $10,532 | $12,386 | $14,256 | $14,852 | $15,548 | $73,612 | |
| Commission on cases still not invoiced at the last month end | $7,939 | |||||||
| THE GAP | ||||||||
| Cumulative commission earned (case basis) | $12,227 | $28,224 | $43,412 | $56,253 | $68,990 | $81,552 | ||
| Cumulative commission booked (invoice basis) | $6,039 | $16,571 | $28,957 | $43,212 | $58,064 | $73,612 | ||
| Liability the invoice basis is missing | $6,188 | $11,652 | $14,455 | $13,041 | $10,926 | $7,939 | ||
| Understated by more than a month of commission? | no | no | no | YES | no | no | ||
| ACCRUED COMMISSION LIABILITY — ROLL-FORWARD | ||||||||
| Opening liability | $28,400 | $12,227 | $22,185 | $26,840 | $27,296 | $25,778 | ||
| Add: commission earned this month | $12,227 | $15,997 | $15,188 | $12,841 | $12,738 | $12,561 | ||
| Less: commission paid this month | $0 | ($6,039) | ($10,532) | ($12,386) | ($14,256) | ($14,852) | ||
| Less: prior-year commission paid out | ($28,400) | $0 | $0 | $0 | $0 | $0 | ||
| Closing liability | $12,227 | $22,185 | $26,840 | $27,296 | $25,778 | $23,487 | ||
| Closing liability — recomputed from the case detail | $12,227 | $22,185 | $26,840 | $27,296 | $25,778 | $23,487 |
In one picture
Same money. Different months.
Both clocks collect the same invoices in the end. Only one of them says which month the cash lands in, and the month is the only part payroll cares about.
Table view
| Month | Each hospital's own clock | One blended DSO | Difference |
|---|---|---|---|
| Jan-26 | $0 | $0 | $0 |
| Feb-26 | $38,400 | $0 | ($38,400) |
| Mar-26 | $41,900 | $0 | ($41,900) |
| Apr-26 | $71,100 | $101,300 | $30,200 |
| May-26 | $132,600 | $226,100 | $93,500 |
| Jun-26 | $95,500 | $164,100 | $68,600 |
The Checks sheet
Proved able to fail
The last sheet in the file is 11 tie-outs. Each reads OK on the recalculated file — which proves nothing on its own, because a check can be written so it cannot fail. So before this file shipped, a script typed a wrong number over 12 live formula cells, one at a time, and recalculated each copy.
12 of 12corruptions caught by a red check
The negative-control log
baseline: 11/11 checks OKcorrupt Accrual Closing liability col 5 -> CAUGHT by C9 corrupt Commission @L12 col -> CAUGHT by C7 corrupt Commission @F12 col -> CAUGHT by C8 corrupt Commission @H27 col -> CAUGHT by C16 corrupt Commission @H12 col -> CAUGHT by C16 corrupt Cash Collections on the blended rate col 6 -> CAUGHT by C12 corrupt Accrual Commission earned col 4 -> CAUGHT by C13,C6,C9 corrupt Collect @F7 col -> CAUGHT by C11 corrupt Cash @E9 col -> CAUGHT by C11 corrupt Accrual @D19 col -> CAUGHT by C13 corrupt Accrual @E18 col -> CAUGHT by C13 corrupt Accrual @D14 col -> CAUGHT by C10,C13
| Tie-out | Result |
|---|---|
Monthly commission earned totals back to the 30 cases The monthly grid did not drop, duplicate or misfile a case. | OK |
Every case's commission re-derived from revenue, rate, accelerator and split The earned column is rebuilt from its four ingredients in one pass. A number typed over any case's commission — the most common way a commission file goes wrong — shows up here. | OK |
Every case carries the plan rate for its product line Rates re-counted straight off the Inputs table, line by line. A rate edited on the Commission sheet instead of on Inputs is caught. | OK |
Liability roll-forward agrees with the case detail, every month Opening plus earned less paid equals closing — and closing also equals the same number rebuilt from the 30 cases by a different route. One of those alone proves nothing. | OK |
The invoice basis eventually captures every case The invoice-date bucketing is a timing difference and nothing else. If these disagree, the model has lost a case rather than merely booked it late. | OK |
Cash collected plus still outstanding equals everything invoiced Nothing collected twice and nothing lost. The collections grid closes against the case log. | OK |
The blended rate collects the same money, just in different months The blended book closes against the case log too: what it has collected plus what it still expects is every dollar invoiced. The two methods differ only in WHICH month the money lands — which is the whole argument against a blended rate. | OK |
The running totals behind the headline step by exactly each month's figure The two cumulative rows that produce the March liability figure are re-walked month by month: each step must equal that month's earned (or booked) commission. A typed-over running total is caught in the month it was typed. | OK |
Every case matched a plan rate and a hospital DSO A product line or a hospital name typed differently from the Inputs table would look up to nothing and quietly earn zero commission. This counts those. | OK |
Credited cases reverse at the clawback rate A credited case gives the commission back at whatever rate the plan says — and follows the input if that rate is changed, rather than assuming 100%. | OK |
The accelerator is on for every case past the threshold, and off for every case before it Every case is re-tested against the threshold. Catches the classic off-by-one (an accelerator wired to the row above, paying the bonus a case early) and the quieter one: a multiplier typed back to 1 on a case that had earned it. | OK |
On your numbers
Have this built on your numbers
Pricing / unit economics is included — like every other build type — on the one plan, at $1,950 a month with a 48 hours for reporting, 2–4 business days for models turnaround. A request like this one is the export above, the rules of the plan in plain language, and the question the model has to answer. The finished file comes back the same shape as this one: Inputs first, Checks last, and a README that explains itself.
How the money moves in medical device distributorships, and the other workbooks this business runs on: Medical device distributors.
The same care, on your numbers.
Every workbook is recalculated with a formula engine, its checks are proved able to fail, and a second pass re-derives the headline numbers before it ships.
Not ready? Get a free teardown of a sheet you already rely on.