How to Automatically Calculate Groomer Commission Rates Based on Service Revenue in POS Software?
To calculate groomer commission automatically, set a rate on the staff role (percent or fixed), then let each settled invoice line do the math: Pawfora takes the price the client actually paid, allocates coupon discounts, splits it across the staff who worked the line, and adds any weekend extra on top.
Most shops I talk to work out commission the same way. Someone keeps a spreadsheet. At the end of the month they pull the appointments, find the groomer against each one, apply a percentage, and hope the tips column lands in the right person's row.
The math is not hard. It is just endless, and it is always one week behind. A client paid with a coupon, a second groomer helped lift a nervous doodle, someone added a nail trim at the counter, and none of those three things are on the appointment the spreadsheet was built from. So the number comes out wrong, and the argument that follows is never really about the number. It is about whether anyone trusts it.
This is the version where the till does the arithmetic as it settles, and you read the result instead of rebuilding it.
The Short Answer: Set the Rate Once, Then Every Settled Line Pays Out
Commission rules sit on the role, not on the individual. You write them once against "Groomer" or "Senior Groomer" and everyone holding that role is paid by the same rules.
There are two modes, and you can mix them:
- Percent of revenue. The groomer earns a share of what the client paid. A full groom on a large doodle pays more than a small trim without you touching anything, because the base moves with the price.
- A fixed amount per job. Predictable, and the right choice for add-ons where the revenue barely moves. A nail trim is a nail trim.
Once that is saved, the calculation happens on every settled line. There is no month-end step where someone re-enters the numbers.
What Counts as Service Revenue Here
This is where most commission setups quietly go wrong, so it is worth being precise. The base is not the list price and it is not the appointment total.
It is the price the client was actually charged for that line, minus the coupon discount allocated to it. Percent coupons are divided across the invoice by each line's share of the subtotal, fixed-amount coupons are taken off as an amount. Everything else stays in.
Two things are deliberately left out of the base:
- Tips. They are not salon revenue, and a percentage of a tip is not a commission. Tips are reported separately as full staff income.
- Sales tax. It goes to the government, not to you, and paying commission on it is just giving money away.
The weekend surcharge, on the other hand, is already priced into the line at settlement, so it counts. If you charge more on a Saturday, the groomer's percentage is calculated on the higher number.
Percent or Fixed, and Where Each One Breaks
Percent is the default for a reason. Grooming prices move with the animal, because a service is priced in tiers by weight or coat. A percentage follows the tier automatically. You do not maintain a separate commission number for small, medium and large.
Fixed is better when the work is flat and the price is flat. Nail trims, teeth brushing, a walk-in tidy. A percentage of a twenty dollar add-on is a number too small to motivate anybody.
The failure mode of fixed is worth knowing before you set it. A fixed amount is split across the people on the line, not paid to each of them. Put a twenty dollar fixed rate on a job that two groomers worked and each gets ten. If you meant twenty each, you wanted percent.
One Groom, Two People: How the Split Actually Works
This is the case that breaks every spreadsheet. A big dog needs two people, and both of them were there.
Each invoice line can carry the staff who worked it. The line is divided by headcount first, then the rate is applied to each person's share. With two staff on a hundred dollar groom, each one's base is fifty, and a forty percent rate pays each of them twenty.
In fixed mode the split happens to the rate instead. A twenty dollar rate across two people is ten each.
Nobody has to remember to do this at the counter, but it does help when the line has no staff recorded at all. When that happens the system walks back through what it knows: the staff on the invoice line, then the staff names on older invoices, then the staff assigned to that service on the appointment, then everyone who took part in the appointment, and finally the appointment's primary groomer. It stops at the first thing that works.
Weekend and Peak Rates Stack on Top
A service can carry a second, separate rate for weekend work, and it is added to the normal commission rather than replacing it.
Two conditions have to hold: the appointment falls on a Saturday or Sunday, and the service has its weekend surcharge switched on. Then the weekend staff rate applies. It can be a percentage of the line or a flat amount, the same two modes as the base rate.
The part people mix up is that there are two weekend numbers on a service, and they are not the same thing. One is what the client pays. The other is what the groomer earns. You can charge the client a weekend surcharge and pay the staff a completely different weekend bonus, or run one without the other.
If the role's commission is switched off entirely, both the normal rate and the weekend extra are skipped. The switch is a master switch, not a dimmer.
Retail Goods Can Earn Commission Too
A groomer who sells a bag of food on the way out has done something worth paying for, so products can carry commission as well.
Product rates resolve in three steps: a rule on that specific product wins first, then a rule on its category, then the product default. Categories are stored as whole subtrees, so a rule you write on the parent covers the children under it without you listing them.
Two deliberate limits, both there for a reason:
- There is no fallback to the service default. Services and goods carry different margins, and a thirty percent service rate quietly applied to a bag of kibble is how a shop loses money on retail. The two sides are configured, and switched on, independently.
- Products never earn the weekend extra. That bonus is a service concept.
A product line with no staff credited to it, or that matches no rule and has no product default, earns nothing. That is intended, not a bug.
Why It Reads the Invoice, Not the Appointment
Of everything here, this is the one that changes the number on the pay sheet.
Commission is calculated from the settled invoice lines, not from the services listed on the appointment. The reason is ordinary: shops add work at the counter. A nail trim, a teeth brush, an extra twenty minutes someone agreed to while the owner was standing there. Those exist only on the invoice.
If the calculation reads the appointment, it never sees them. The work was sold, performed and paid for, and it earns nobody anything. Shops find out about this years later, usually when a groomer adds up their own week.
Reading the invoice also means a coupon applied at the till is reflected in the commission, because the discount is on the same document the rate is calculated from.
Running the Numbers Each Period
You pick a date range and you get the report. There is no generate step, no confirmation, no pay run to close before you can see anything.
Each staff member comes back with three separate figures:
- Order amount, their share of what the shop collected.
- Commission, calculated from their role's rules.
- Tips, split across the staff in proportion to the service revenue each of them produced.
The period is driven by when the invoice was settled, not by the service date. That is deliberate. An appointment from the thirtieth that gets paid on the first counts in the new month, which is how you actually think about it: this is what we collected this month.
From there you can open one person and see it line by line: every order, the discounted price that formed the base, how many staff shared it, the commission it produced, and how much of that was weekend extra. That drill-down is what ends the argument, because both people can read the same rows.
What It Does Not Do
I would rather say this now than have you find it later.
The Pay Center calculates commission. It does not run payroll. It does not produce pay slips, and it does not file or calculate payroll tax. You read the figure and pay it however you already pay people. If you need a system that cuts the cheque and handles the filings, that is a payroll product, and this is not one.
Commission also comes from the role, so everyone on that role is paid by the same rules. If two groomers on the same role have genuinely different deals, they need different roles. There is no override at the individual level.
The Short Version
Commission stops being a monthly argument when the rate is set once and applied at settlement. Set it on the role, choose percent or fixed, add per-service exceptions where the work differs, and let the invoice lines carry the rest, including the add-ons that never made it onto the appointment.
The base is what the client really paid. The split follows the people who did the work. Weekend rates stack on top. And the number you read at the end of the month is the same number the till calculated when the card was taken, because it is the same number.
Ready to stop doing this in a spreadsheet? See how Pawfora handles service tiers, staff assignment and the Pay Center behind them, with retail and reporting on the same system.
See it on your own shop
Every module is unlocked for 7 days. Set up your services and take a real booking before you decide anything.
No credit card required · Cancel anytime