Overview
A marketplace earns by taking a cut of what its sellers sell. Commissions are how you describe that cut and how Spree records what was actually charged. There are two halves, and — as with promotions and discounts — keeping them apart is what makes the whole thing work:
Editing a rate changes what the next sale is charged and never what a past one was.
A commission is not a fee. A fee is charged to the shopper and rolls into the order total. A commission is a settlement between the marketplace and the seller — the customer never sees it, and it never touches the order total.
Rates
A rate says what to charge. It’s either a percentage of the sale or a flat amount.The list is the precedence
This is the most important thing to understand about commission rates, and it’s deliberately different from how you might expect. When a sale happens, Spree walks the store’s enabled rates in list order and takes the first one whose rules match. There’s no scoring, and no built-in hierarchy where a product rule beats a category rule.What an operator sees in the table is exactly what resolution does. A marketplace that wants a different answer drags a row up or down, rather than reasoning about which rule type counts as “more specific”.
Rules
Rules narrow when a rate applies. A rate can hold several, and all of them must match — while the IDs listed within one rule are alternatives. So “electronics and these three sellers” is two rules on one rate.The four rule types
Product rule — these specific products
Product rule — these specific products
Charges the rate only for the products named.Products are stored as real references rather than a list of IDs in a field, so a marketplace naming a thousand products stays workable.
Category rule — anything filed here
Category rule — anything filed here
Charges the rate for products in the named categories.A category matches its descendants too. A rate on “Electronics” governs a camera under Electronics → Cameras, so you don’t restate the rule every time someone adds a subcategory.
Seller rule — these sellers
Seller rule — these sellers
Charges the rate only when the seller is one of those named. This is how a negotiated rate for a large vendor is expressed.A rule naming nobody narrows nothing — and rather than silently charging every seller, it’s treated as not matching.
Item total rule — sales in a value band
Item total rule — sales in a value band
Charges the rate only on sales within a value range. “15% under 50, 10% above” is two rates, each holding one of these.Bounds are inclusive at the bottom and exclusive at the top, so two bands can meet at a number without overlapping or leaving a gap.The band is weighed against exactly the same figure the fee is charged on, so a band can never admit a sale the fee then treats as worth something different.
What the fee is charged on
Two settings on the rate decide the base, and both matter more than they first appear.Gross or net
tax_inclusive decides whether the fee is charged on the amount including the customer’s tax, or excluding it.
The default is net, and that default is deliberate: the customer’s VAT isn’t the seller’s revenue, and charging commission on it would tax the same money twice under two different regimes.
Discounts come off either way. Commission is charged on what the customer actually paid, so a promotion is the seller’s concession.
Delivery
include_shipping adds a commission on the delivery charge as well as the goods.
Amounts and currencies
Money is stated per currency, never converted:amounts— what a flat fee charges, per currencybounds— the floor and cap a percentage charges within, per currency
bounds never disturbs amounts.
Percentages and flat fees behave differently across currencies, for a good reason:
A flat fee is charged per unit, not per line. Otherwise buying three cameras together would earn a third of buying them separately — letting the shopper decide the marketplace’s revenue.
Tax on commission
The commission is the marketplace’s own service to the seller. That’s a separate taxable supply from the seller’s sale to the customer, with its own place of supply — which is why the two taxes are worked out independently and never mix. The tax rate is resolved in this order:- An explicit
commission_tax_rateon the rate - The store’s tax engine, using the seller’s address
- The store’s default commission tax rate
taxability_reason — standard_rated, zero_rated, reverse_charge — using the same vocabulary as tax lines on goods. An invoice explaining why a marketplace fee was reverse-charged should use the same words as one explaining it for goods.
Commission lines
When an order is placed, the resolved rate is applied and the result frozen as a commission line — one per item, plus one per delivery where the rate includes it.What this doesn’t do
Commission lines say what the marketplace charged. They don’t move money, and they don’t say what a seller is owed. That is the payout ledger’s job: when an order is fulfilled, a seller transfer is written for the sale less these lines, and payouts settle those transfers on the seller’s schedule — by the built-in provider, which keeps the books and leaves the operator to pay by bank, or by Stripe Connect, which performs the transfer. A commission line is an input to that ledger, never a row in it.Refund clawbacks and netting across settlements, reconciliation and seller tax reporting are Spree Enterprise.
Related
- Sellers — marketplaces, order splitting, and the payout ledger commission feeds
- Taxes — the tax vocabulary commission lines share
- Fees — buyer-facing charges, which commissions are not
- Promotions — the same rules-and-record split, on the buyer side

