Appearance
5. Pricing rules
Pricing, then Pricing rules. Rules are how your shop's commercial logic gets written down: volume breaks, club discounts, setup waivers for repeat customers. They compose, they are ordered, and every rule that fires is recorded on the quote so you can see exactly why a number came out the way it did.

The pipeline
Every quote runs through the same seven stages, in this order:
1. list price x quantity, per line
2. customer / price-list discount
3. quantity-tier reduction
4. decoration cost + setup fee (from the decoration method)
5. setup-fee waiver
6. freight (flat rate)
7. tax (your region's scheme)Two consequences worth internalising:
- Discounts apply before decoration. A customer discount reduces the garment price, not the decoration price. If you want a discount on decoration too, use a quantity tier or a second method with a different matrix.
- Tax is last, on everything. Discounts never reduce tax incorrectly and freight is taxed like the rest.
Every fired rule is written to the quote as a frozen audit trail: the rule name, the amount and a plain-English description such as "Volume break: 100+ triggers $0.40 unit reduction". That trail stays on the quote even if you later change the rule.
The three rule types
Customer discount
A straight percentage off the list price of every line.
| Field | Value |
|---|---|
| Type | Customer discount |
| Discount percent | For example 12 |
| Applies to | Whole shop, one customer, or a price list |
Use it scoped to a price list for a rate band, and scoped to one customer for a negotiated deal that does not belong to a band.
Quantity break
A per-unit reduction once a line reaches a quantity.
| Field | Value |
|---|---|
| Type | Quantity break |
| Quantity tiers | Rows of min quantity and unit reduction (cents) |
The first tier the line quantity reaches wins, so order your rows from the largest minimum quantity down. The seeded "Global volume break" rule is a good template:
| Min quantity | Unit reduction |
|---|---|
| 100 | 40 cents |
| 50 | 25 cents |
| 25 | 15 cents |
A 60-unit line reads down the list, skips the 100 row, hits the 50 row, takes 25 cents off each unit and stops. If you entered those rows ascending, a 60-unit line would take the 25-row and stop at 15 cents, which is not what you meant.
Order tiers descending
This is the single most common pricing mistake in setup. Largest minimum quantity first, every time.
Setup fee waiver
Removes the setup fee that the decoration method added.
| Field | Value |
|---|---|
| Type | Setup fee waiver |
| Returning customer window (days) | For example 90. Blank waives for everyone the rule covers |
With 90 days, a customer who has ordered inside the last 90 days does not pay setup again, which is the usual "you already have my screens" logic. Leave the window blank and it waives for everyone in scope, which is what you want for a promotional "no setup fees this month" if you also set a valid-to date.
Scope, priority and dates
| Field | What it does |
|---|---|
| Applies to | Whole shop, one customer, or a price list |
| Customer or Price list | Which one, when scoped |
| Priority | Lower numbers run first, within their stage of the pipeline |
| Valid from | Blank starts immediately |
| Valid to | Blank never expires |
| Active | Off disables the rule without deleting it |
Priority matters when two rules of the same type are in scope. Two customer discounts both apply, and they compound in priority order: 10% then 5% is not 15%, it is 14.5%. If you meant one or the other, scope them so they cannot both match, or fold them into a single percentage.
Use valid from and valid to for anything seasonal. A rule with dates needs no cleanup: it stops applying on its own.
Worked example: a club rate that behaves
Northside Football Club, 12% off, no setup on repeat work, standard volume breaks:
| Rule | Type | Applies to | Parameters | Priority |
|---|---|---|---|---|
| Global volume break | Quantity break | Whole shop | 100 / 40c, 50 / 25c, 25 / 15c | 50 |
| Northside FC club discount | Customer discount | One customer, Northside FC | 12% | 10 |
| Returning customer setup waiver | Setup fee waiver | Whole shop | 90 days | 80 |
A 120-unit two-colour screen print for Northside, on a $14.00 blank, with the seeded screen matrix:
| Step | Effect | Unit |
|---|---|---|
| List price | 14.00 | |
| Club discount 12% | -1.68 | 12.32 |
| Volume break 100+ | -0.40 | 11.92 |
| Decoration, 2 colours at 100+ | +3.20 | 15.12 |
| Setup fee | 35.00 once, waived if they ordered inside 90 days | |
| Tax | Applied to the total at your region's rate |
Testing your rules
Do not trust the arithmetic in your head. Quote a real job you have already done:
- Create a quote for the customer in question.
- Add the same lines you actually sold.
- Compare the total, and open the rules applied trail on the quote to see which rules fired and by how much.
If a rule you expected did not fire, check in this order: is it active, is it in scope, is it inside its valid dates, and does the line quantity actually reach the tier.
