> ## Documentation Index
> Fetch the complete documentation index at: https://docs.introw.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Commissions & SPIFFs

> Calculate, review, and pay partner incentives - reconciled to your CRM or billing source of truth, and visible to partners in real time.

export const Headless = ({prompts = []}) => {
  const PromptRow = ({prompt}) => {
    const [copied, setCopied] = useState(false);
    const copy = () => {
      try {
        navigator.clipboard?.writeText(prompt);
      } catch {}
      setCopied(true);
      setTimeout(() => setCopied(false), 1600);
    };
    return <div className="group flex items-center justify-between gap-3 px-4 py-3 transition-colors hover:bg-[#FD90FF]/[0.06]">
        <span className="text-sm leading-relaxed text-zinc-700 dark:text-zinc-200">{prompt}</span>
        <button type="button" onClick={copy} aria-label={copied ? "Copied to clipboard" : "Copy prompt"} className={`shrink-0 rounded-md p-1.5 transition-all hover:bg-[#FD90FF]/10 focus:opacity-100 focus:outline-none ${copied ? "text-[#FD90FF] opacity-100" : "text-zinc-400 opacity-0 group-hover:opacity-100 dark:text-zinc-500"}`}>
          {copied ? <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M20 6L9 17l-5-5" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg> : <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <rect x="9" y="9" width="11" height="11" rx="2" stroke="currentColor" strokeWidth="2" />
              <path d="M5 15V5a2 2 0 0 1 2-2h10" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>}
        </button>
      </div>;
  };
  return <>
      <p>
        Introw is <strong>headless</strong> by design: run everything here in plain language from Claude, ChatGPT,
        Slack, Teams, or your own CRM through Introw's <a href="/features/developer/mcp">MCP server</a>, with every
        action written straight back to your CRM source of truth. The portal is one surface, never the only one.
      </p>

      {prompts.length > 0 ? <div className="not-prose my-6 overflow-hidden rounded-2xl border border-zinc-200/80 bg-white shadow-sm dark:border-white/10 dark:bg-white/[0.02]">
          <div className="flex items-center gap-2 border-b border-zinc-200/80 bg-gradient-to-r from-[#FD90FF]/10 via-[#FD90FF]/5 to-transparent px-4 py-2.5 dark:border-white/10">
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4 text-[#FD90FF]" aria-hidden="true">
              <path d="M12 2.5l2 5.5 5.5 2-5.5 2-2 5.5-2-5.5L4.5 10l5.5-2 2-5.5z" fill="currentColor" />
              <path d="M18.5 14l1 2.6 2.6 1-2.6 1-1 2.6-1-2.6-2.6-1 2.6-1 1-2.6z" fill="currentColor" opacity="0.55" />
            </svg>
            <span className="text-xs font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
              Try it from your LLM
            </span>
          </div>

          <div className="flex flex-col divide-y divide-zinc-100 dark:divide-white/[0.06]">
            {prompts.map(prompt => <PromptRow key={prompt} prompt={prompt} />)}
          </div>

          <a href="/headless" className="flex items-center justify-between gap-2 border-t border-zinc-200/80 px-4 py-2.5 text-sm font-medium text-zinc-600 no-underline transition-colors hover:text-[#FD90FF] dark:border-white/10 dark:text-zinc-300">
            <span>See the full headless playbook</span>
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
          </a>
        </div> : <Card title="See the headless motion" icon="wand-magic-sparkles" href="/headless">
          The agentic playbook - lifecycle deep dives and a Claude Code skill library that run your partner program
          from Claude, ChatGPT, Slack, and your CRM.
        </Card>}
    </>;
};

> Commissions & SPIFFs is how you reward partners without spreadsheets: define plans, let Introw calculate what each partner earns from your CRM or billing data, review the results, and pay out, with partners able to see their earnings any time.

## What this area does

Partner incentives are usually run in fragile spreadsheets that nobody trusts. This area replaces
them. You define commission plans, including revenue shares, fixed fees, tiered rates, and
one-time bonuses, and Introw calculates commission lines from your CRM or billing source of truth.
The result is incentive data that reconciles to the same records your sales team already works in.

From there, your team reviews the calculated lines, groups them into partner payouts, and moves
each payout through approval to paid, generating statements along the way. Partners see their
potential, expected, and paid earnings in the portal and can even ask an AI assistant about
commission status, so the constant "where's my commission?" questions disappear. Global settings
control schedules, minimums, currency, and billing details so the whole program runs predictably.

## Why it matters

* **CRM-native** - Commissions calculate directly from your CRM or billing source of truth, so every line is auditable and reconciled against the same numbers finance already trusts, with no export-and-recalculate step to introduce disputes.
* **Time to value** - Model a commission or SPIFF plan and run the first payout in a day, not a comp-plan implementation project, so a new incentive is live while it still matters.
* **Low total cost of ownership** - Partner ops builds plans, tiers, and payout batches with no engineering, and versions them as the program changes.
* **Work where you already are** - Partners check what they have earned in the portal or by asking an AI assistant, so ops stops fielding "where's my money" emails.

## How it fits together

Incentives flow from a plan to a paid partner, reconciled to your source of truth:

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  plans["Commission plans"] --> lines["Calculated lines"]
  lines --> review["Review and adjust"]
  review --> payout["Payout"]
  payout --> paid["Paid partner"]
```

## Capabilities

<CardGroup cols={2}>
  <Card title="Commission Plans" icon="candy-cane" href="./commission-plans">
    Define how partners earn, from revenue shares to one-time bonuses.
  </Card>

  <Card title="Commission Lines" icon="list-check" href="./commission-lines">
    Review, decline, postpone, and adjust calculated commission line items.
  </Card>

  <Card title="Payouts" icon="money-bill-transfer" href="./payouts">
    Group lines into partner payouts and move them to paid.
  </Card>

  <Card title="Settings" icon="sliders" href="./settings">
    Set schedules, minimums, currency, and billing details.
  </Card>
</CardGroup>

## Who works in this area

<CardGroup cols={2}>
  <Card title="Partner Operations" icon="user">
    Builds plans, reviews lines, and runs payouts.
  </Card>

  <Card title="Finance" icon="user">
    Approves payouts and reconciles statements.
  </Card>

  <Card title="VP Partnerships / CPO" icon="user">
    Wants incentives that are accurate and trusted.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"What's our total earned-but-unpaid commission, and what's due to be paid next month?",
"How much commission has Acme earned this quarter, and on which deals?",
"Explain how Acme's commission plan pays out - rates, tiers, and installments.",
"Show the most recent payouts across all partners and their stage.",
"Which partners have the most pipeline commission at stake this quarter?",
]}
/>

## All guides

{/* ROLLUP:START - generated content goes here */}

<CardGroup cols={2}>
  <Card title="Add a manual commission line" icon="book-open" href="/features/commissions/commission-lines/guides/add-a-manual-commission-line">
    Put an adjustment, bonus, or one-off correction directly onto a partner's payout.
  </Card>

  <Card title="Review and adjust commission lines" icon="book-open" href="/features/commissions/commission-lines/guides/review-and-adjust-commission-lines">
    Check calculated commission, then decline, postpone, restore, or correct lines before anyone is paid.
  </Card>

  <Card title="Build and launch a commission plan" icon="book-open" href="/features/commissions/commission-plans/guides/build-and-launch-a-commission-plan">
    Take a commission plan from an empty wizard to live, partner-earning rewards end to end.
  </Card>

  <Card title="Set eligibility conditions" icon="book-open" href="/features/commissions/commission-plans/guides/set-eligibility-conditions">
    Define exactly which records earn on a commission plan - stack property filters with And/Or groups, target partner-attributed deals, and use the live data preview to confirm only the right records qualify.
  </Card>

  <Card title="Request a partner invoice" icon="book-open" href="/features/commissions/payouts/guides/request-a-partner-invoice">
    Generate a statement and collect a partner's invoice before you pay, the invoice-first payout path.
  </Card>

  <Card title="Run a payout cycle" icon="book-open" href="/features/commissions/payouts/guides/run-a-payout-cycle">
    Take approved commission from a new batch all the way to partners marked paid, with statements along the way.
  </Card>

  <Card title="Configure commission and payout settings" icon="book-open" href="/features/commissions/settings/guides/configure-commission-payout-settings">
    Set the payout schedule, minimum amount, billing info, and the currency and fiscal year commissions rely on.
  </Card>
</CardGroup>
