Commissa
Penny-exact commission statements for flat, tiered, per-category or quota plans, with a statement link per rep.
For businesses that pay sales reps commission. Often replaces Core Commissions, QuotaPath or Visdum.
Single license $69 · Extended license $139 · paid once, yours for good
What it does
Flat rate, tiered bands like tax brackets, per-category rates, or a quota scheme. Define each globally or per rep.
Money is integer cents and rates are basis points. A deal straddling a tier is split to the cent, and lines sum exactly.
Each rep gets a private link to their statement, with no login. They can question any line, and it reaches your Disputes screen.
Close a paid period and its statements freeze, with a fingerprint on each. A later correction goes into the next open period.
Switch it on and a won deal earns in the period its customer paid. Until then it shows as held on the statement.
Every rule change is kept, with who made it and when. It says what changed, before and after, and why.
Set each rep's quota for the period and see attainment on every statement. A quota scheme pays a higher rate past quota.
An administrator can approve each period's payouts before it closes. A closed period gives a payroll CSV with each rep's employee ID.
Rules carry effective dates, and a rep's own rule overrides the global one. A plan change is a new dated rule.
Raise a dispute against a deal, decide it, and settle it with an adjustment on the statement. Every step is in the audit trail.
Deal exports from your CRM import as your CRM writes them. Reps are matched by name, and anything unmatched is reported.
One button sends a rep their own statement through your own SMTP. Off until you enable it; every send is recorded.
Also: bonuses and clawbacks in exact cents, PDF and CSV statements, a REST API and MCP for your own agent, two-factor sign-in, backups and dark mode.
What Commissa deliberately doesn’t do.
- Commissa computes commission; it pays nobody and moves no money.
- No live CRM connection — CRM deal exports import as files, matched to reps by name.
- One currency and one company per installation.
- Reps have no logins; each gets a private statement link instead.
- Nothing is emailed on a schedule — a statement email is a button a person presses.
What renting costs instead
1 month of Core Commissions costs what Commissa costs once.
Read Sep 26, 2026 · source1 month of QuotaPath costs what Commissa costs once.
Read Sep 3, 2026 · sourceThe full comparison: every rival, what each does better, and who should stay with them →
Replacing one of these? Core Commissions alternative · QuotaPath alternative · Visdum alternative
Release history
For Commissa, 4.1 makes two changes that every app gets. What’s new in 4.1 →
For Commissa, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →
This release tied commission to the customer's money and kept the plan's history. What’s new in 3.3 →
This release opened the statement to the rep: each rep gets a private link to their own statement, with no login, and can question any line.
The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…
Six MCP tools cover reps (with the rule that applies to each), deals, statements, period rollups and disputes — and every money figure comes out of the same payout…
Commissa 2.0 adds the 2.0 owner layer.
What’s in the zip
The tree as the zip ships it — the working leftovers the packager deletes are not listed
- .htaccess
- API.md
- Dockerfile
- LICENSE.txt
- QUICKSTART.txt
- README.md
- assets/
- bin/
- config.sample.php
- controllers/
- deploy/
- index.php
- install/
- manifest.json
- offline.html
- router.php
- src/
- sw.js
- tests/
- views/
src/Commission.php: a real module, the first 24 of 693 lines
Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.
<?php
/**
* Commission.php — Commissa's commission engine. This is the moat: the math IS the product.
*
* All money is INTEGER CENTS; all commission rates are INTEGER BASIS POINTS (bp, 10000 = 100%).
* Floats never touch a stored or computed amount. Commissa COMPUTES what is owed to a sales rep;
* it NEVER moves money — no cards, no bank rails, no crypto, no payment processor of any kind.
*
* Four commission schemes ("rule sets"):
* - FLAT: one rate on every dollar of a rep's won sales.
* - TIERED: progressive bands on the rep's CUMULATIVE won volume in the period, exactly like
* marginal tax brackets — e.g. 5% up to $10,000, then 8% above. A single deal that
* straddles a band boundary is split across the bands correctly.
* - CATEGORY: a per product-category rate (with a default for anything uncategorized).
* - QUOTA: 3.2 · bands keyed on QUOTA ATTAINMENT instead of raw volume ("8% up to 100% of
* quota, 12% above"). Each band's bound is a percentage of the rep's quota for the
* period, turned into cents with that quota and then run through the same tiered
* engine, so the telescoping guarantee below holds unchanged. With no quota set for
* the period, the first band's rate applies to all sales and the statement says so.
*
* Penny-exact guarantees (all covered by tests/run.php):
* - For flat & tiered, a deal's commission is defined as C(volume_after) − C(volume_before),
* where C(V) is the cumulative commission on cumulative volume V. Because the per-deal lines
* are consecutive deltas of one monotonic function, they TELESCOPE: the sum of the statementRuns on: 2-minute web installer, plain PHP 8.1+ with MySQL (or SQLite for a trial), no Composer or build step — Docker image included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.
Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- commissa <your license key>
Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run
Which license do I need?
It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.
- Install it on one domain or subdomain you own or operate
- Change the source however you like for that installation
- Run your own business on it commercially, client work included
- Re-download the current build any time from your buyer portal
- A second site, or an installation you hand to a client as theirs, needs the Extended license
- No reselling, redistributing or sublicensing the source
- Not for offering it to other people as a hosted service
- Everything the Single license grants
- Install it on as many domains as you own or operate — no cap on the number
- Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
- White-label: remove or replace the product name and logo in the screens of client installations
- Still no reselling or redistributing the source itself
- Running it as a multi-tenant service others sign up for needs a SaaS agreement
Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.
After you buy
The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.
Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers
Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms
It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.
Questions
Does Commissa pay my reps?
How exact is the tiered math?
Can commission plans change mid-year?
Do pending deals earn commission?
Will it run on shared hosting?
Is there a per-rep fee?
Do the individual lines always add up to the statement total?
Do my representatives get a login?
Are statements stored once they are produced?
How do reps see their statements?
Covered in these guides
- What's new in Own It 3.3
- What's new in Own It 3.2
- Commission engine software and multi-level rules
- The Finance Ops Suite: three ledgers that have to reconcile to the cent
- What's new in Own It 3.1
- The best self-hosted commission tracking in 2026 — an honest short list
Also covered in: Self-hosted sales commission software: own the calculator, not a per-rep bill.
More about Commissa
Penny-exact commission statements — flat, tiered, per-category or on quota attainment — owned outright.
The problem it solves
Anywhere reps earn commission, someone owns The Spreadsheet — and every pay period it produces a dispute. Tiered schemes are where it breaks: a deal that straddles a band gets rounded twice, the statement doesn't reconcile to the total, and the argument costs more goodwill than the pennies involved. Commission SaaS fixes the math but charges per seat, per month, forever, for what is a calculator plus a ledger.
- Tier-boundary math that's subtly wrong in a spreadsheet
- Statements that don't reconcile, and reps who notice
- Per-seat SaaS pricing for a pay-period calculation you could own
Every feature
- Email a rep their own statement. One button on the period sends a rep their statement — their deals, their tiers, their total, nobody else's — through your own SMTP, off until you enable it, every send recorded.
- CRM exports import without re-heading. Deal exports from your CRM import as the file your CRM already writes — columns recognized, reps matched by name, and anything unmatched reported rather than guessed.
- Commission schemes. Flat rate, progressive tiered bands (like tax brackets), per-product-category rates, or a quota scheme that pays a higher rate past quota, defined globally or per rep.
- Penny-exact tier math. Money is integer cents and rates are integer basis points; a deal that straddles a tier is split across bands to the cent, and statement lines always sum exactly to the period total.
- Effective-dated rules. Commission rules carry effective dates, a rep-specific rule overrides the global one, and a pay period you close keeps its statements as paid — so a mid-year plan change is a new dated rule, and a later correction is carried into the next open period.
- Deals and pay periods. Record deals with won/pending status — only won deals earn — and compute payouts for monthly, biweekly, or custom periods with inclusive date ranges.
- Per-rep payout statements. Each statement shows every deal, the applied rate or tier breakdown, the commission, and a running total — exported as a dependency-free PDF and hardened CSV.
- Bonuses & clawbacks. Add positive or negative adjustments in exact integer cents, itemized on the statement.
- Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
- Disputes with an outcome. Raise a dispute against a deal, decide it, and settle it with an adjustment that lands on the statement; every step is in the audit trail.
- Reps see their own statements. Send each rep a private link to their statement for the period: every deal, the rate applied to it, adjustments and net, with no login. A rep can question any line, and it lands on your Disputes screen.
- A closed period stays what was paid. Close a paid period and its statements freeze, with a fingerprint printed on each. A correction found later is carried into the next open period as one adjustment that names where it came from.
- Quotas and accelerators. Set each rep's quota for the period and see attainment on every statement. A quota scheme pays a higher rate past quota (8% up to quota, 12% above, or a stepped plan), on the same to-the-cent engine as the tiers.
- Approve payouts, then hand them to payroll. Optionally, an administrator approves each period's payouts before it can close, and a changed payout needs approving again. A closed period gives a payroll CSV: one row per rep with their payroll employee ID and the amount.
- A change log for the plan. Every change to a commission rule is kept: who made it, when, what changed in plain words (a rate, a band, a category, who it applies to: before → after) and the reason typed with it.
- Commission that waits for the customer's money. Switch it on and a won deal earns in the period its customer paid; until then it is listed on the rep's statement as held and earns nothing. Enter the payment date on the deal, in a CSV import or through the API.
- Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
- Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
- Own It 4.0.1 — fixes and an up-to-date manual. For Commissa, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0.2 — the installer opens on every host. For Commissa, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
Release notes in full
- Own It 4.1: client installations and your other tools. For Commissa, 4.1 makes two changes that every app gets. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Commissa to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
- Own It 4.0: it updates and backs itself up. For Commissa, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
- Own It 3.3: paid when the customer pays, with the plan's history kept. This release tied commission to the customer's money and kept the plan's history. Switch it on and a won deal earns in the period its customer paid, and until then it is listed as held on the rep's statement. Every change to a commission rule is kept: who made it, when, what changed and why.
- Own It 3.2: reps see what they are paid. This release opened the statement to the rep: each rep gets a private link to their own statement, with no login, and can question any line. A closed period stays what was paid, and quotas and accelerators pay a higher rate past quota. Payouts can be approved before a period closes and handed to payroll as a CSV.
- Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
- Own It 3.0: works for your AI, not just for you. Six MCP tools cover reps (with the rule that applies to each), deals, statements, period rollups and disputes — and every money figure comes out of the same payout engine the screen, the CSV, the PDF and the REST API use, so an agent and an accountant cannot be shown different numbers.
- Own It 2.0: API, 2FA, backups, dark mode. Commissa 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.
Browse self-hosted: Front-office software · Office & finance software