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

# How IU billing works

> The whole path from a published price to an invoice you can check — with worked examples and a plan calculator

export const IuCalculator = () => {
  const [used, setUsed] = useState(300);
  const plans = [{
    name: 'Pay as you go',
    commitment: 0,
    included: 0
  }, {
    name: '250 plan',
    commitment: 1000,
    included: 250
  }, {
    name: '1,000 plan',
    commitment: 3000,
    included: 1000
  }];
  const overageRate = 5;
  const n = Number.isFinite(used) && used > 0 ? used : 0;
  const rows = plans.map(p => {
    const overageIus = Math.max(0, n - p.included);
    const cost = p.commitment + overageIus * overageRate;
    return {
      ...p,
      overageIus,
      cost,
      perIu: n > 0 ? cost / n : 0
    };
  });
  const cheapest = Math.min(...rows.map(r => r.cost));
  const money = v => v.toLocaleString('en-US', {
    style: 'currency',
    currency: 'USD',
    maximumFractionDigits: 0
  });
  const money2 = v => v.toLocaleString('en-US', {
    style: 'currency',
    currency: 'USD',
    minimumFractionDigits: 2
  });
  return <div className="not-prose rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-white/10 dark:bg-white/5">
      <label htmlFor="iu-calc-range" className="block text-sm font-semibold text-gray-900 dark:text-gray-100">
        Intelligence Units used in a month
      </label>

      <div className="mt-3 flex items-center gap-4">
        <input id="iu-calc-range" type="range" min="0" max="2000" step="10" value={n} onChange={e => setUsed(Number(e.target.value))} className="h-2 w-full cursor-pointer appearance-none rounded-full bg-gray-200 accent-emerald-700 dark:bg-white/10" />
        <input type="number" min="0" step="10" value={n} onChange={e => setUsed(Number(e.target.value))} aria-label="Intelligence Units used in a month" className="w-24 shrink-0 rounded-md border border-gray-300 bg-white px-2 py-1 text-right text-sm tabular-nums text-gray-900 dark:border-white/15 dark:bg-white/10 dark:text-gray-100" />
      </div>

      <div className="mt-5 grid gap-3 sm:grid-cols-3">
        {rows.map(r => {
    const best = r.cost === cheapest && n > 0;
    return <div key={r.name} className={'rounded-lg border p-4 ' + (best ? 'border-emerald-700 bg-white dark:border-emerald-500 dark:bg-white/10' : 'border-gray-200 bg-white dark:border-white/10 dark:bg-white/5')}>
              <div className="flex items-baseline justify-between gap-2">
                <span className="text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400">
                  {r.name}
                </span>
                {best && <span className="rounded-full bg-emerald-700 px-2 py-0.5 text-[10px] font-bold uppercase tracking-wide text-white">
                    Cheapest
                  </span>}
              </div>

              <div className="mt-2 text-2xl font-bold tabular-nums text-gray-900 dark:text-gray-100">
                {money(r.cost)}
                <span className="text-sm font-normal text-gray-500 dark:text-gray-400"> / mo</span>
              </div>

              <dl className="mt-3 space-y-1 text-xs text-gray-600 dark:text-gray-400">
                <div className="flex justify-between gap-2">
                  <dt>Commitment</dt>
                  <dd className="tabular-nums">{money(r.commitment)}</dd>
                </div>
                <div className="flex justify-between gap-2">
                  <dt>Included</dt>
                  <dd className="tabular-nums">{r.included.toLocaleString('en-US')} IUs</dd>
                </div>
                <div className="flex justify-between gap-2">
                  <dt>Overage</dt>
                  <dd className="tabular-nums">
                    {r.overageIus.toLocaleString('en-US')} IUs · {money(r.overageIus * overageRate)}
                  </dd>
                </div>
                <div className="flex justify-between gap-2 border-t border-gray-200 pt-1 dark:border-white/10">
                  <dt>Effective per IU</dt>
                  <dd className="tabular-nums">{n > 0 ? money2(r.perIu) : '—'}</dd>
                </div>
              </dl>
            </div>;
  })}
      </div>

      <p className="mt-4 text-xs text-gray-500 dark:text-gray-400">
        Overage bills at $5.00/IU on every plan. This estimate assumes nothing carried in from the
        previous period — rollover only reduces the total. It does not include any corporate
        discount, promotion, private package, or platform-license fee on your Effective Rate Card,
        or any media spend.
      </p>
    </div>;
};

This page is the walkthrough: what happens between a published price and a charge on
your account, what you do at each step, and **what you can check afterwards**. If you
only want the price list, the
[Organization IU Rate Card](/v2/buyer/billing/organization-iu-rate-card) has it.

<Note title="Availability">
  The IU plans and prices below are agreed and published for a controlled staging
  pilot. They are **not published in production**, so no organization needs to accept
  them in production today and no IU charges are being made. Existing accepted
  media-pricing arrangements are unchanged. When your organization is invited, your
  confirmation shows the exact version, term, list price, and effective price that
  would bind you.
</Note>

## The short version

