# Usage-Based Billing Policy — v1.0 (TEST)

> Published as part of [The Rate Card](https://kr0w.zip/work/rate-card). Platform product names anonymized; otherwise verbatim from the test run. Pair with [usage-data-june-2026.csv](/rate-card/usage-data-june-2026.csv) and [expected-invoice-lines-june-2026.csv](/rate-card/expected-invoice-lines-june-2026.csv).

**Effective:** billing periods starting 2026-06-01
**Currency:** EUR for all customers
**Billing period:** calendar month
**Scope:** applies to usage metrics `api_calls`, `llm_tokens_input`, `llm_tokens_output`. Any usage metric not listed here has no pricing and MUST be escalated for human confirmation before any invoice is issued for that customer (see §7).

## 1. Products

| Policy product name | Metric(s) covered |
| --- | --- |
| API Usage | `api_calls` |
| AI Tokens | `llm_tokens_input`, `llm_tokens_output` |

If a policy product above does not exist as a product record in the platform, do not invoice; escalate per §7.

## 2. API call pricing (graduated tiers)

Tiers are **graduated (marginal)**: each tier rate applies only to the calls falling inside that tier, not to the whole volume. Tier ceilings are **inclusive**.

| Tier | Call range (per period, per customer) | Rate per call |
| --- | --- | --- |
| Tier 1 (included) | 1 – 50,000 | €0.0000 |
| Tier 2 | 50,001 – 250,000 | €0.0020 |
| Tier 3 | 250,001 and above | €0.0012 |

Boundary rule: a customer with exactly 50,000 calls owes €0.00 for API usage. A customer with exactly 250,000 calls pays Tier 2 rates on 200,000 calls and nothing at Tier 3.

## 3. LLM token pricing

Base rates, applied pro-rata to exact token counts (no rounding up to 1,000-token blocks):

| Direction | Base rate per 1,000 tokens |
| --- | --- |
| Input | €0.003 |
| Output | €0.015 |

**Use-case modifier:** tokens with `use_case = document_parsing` are billed at **50% of the base rate** (effective €0.0015 input / €0.0075 output per 1,000). All other use cases (including `astra`) are billed at the base rate.

Token usage must be itemized on the invoice as one line per (direction × use_case).

## 4. Per-customer overrides

Overrides supersede §2 and §3 for the named customer only.

- **Nordkap Logistics AS (company_id `c-1a2b3c4d-0004`):** all API calls above the 50,000 included calls are billed at a flat negotiated rate of **€0.0015 per call**. The Tier 3 break does NOT apply. Token pricing remains standard (§3).

## 5. Minimum monthly invoice

- If a customer has **any** billable usage in the period and the calculated total is below **€150.00**, invoice €150.00, adding a line item `Monthly minimum adjustment` for the difference.
- If a customer has **zero** usage across all metrics in the period, issue **no invoice** (the minimum does not apply).

## 6. Rounding and totals

- Round **each invoice line** to 2 decimal places, half-up, in EUR.
- Invoice total = sum of rounded lines (then apply §5 if applicable).
- Do not round intermediate quantities or rates.

## 7. Escalation (mandatory holds)

Hold the customer's entire invoice and request human confirmation — do not issue a partial invoice — when any of the following occur:

1. A usage metric appears for the customer that is not mapped in §1 (e.g. `credits`).
2. A policy product from §1 does not exist in the platform.
3. An override is referenced but the customer record cannot be matched by company_id.
4. Calculated total for a customer exceeds €5,000.00 in a single period (spike review).

## 8. Fallback rule

If, after applying this policy, exactly one rate cannot be resolved for a usage record, treat it as an escalation under §7 — never default to €0.00 and never guess a tier.
