Home / Use Cases / Agency commission: retainers, projects and referrals
Use Case

Three revenue types that cannot share one rate

An agency sells three things that behave nothing alike. A retainer recurs for as long as the client stays. A project bills once and consumes delivery capacity. A referral costs almost nothing to fulfil. Paying one commission percentage across all three is the default because it is easy to write down, and it is wrong for at least two of them.

Start free → Read the quickstart Free for 10 reps. No credit card.
Engagement type routing retainer, project, and referral revenue to three different rules
Rate per revenue type

What the percentage is attached to

The question is not what percentage to pay. It is how many percentages there are, and what each one is attached to.

Retainers are recurring and their value is in duration. The design question is whether commission pays once at signing or continues while the client stays.

Projects are one-off and margin varies with delivery. A percentage of project value works, and often needs to scale with size because a larger project is not proportionally harder to sell.

Referrals carry high margin and roughly constant effort. A percentage rewards the size of a deal the agency did not have to win, which is why a flat fee per referral usually fits better.

Three revenue types, three structures, one plan.

A month with all three

An account lead closes a $12,000 monthly retainer, an $80,000 project, and three referrals. Compare a single 6 percent rate on everything against a plan with a structure per revenue type.

Revenue Amount Flat 6 percent Per-type structure
Retainer, first month $12,000 $720 $600 at 5 percent
Project $80,000 $4,800 $6,300 tiered to 9 percent above $50,000
Referrals, three $9,000 $540 $1,500 at $500 flat each
Total $101,000 $6,060 $8,400

The totals differ, but the composition matters more than the total. Under the flat rate the project, which is the hardest sale and the one that consumes delivery capacity, produces four fifths of the payout by accident of size. The referrals, which took three introductions, pay $540.

Under the per-type structure each line is paid for what it actually is, and the numbers can be tuned independently. Raising referral incentives no longer requires touching project economics.

Recurring revenue

Retainers are the one to think hardest about

Projects and referrals are settled by picking a number. Retainers involve a real design choice, because they are the only revenue type with a lifespan.

Paying commission on the first month only is simple and cheap, and it pays for signing the client. It pays nothing for the far harder work of keeping them, which for most agencies is where the economics actually live.

Paying every month for the life of the retainer aligns the account lead with retention, and it accumulates. A book of thirty retainers generates commission every month regardless of new business, which is either a healthy annuity for a long-tenured lead or an uncontrolled cost, depending on how it was modelled.

The common middle is a higher rate in month one and a lower ongoing rate afterwards, which pays for both behaviours and keeps the tail affordable. Whichever is chosen, the plan should state what happens when a retainer is paused, resized, or transferred to a different lead, because all three happen and none resolve themselves.

Before you ship it

What breaks

A missing revenue type pays nothing rather than defaulting. Rules with conditions are filters. A deal whose engagement type is blank, misspelled, or newly invented matches no rule and earns no commission, silently. Every new service line an agency launches is a chance to create revenue the plan does not recognise.

Flat referral fees need a definition of a referral. A percentage is self-limiting; a flat fee is not. If a referral is worth $500 regardless of size, the plan needs to say what qualifies, whether a referral that does not close still counts, and what happens when two people claim the same introduction.

Retainer changes are compensation events. Resizing a retainer from $12,000 to $8,000 changes ongoing commission from that point. If the change is backdated in the finance system, it changes commission already paid. Agencies that backdate contract changes routinely should decide in advance whether commission follows.

The plan shape

Three rules in one plan, each with a condition on the engagement type field. Two pay percentages, one on recurring revenue and one tiered on project value, and the third pays a flat amount per referral. They share a plan and a statement, so a mixed month resolves without anyone splitting deals by hand.

A fourth service line is a fourth rule rather than a new plan. Before adopting it, run a closed month through and check that every deal matched exactly one rule: the failure mode here is not a wrong rate, it is a deal that quietly matched nothing.

