Commission plans

A commission plan defines how much commission a sale earns. Each plan holds rate rules in priority order. A rule can hold a single rate or a tiered band set, or the rate matrix can generate it. Plans are date-scoped, and their number is unlimited.

Open search → Commission Plans for the list, or open the Commission Plan card.

How rate rules and the rate matrix relate

The engine resolves only against rate rules. The rate matrix does not feed the engine directly. The rate matrix is an authoring shortcut that generates rate rules: you fill in rows by scope and choose Generate Rate Rule. Each row then becomes a rule in the Rate Rules list. The two work together, not as competing systems. The matrix is the front end; the rate rules are the source of truth. Matrix-generated rules and hand-authored rules live in the same Rate Rules list. The one first-match-wins engine resolves them all, and Priority is the only arbiter across both.

Rate Rules Rate Matrix
Role What the engine evaluates A generator that writes rate rules
Match dimensions 8 filters (salesperson, salesperson group, customer, price group, item, item category, global dim 1 & 2) 3 scopes (salesperson, item, customer)
Priority You set it Assigned automatically by specificity
Tiered bands Yes No — generate a rule, then add tiers
Min. Gross Profit % gate Yes No
Rate Basis You select it Derived from the calc method

Use the matrix when you have many salesperson × item × customer rate combinations with simple percent or flat rates. The matrix also assigns the priorities for you. Author rate rules directly when you need the full filter set (groups, dimensions), tiered bands, or a gross-profit gate. You can mix both in one plan.

Plan header

Field Meaning
Code / Description Identify the plan.
Active Only an active plan resolves. The DEFAULT demo plan is inactive on purpose.
Effective Date / Expiration Date The plan applies only to documents posted inside this window (blank expiration = open-ended).
Campaign No. An optional link to a Business Central campaign.
Default Trigger A plan-level override of the setup default trigger (On Posting / On Payment / On Shipment).
Default Calc Method The plan-level default method.
Max Commission Amount / Cap Period An optional per-plan cap and its period. The effective cap is the lower of this cap and the company cap.

Rate rules

In the Rate Rules subpage, each line is a candidate rate. The engine evaluates the rules by ascending Priority. It uses the first rule whose filters match the commissioned line.

Field Meaning
Priority A lower number matches first. Ties break on line order.
Rate Basis The dimension the rule keys on.
Filters — Salesperson Code, Customer No., Item No., Item Category Code, price group, global dimensions Limit when the rule applies. Blank = wildcard (matches anything).
Calc Method Percent of Sales, Percent of Margin, or Flat Per Unit.
Rate Pct The rate for the percent methods.
Flat Amount The per-unit amount for Flat Per Unit.
Tiered When on, the rule takes its rate from tier bands instead of Rate Pct (see below).
Tier Measure The measure the tiers accumulate on. V1 = Cumulative Sales Amount.
Min. Gross Profit % If set, the line earns only when its gross-profit % meets this gate.
Effective Date / Expiration Date Limit the rule’s validity inside the plan window.

First match wins; no match is not an error. If no rule matches a line, that line earns no commission, and posting continues. The app writes a warning to the Business Central Activity Log for that document. An administrator can then find lines that resolved an agent but matched no rate rule. Put specific rules above wildcard fallbacks.

Calculation methods

Method Commission Example
Percent of Sales Sales amount × rate % $10,000 × 5% = $500
Percent of Margin Gross profit × rate % (margin % × rate × sales) ($5,000 − $3,000) × 10% = $200
Flat Per Unit Quantity × flat amount 200 × $2.50 = $500

For Percent of Margin, the item cost is the posted cost at the time of posting (the item-ledger cost), not the current item-card cost.

Tiered (waterfall) rates

Turn Tiered on for a rule. Then open Tiers and define ordered bands (From Amount, To Amount, Rate Pct). The engine accumulates the Tier Measure across the period. It applies each band’s rate only to the part of the sale that falls in that band. It does not apply the top band’s rate to the whole amount.

Worked example (UC-02). Bands $0–100k @ 3% and $100k–250k @ 5%, with $80k already posted this period. A $100k sale fills the remaining $20k of band 1 ($600) and $80k of band 2 ($4,000) = $4,600. The app records one detail row for each band. Bands must be contiguous (no gaps or overlaps) and must start at 0.

Rate matrix

The Rate Matrix subpage is a faster way to set rates by scope — a salesperson, item, and customer selector on each row. It generates editable rate rules. Specificity sets the priority: a more specific scope wins.

Field Meaning
Salesperson Scope + Code All, or Salesperson + a code.
Item Scope + Code Item or Item Category + a code; a blank code = any inside that scope.
Customer Scope + Code All, Customer, or Customer Price Group + a code.
Calc Method, Rate Pct, Flat Amount The rate this scope earns.
Effective / Expiration Date An optional validity window for the generated rule.

How a row becomes a rule

When you choose Generate, each row maps onto a rate rule:

  • Salesperson scope → Salesperson Code; item scope → Item No. or Item Category Code; customer scope → Customer No. or Customer Price Group. The salesperson group and the global dimensions stay blank (wildcard).
  • Rate Basis comes from the calc method: Percent of Margin → Margin, Flat Per Unit → Quantity, otherwise Sales Amount.
  • The app computes Priority as Customer×100 + Item×10 + Salesperson. Each dimension scores from 0 (most specific) up to “All”. Customer specificity dominates item, and item dominates salesperson. A fully specific row gets the lowest number, so it matches first. A catch-all row gets the highest.
  • The app stamps the rule Generated by Matrix, with the source Matrix Line No.

Actions:

  • Generate Rate Rule — creates or refreshes the rate rule for the selected row(s), and assigns the specificity priority. It warns before it overwrites a rule that you edited by hand after generation.
  • Regenerate (Overwrite) — refreshes the rule and discards the hand edits.

Maintaining matrix-generated rules

  • Edit a row and generate again: the linked rule refreshes in place (same line, so attached tier bands survive).
  • A generated rule keeps a manual Priority change across regeneration. Priority is admin-controlled and does not count as a hand edit.
  • The matrix cannot author tiered bands or a Min. Gross Profit % gate. For those, generate the rule and then edit it, or author the rule directly.

The matrix composes with the agent splits: an agent earns matrix rate × their split %. See Agents & splits, UC-13.

Copy a plan

Use Copy (on the list or the card) to duplicate a plan under a new code you enter. The copy includes the rate rules, the tier bands, and the matrix rows. The copy is independent of the original.


Commission Plan card with rate rules and rate matrix Figure: Commission Plan card.

Commission Plans list with the Copy action Figure: the Commission Plans list. Copy is on the toolbar.