* **Connecting costs nothing.** Connecting an account, discovering it, and mapping it
  to an advertiser never consume IUs.
* **You pay for successful work**, priced by an activity term on the Rate Card you
  accepted. Attempts, retries, and our own failures are free.
* **One plan for the whole organization.** Buyer activity, storefront work, and Murph
  draw from the same plan and the same wallet.
* **A commitment lowers the per-IU price.** Usage beyond your included IUs bills at
  the metered rate.
* **Every charge traces back to a term you accepted**, and you can read that trail
  yourself — see [checking our numbers](#checking-our-numbers).

## The seven steps

<Steps>
  <Step title="A price is published">
    Scope3 publishes an immutable Rate Card revision: plan sizes, monthly
    commitments, included IUs, activity prices, currencies, and an effective date.
    Publishing a revision does not commit anyone to anything.

    **You do:** nothing.
  </Step>

  <Step title="Your Effective Rate Card is resolved">
    Your organization gets one **Effective Rate Card** — the complete commercial
    result for you. It starts from a published plan and can include one authorized
    adjustment: a corporate discount, a promotion or referral code, a negotiated
    private package, or an enterprise offer.

    **You can check:** the list price, the adjustment, and the effective price appear
    side by side before you confirm. Discounts do not stack, and only one complete
    offer is effective at a time.
  </Step>

  <Step title="An administrator accepts it">
    Only a verified organization administrator can accept a plan. An agent, API key,
    service account, or support session cannot make that commitment on your behalf.

    Acceptance snapshots the exact agreement, revision, plan, adjustments, prices,
    actor, and time into an immutable **binding**. A later price change never rewrites
    it — changes arrive as a new offer you can review.

    **You do:** review and accept, decline for that revision, or decide later. All
    three are recorded; none of them is assumed.
  </Step>

  <Step title="You give us a way to collect">
    Either save a card, or be set up for invoicing on your existing terms. This is
    separate from accepting a plan: accepting a plan does not by itself start
    charging, and charging is switched on per organization, never silently.

    **You do:** add payment details in **Settings → Plan & Billing**.
  </Step>

  <Step title="You use IU-rated capabilities">
    When a capability has a published IU price, successful use draws from your plan.
    Your wallet shows the balance, what consumed it, and a projection for the rest of
    the period.

    **You can check:** usage appears on **Usage & credits** as it happens, attributed
    to the activity that caused it.
  </Step>

  <Step title="The cycle closes into an invoice">
    Each charged month produces one numbered fee invoice: plan commitment, overage as
    IUs × your rate, and payments applied.

    **You can check:** invoice numbers are sequential with no gaps, and an issued
    invoice's charges never change. Payments are appended as they settle.
  </Step>

  <Step title="You reconcile it — and so do we">
    The invoice, the usage that produced it, and the term that priced it are the same
    three records we reconcile internally. Nothing on your invoice should be
    unexplainable from your own reads.

    **You can check:** see [checking our numbers](#checking-our-numbers).
  </Step>
</Steps>

## What consumes IUs, and what never does

**One thing consumes IUs:** successful activity that has a published price on the Rate
Card your organization accepted.

Everything below is always free, and stays free whether or not you have a paid plan:

* connecting an account or an ad server;
* discovering accounts and mapping them to advertisers;
* reading, reporting, and exporting your own data;
* approving something we proposed;
* retries, routing, cache hits, and no-op work;
* anything that failed; and
* work caused by a Scope3 defect.

The order of operations is fixed: **zero-rate first, then credits, then bill.** If it
is ambiguous whether something should be charged, it resolves free.

## Plan shapes

| Plan          | Monthly commitment | Included IUs | Price per included IU |     Overage |
| ------------- | -----------------: | -----------: | --------------------: | ----------: |
| Pay as you go |                \$0 |            0 |                     — | \$5.00 / IU |
| 250           |            \$1,000 |          250 |                \$4.00 | \$5.00 / IU |
| 1,000         |            \$3,000 |        1,000 |                \$3.00 | \$5.00 / IU |

Two break-even points fall out of those numbers, and they are worth knowing before
you choose:

* Above **200 IUs a month**, the 250 plan costs less than pay as you go.
* Above **650 IUs a month**, the 1,000 plan costs less than the 250 plan.

On a committed plan, unused included IUs carry into the next monthly period only, up
to **50% of that next period's included quantity** — at most 125 IUs on the 250 plan,
500 on the 1,000 plan. Carried IUs expire after that one period and never accumulate
again. Pay as you go has no allocation to carry.

## Calculator

Enter the IUs you expect to use in a month. The cost of each plan is shown, with the
cheapest one marked.

<IuCalculator />

The formula, if you would rather compute it yourself or have an agent do it:

```
cost = commitment + max(0, used − (included + carried_in)) × 5.00
```

`carried_in` is the smaller of last period's unused included IUs and half of this
period's included quantity.

## Worked examples

<AccordionGroup>
  <Accordion title="A seller trying things out — pay as you go">
    Uses 12 IUs in the month.

    ```
    commitment          $0
    metered  12 × $5.00 $60.00
    ──────────────────────────
    invoice             $60.00
    ```

    No commitment, no included allocation, nothing to roll over. Every IU is \$5.00.
  </Accordion>

  <Accordion title="A buyer who went over — the 250 plan">
    Committed to 250 IUs for \$1,000. Uses 310 IUs, with nothing carried in.

    ```
    commitment              $1,000.00
    included                250 IUs — covered
    overage   60 × $5.00      $300.00
    ────────────────────────────────
    invoice                 $1,300.00
    effective per IU            $4.19
    ```

    Because they are on a card, the \$300 of overage is charged when it crosses the
    account's threshold during the month rather than arriving as a surprise at close.
    The remainder settles when the cycle closes.
  </Accordion>

  <Accordion title="A quiet month, then a busy one — rollover">
    On the 250 plan. Period 1 uses 180 of 250 IUs.

    ```
    period 1   used 180 of 250      unused 70
    carry      min(70, 125) = 70 IUs into period 2
    ```

    Period 2 has 250 included + 70 carried = 320 IUs before any overage. If they use
    300, the invoice is the \$1,000 commitment and no overage. The 20 IUs left over
    from the carried lot expire — carried IUs do not carry again.
  </Accordion>

  <Accordion title="Your first plan — the 100-IU credit">
    A seller billing organization receives one **100-IU credit, valid for 60 days**,
    on its first IU plan acceptance. You do not have to be a new customer — if you
    have been with us a while and are accepting an IU plan for the first time, the
    credit is yours too.

    It can be spent on **any IU-priced activity**. The window is a fixed 60 days from
    your signup commit, not a number of billing periods, so it does not shift with
    your billing cycle and you never need to know where your cycle boundary falls.
    **Usage & credits shows the exact expiry date.**

    One credit per billing organization: later storefronts do not create another. It
    does not roll over, has no cash value, and does not stack.
  </Accordion>
</AccordionGroup>

## Reading your invoice

Every charged month produces one numbered fee invoice on **Settings → Plan & Billing
→ Payment & invoices**, showing:

* the plan commitment, at the price fixed in your accepted binding;
* overage as a quantity of IUs multiplied by your plan's rate;
* payments applied, as they settle.

Two properties are worth relying on. **Invoice numbers are sequential with no gaps**,
so you can tell whether you have seen every invoice. And **an issued invoice's charges
never change** — a correction arrives as its own document, never as an edit to one you
have already received.

Organizations paying by card are charged automatically. Invoiced organizations receive
the fee invoice only and pay on their existing terms; no card charge is made.

## If a payment fails

A published recovery ladder applies: automatic retries on a schedule, email notices,
and a self-serve **pay now** action that clears everything at once as soon as it
succeeds.

While a failure is unresolved — or if accrued, uncollected overage reaches your
account's cap — new paid platform activity is held. **Viewing your data, reporting,
exporting, and fixing your payment method are never blocked.**

## Checking our numbers

You should not have to take an invoice on trust. These reads are the same records the
charge was built from:

| To check                                 | Read                                                                   |
| ---------------------------------------- | ---------------------------------------------------------------------- |
| The exact terms you accepted             | `GET /api/v2/billing/iu-rate-card`                                     |
| Your plan, standing, and payment methods | `GET /api/v2/billing/account`                                          |
| Your invoices and their line items       | `GET /api/v2/billing/fee-invoices` and `/fee-invoices/{invoiceNumber}` |
| Invoice activity as it happens           | `GET /api/v2/billing/invoice-activity`                                 |

Authenticate with `Authorization: Bearer $SCOPE3_API_KEY`. Agents should use the typed
`get_iu_rate_card_offer` and `get_billing_account` tools rather than reconstructing
this from generic calls.

The reconciliation you can do yourself: **the IU quantity on an invoice line should
equal the usage attributed to that activity for the period, priced at the rate on your
binding.** If those three do not agree, that is a defect on our side — tell us and we
will explain the difference rather than adjust the invoice quietly.

## Two bills, kept separate

IUs price platform activity. Media spend and its accepted contract fee terms are a
separate commercial stream on a separate bill. Plan & Billing can show both, because
an organization may owe both, but neither replaces or silently amends the other.

## Related

<CardGroup cols={2}>
  <Card title="Organization IU Rate Card" href="/v2/buyer/billing/organization-iu-rate-card" icon="coins">
    The price list, adjustments, rollover, and acceptance in detail
  </Card>

  <Card title="Plan & Billing" href="/v2/buyer/billing/plan-and-billing" icon="gauge">
    The surface where you review terms, usage, and invoices
  </Card>

  <Card title="Pay by card" href="/v2/buyer/billing/concepts/pay-by-card" icon="credit-card">
    Saving a card, thresholds, and the recovery ladder
  </Card>

  <Card title="Media billing" href="/v2/buyer/billing/overview" icon="file-invoice-dollar">
    How media spend is invoiced, and where remittance details come from
  </Card>
</CardGroup>