This plan has 3 rules, all in a single config.

Retainer

Pays a share of recurring revenue. Runs on every closed deal, as it closes.

Only counts deals where engagement type is retainer.

AttainmentPays
0% and above5% of recurring revenue

Project

Pays a share of project value, with the rate chosen by the deal's project value. Runs on every closed deal, as it closes.

Only counts deals where engagement type is project.

Deal valuePays
$0 to $50,0006% of project value
$50,000 and above9% of project value

Each band pays its own rate on the portion that falls inside it.

Referral Bonus

Pays a fixed amount per qualifying deal rather than a percentage. Runs on every closed deal, as it closes.

Only counts deals where engagement type is referral.

Per qualifying dealPays
$0 and above$500 flat

The same plan, as config

This is the whole plan. Send it to POST /v1/plans and it is live; change a rate and re-send it to ship a revision.

POST /v1/plans
curl -X POST https://api.compcode.ai/v1/plans \
  -H "Authorization: Bearer $COMPCODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Agency Comp 2026",
  "effectiveStart": "2026-01-01",
  "config": {
    "rules": [
      {
        "name": "Retainer",
        "measure": "recurring_revenue",
        "executionPhase": "per_deal",
        "attainmentPeriod": "monthly",
        "dealConditions": [
          {
            "field": "engagement_type",
            "operator": "equals",
            "value": "retainer"
          }
        ],
        "tierBy": "attainment",
        "tierMode": "full_rate",
        "tiers": [
          {
            "minThreshold": 0,
            "rate": 0.05
          }
        ]
      },
      {
        "name": "Project",
        "measure": "project_value",
        "executionPhase": "per_deal",
        "attainmentPeriod": "quarterly",
        "dealConditions": [
          {
            "field": "engagement_type",
            "operator": "equals",
            "value": "project"
          }
        ],
        "tierBy": "value",
        "tierValueField": "project_value",
        "tierMode": "marginal",
        "tiers": [
          {
            "minThreshold": 0,
            "rate": 0.06
          },
          {
            "minThreshold": 50000,
            "rate": 0.09
          }
        ]
      },
      {
        "name": "Referral Bonus",
        "measure": "closed_won_revenue",
        "executionPhase": "per_deal",
        "attainmentPeriod": "quarterly",
        "dealConditions": [
          {
            "field": "engagement_type",
            "operator": "equals",
            "value": "referral"
          }
        ],
        "tierBy": "value",
        "tierValueField": "closed_won_revenue",
        "tierMode": "full_rate",
        "tiers": [
          {
            "minThreshold": 0,
            "flatAmount": 500
          }
        ]
      }
    ]
  }
}'
Questions

Common questions

How should agencies structure sales commission?
By revenue type rather than by total. Retainers, project work and referral fees have different margins, different lifespans and different amounts of selling effort behind them, so a single percentage across all three is wrong for at least two of them. One plan with a rule per revenue type keeps the differences explicit without splitting the payout across systems.
Should recurring retainer commission be paid once or every month?
Paying on the first month only is simple and rewards signing. Paying monthly for the life of the retainer rewards keeping the client, which is usually the harder and more valuable behaviour. Many agencies pay a higher rate in month one and a smaller ongoing rate afterwards, which pays for both without doubling the cost.
How do you commission referral revenue?
Usually as a flat amount per referral rather than a percentage, because the selling effort is roughly constant regardless of deal size and the margin is high. A flat fee also avoids the situation where a large referral pays more commission than a project the team actually had to deliver.
Can one plan handle several revenue types with different rates?
Yes, using one rule per revenue type with a condition on the field that identifies it. Each rule pays its own structure, percentages for some and flat amounts for others, and a single statement shows how the month's total was assembled. The alternative, one plan per revenue type, produces reconciliation work every close.

Ship this plan today

Connect your CRM, create the plan with one call, and simulate before anyone gets paid.

Start free →