# Usage and billing

> Who pays for what, how to read your usage, and what changes between sandbox and production.

Bref Point Inbox **always** keeps two kinds of costs separate, on distinct lines.

| | Who bills | What for |
|---|---|---|
| **Meta costs** | Meta, **directly to the owner of the WhatsApp account** | Conversations: based on the message category and the recipient's country |
| **Bref Point Inbox fees** | Bref Point Inbox | Infrastructure: a subscription, and a fee per message beyond your plan's quota |

Bref Point Inbox **does not rebill** conversations. If you want your customer to pay through you, that is a commercial decision on your side: the owner of the WhatsApp account remains liable to Meta.

## Read your usage

<ApiExample method="GET" path="/usage" />

Group results with `groupBy`: `day` (default), `category`, `country` or `phone_number`. The default period is the **current month (UTC)**; `from` and `to` bound it.

```json title="Illustrative example (fictional amounts)" 
{
  "from": "2026-11-01T00:00:00.000Z",
  "to": "2026-12-01T00:00:00.000Z",
  "groupBy": "category",
  "totals": {
    "messages": 120,
    "billableMessages": 100,
    "notBillableMessages": 20,
    "unpricedMessages": 0,
    "metaCostEstimate": { "USD": 1.2 },
    "platformFee": {}
  },
  "buckets": [ { "key": "utility", "messages": 100, "billableMessages": 100, "metaCostEstimate": { "USD": 1.2 } } ],
  "metaCostIsEstimate": true
}
```

| Field | Meaning |
|---|---|
| `billableMessages` / `notBillableMessages` | Based on what **Meta reports** for each message (some messages, such as a reply within the service window, are not billed). |
| `metaCostEstimate` | An **estimate**, per currency, computed with the rate card configured on the platform. Never the amount of your Meta invoice. |
| `unpricedMessages` | Billable messages for which no rate is configured. They are **never priced by guesswork**. |
| `platformFee` | Bref Point Inbox fees (overage beyond the included quota). Separate from the Meta cost, never added to it. |
| `metaCostIsEstimate` | Always `true`: a reminder that the Meta cost is estimated. |

The **country** is inferred from the recipient's number; it can be `inconnu`.

<Callout type="warning" title="Your Meta invoice is the source of truth">
The Meta amounts we display are estimates meant for monitoring, not invoices. The exact amount is the one on the invoice Meta sends to the owner of the account.
</Callout>

## Free trial

Every new account gets a **7-day free trial, no credit card required**, starting from its creation. During the trial, the **Starter** plan limits apply in production (2 numbers included, up to 5 numbers, 1,000 messages per number per month), and **nothing is billed**. The message quota is a **cap** during the trial: beyond it, sending is rejected (`402 quota_exceeded`) rather than billed. `GET /billing/overview` then returns `trial` (`endsAt`, `daysLeft`) and no `monthlyAmount`.

When the trial ends, the account reverts to the default plan, which is very limited, until the team activates a paid plan. The sandbox stays unlimited and free before, during and after the trial.

## Your plan

<ApiExample method="GET" path="/billing/overview" />

The response contains the plan, the usage for the period, your **numbers** (connected, billed, included, cap) and the plan's **monthly amount**: the base price plus any additional numbers.

| | Starter | Pro | Business |
|---|---|---|---|
| Price per month | 5,000 FCFA | 10,000 FCFA | 30,000 FCFA |
| Numbers included in the price | 2 | 3 | 5 |
| Each additional number, beyond those included | 2,000 FCFA | 1,500 FCFA | 1,200 FCFA |
| Number cap, in **production** | 5 | 15 | 100 |
| Messages included per month and **per number** | 1,000 | 10,000 | 35,000 |
| Platform fee beyond the included quota (excluding Meta's rate) | 1 FCFA per message | 0.5 FCFA per message | 0.25 FCFA per message |
| Log retention | 7 days | 30 days | 90 days |

An **Enterprise** plan (unlimited numbers, negotiated volumes, service commitment) is available on request. Details and current prices are on [the pricing page](/#tarifs); until online payment is available, paid plans are activated by the team. An account without a subscription stays on a default plan that is very limited.

**Example**: on Starter with 3 numbers connected in production, the monthly amount is 5,000 + 1 × 2,000 = **7,000 FCFA** (2 numbers are included), and the message quota is 3 × 1,000 = **3,000** per month. This amount is an estimate based on your connected numbers: it does not include Meta's fees.

- The billing period is the **UTC calendar month**.
- **The sandbox is neither limited nor billed**, whatever the plan, and does not count toward your numbers.
- Reaching a cap returns `402 plan_limit_reached` (a new number beyond the tier's cap) or `402 quota_exceeded` (sending, for a plan with a hard cap), with a message stating the limit and your usage.
- Messages beyond the included quota are billed at your plan's per-message fee, on the `platformFee` line, separate from the Meta cost.

## About payments

Online payment for subscriptions is not yet available in the console: plans are assigned by the Bref Point Inbox team.
