How to bill per seat: mid-cycle changes and true-ups
Per seat pricing is the easiest model to explain: each person who uses the product costs the same amount, so a team of ten pays ten times the seat price. It gets harder the moment a team changes size in the middle of a billing period, which, for a growing customer, is every other week. This guide covers the choices you have to make and shows the numbers for each. (For the short definition, see per seat pricing in the glossary.)
Decide what counts as a seat
Before any billing math, write down what a seat is. The two common answers:
- An assigned seat. The customer buys a number of seats and assigns people to them. The bill follows the number bought, whether every seat is used or not. Predictable for both sides.
- An active user. The bill follows how many people actually used the product in the period. Fairer to customers with occasional users, but the invoice changes every month and you need reliable usage counts.
Assigned seats are the simpler place to start, because the customer controls the number and nobody is surprised. The rest of this guide assumes assigned seats.
Adding seats mid cycle, prorated
Say your team plan costs $12 per seat per month. A customer has 10 seats, billed $120 on June 1 for the month of June. June has 30 days.
On June 11 they add 5 seats. There are 20 days left in the period, counting June 11. With proration, they pay for the new seats only for the days they will have them:
- Charge for the added seats: 5 × $12 × (20 / 30) = $40.00
On June 21, two people leave and a third moves to another team, so they remove 3 seats. There are 10 days left:
- Credit for the removed seats: 3 × $12 × (10 / 30) = $12.00
On July 1 they renew with 12 seats (10 + 5 minus 3):
- Renewal: 12 × $12 = $144.00
- Plus the June charge, minus the June credit: $144 + $40 minus $12 = $172.00
Those prorated amounts can go on their own invoice the moment the change happens, or wait and settle on the next regular invoice, as above. Waiting means one invoice a month instead of three, which the customer's finance team will thank you for. Either way, label each line with the number of seats and the dates it covers, so the $172 explains itself. The proration calculator runs the same split on your own prices, and proration explained covers the rounding details.
Or skip the daily math: true-ups
Proration is exact, but it produces a line for every change. The alternative is a true-up: you let the customer add seats freely during a period and settle the difference later, at a set point.
Common versions:
- True-up at renewal. New seats are free until the next period, then billed in full from then on. Simple, and generous to the customer.
- True-up each quarter. At the end of every quarter, you count the seats added and bill them for the quarter they were added in plus the rest of the contract.
- True-up on the peak. You bill the highest seat count reached in the period, so a customer who briefly jumps to 30 seats pays for 30.
A true-up trades precision for simplicity. The customer sees fewer invoices, and you avoid a stream of small prorated lines. The cost is a larger bill at the true-up point, which you need to warn customers about in advance.
Minimum seats
Many seat based plans have a floor: a minimum number of seats, or a minimum monthly charge, whichever is higher. It protects you from teams of one who use the product like a team of ten.
Say your plan has a 5 seat minimum at $12 a seat, a $60 floor:
- A team with 3 seats pays $60, not $36.
- A team with 7 seats pays 7 × $12 = $84, the floor no longer matters.
Say it clearly on the pricing page ("from $60 a month, 5 seats included") so a small team is not surprised by the first invoice.
Annual contracts with seat growth
Annual seat contracts are where these choices matter most, because the numbers get large.
Say a customer signs for 50 seats at $120 per seat per year, $6,000 for a contract year running January 1 to December 31, 2027 (365 days). On July 2 they add 20 seats. There are 183 days left in the year, counting July 2.
Option 1, prorate now. Bill the new seats for the rest of the year:
- 20 × $120 × (183 / 365) = $2,400 × 183 / 365 = $1,203.29
Option 2, true-up at the end of the quarter. Bill the new seats for the quarter they were added in (Q3) and the one remaining (Q4), at $30 per seat per quarter:
- 20 × $30 × 2 quarters = $1,200.00
The totals are close; the difference is the day count and the paperwork. Prorating produces an invoice per change with an exact amount. A quarterly true-up produces at most four invoices a year with round numbers, which is often what an enterprise buyer's procurement team prefers. Pick one and write it into the contract.
At renewal the contract resets at the new size: 70 × $120 = $8,400 for the next year. That growth inside existing accounts is expansion revenue, and for a seat based business it can be a large share of all growth.
Removing seats: up anytime, down at renewal
Adding seats mid term is easy to agree to. Removing them is where contracts need a rule. The common one: seats can go up at any time, and go down only at renewal. The customer keeps what they committed to for the year and can resize for the next one.
On monthly plans you can be more flexible, but the same rule is still a reasonable default: removals take effect at the next billing cycle, and the customer keeps the seats they paid for until then. It avoids a credit every time someone leaves a team.
How yRecurring handles seats
In yRecurring a seat is the quantity on a per unit price, with an optional included allowance (the first seats free) and an optional minimum amount on the line, which is how you set a floor. Quantity changes made now are prorated by the day: the charge and credit wait in the subscription's unbilled charges and settle on the next invoice by default, or bill immediately if you prefer, and each line shows how it was calculated. A change can also be scheduled for the end of the term or a specific date, which is how seat reductions at renewal work. If you turn it on, customers can change their own seat count in the customer portal and see what they owe before they confirm.
We check every post against the product and date any competitor prices.
yRecurring is the billing platform behind this blog: subscriptions, usage and token billing, invoicing, and payment recovery, with every amount explained.