> ## 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.

# Multi-currency

> Show every partner their deals, commissions, and analytics in the currency they work in, while your team keeps reporting in one base currency - converted with CRM-synced rates.

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>}
    </>;
};

> A global partner program runs on many currencies. Multi-currency lets each partner see amounts in their own currency while you report in one base currency, with conversions driven by the same rates as your CRM, so the numbers always reconcile.

## What it does

Multi-currency lets you turn on currency conversion, set your company's base currency, and assign each
partner a currency. With it on, monetary values across the program, deal pipeline, commissions,
payouts, KPIs, and analytics, display in both your base currency and the partner's currency where they
differ. Conversions use exchange rates synced from your CRM, so the rate behind a converted number is
the same rate your finance and sales teams already trust.

Partners see their earnings and pipeline in the currency they think in, and your team keeps a single
base currency for consistent reporting, without anyone doing manual conversion in a spreadsheet.

## The problem it solves

Operating in one currency forces everyone else to do mental math, and mental math erodes trust:

* **Partners cannot tell what they will actually earn** → Commissions and pipeline display in the partner's own currency.
* **Reporting across regions mixes currencies** → Your team keeps one base currency for consistent analytics.
* **Manual conversion introduces errors and disputes** → Conversions use CRM-synced rates, so numbers reconcile.
* **Each region needs its own spreadsheet** → One program shows the right currency to each side automatically.

## From problem to solution

Enable multi-currency, set your base currency, and give each partner a currency. From then on, every
monetary surface shows the right amount to the right audience, converted with rates that match your
CRM, so partners trust their numbers and finance trusts the rollup.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  enable["Enable multi-currency"] --> assign["Assign each partner a currency"]
  assign --> show["Every amount shown in the right currency"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Show partner earnings" icon="circle-check">
    Display commissions in the partner's currency.
  </Card>

  <Card title="Report in one currency" icon="circle-check">
    Keep analytics in your base currency.
  </Card>

  <Card title="Reconcile to the CRM" icon="circle-check">
    Convert with the same rates as the CRM.
  </Card>

  <Card title="Scale globally" icon="circle-check">
    Run one program across currencies.
  </Card>
</CardGroup>

## Impact

* **Trust and accuracy** - Converted values use CRM-synced rates and reconcile to the source of truth.
* **CRM-native** - Currency follows the CRM, not a separate exchange-rate system.

## Who it's for

<CardGroup cols={2}>
  <Card title="Finance" icon="user">
    Trusts converted commissions and payouts.
  </Card>

  <Card title="Partner - Sales & Marketing" icon="user">
    Sees earnings in their own currency.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Payouts" icon="hand-holding-dollar" href="/features/commissions/payouts">
    Pay partners in their own currency.
  </Card>

  <Card title="Quotes & Line Items" icon="file-invoice-dollar" href="/features/cpq/quotes">
    Quote in local currency.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Set Acme's currency to EUR.",
"Show Acme's commissions in their local currency.",
]}
/>

## Going deeper

<CardGroup cols={2}>
  <Card title="How to" icon="screwdriver-wrench" href="./technical">
    Setup, configuration, and all how-to guides.
  </Card>

  <Card title="API reference" icon="code" href="/general/introduction">
    Integration surface and code.
  </Card>
</CardGroup>
