Quick answer: A single-country SMS rate card hides a dozen carriers, each with its own termination cost. MCCMNC — the mobile country code plus mobile network code pair that identifies one operator — is the finest stable lane you can price on, and that is the lane Devotel Orbit's route overrides use. The billing surface at /billing/mccmnc-overrides records a per-network rate for the carriers where your negotiated price differs from the country card; the same resolver that prices your invoice then resolves every message that terminates on that network at the override rate. This guide walks what MCCMNC actually keys, when a per-carrier override beats renegotiating a country card, how to set one in the dashboard or API, and the verification loop that proves the override is the price you actually pay.
The problem — one price per country is a fiction your invoice refuses
International messaging rate cards are conventionally published per destination country. The fiction is convenient for procurement: "Spain: €0.05 per segment." The carrier-level reality is that Spain terminates on several networks — Movistar (MCCMNC 21407), Orange (21403), Vodafone (21401), plus a handful of smaller operators — and the wholesale termination cost across those operators spreads over a 3–4x range on most corridor-card files.
If your traffic to a destination concentrates on one network — a retailer's older customer base on the incumbent, a banking cohort on the largest MNO — a blended country rate either over- or under-prices every message to that network. The measured consequence shows up as the SMS pricing display vs. charged mismatch that rate audits keep surfacing: the displayed blend is one number, the charged lane is another, and the reconciliation starts only after the first invoice closes.
What ships — the override surface and the resolver that honors it
The override surface lives at Billing → MCCMNC overrides (/billing/mccmnc-overrides) — the same URL hosts the platform-admin edit surface and the customer read-only view, scoped to the caller's organization. Earlier this year the old path /settings/billing/mccmnc still redirects to the new one.
Each override row names exactly one network and one price:
- MCC + MNC. The two codes combine to the MCCMNC identifier, e.g.
21407— Spain, Movistar. The dashboard carries a network catalog autocomplete backed by the top-100 MCC/MNC catalogue, so a mistyped pair fails validation on the way in rather than pricing a phantom lane. - Rate per unit and currency. The unit is per message segment for SMS; the currency is explicit on the row. The row also carries an optional effective-from / effective-to window — the resolver honors the window, so a quarterly negotiated card has a start date, and decommissioned overrides do not have to be deleted to stop applying.
- Notes. Free-form, for the contract reference — this is what procurement wants next to the number when the corridor comes back up six months later.
On the API side the list, create, update, and delete endpoints sit under /billing/mccmnc-overrides; platform operators acting on a subaccount scope reach the same table through the subaccounts controller. The audit log records each upsert with the organization, the MCCMNC, and the before/after rate.
The load-bearing guarantee is that the resolver is single-source: your invoice and the what-if pricing simulator both walk the same rate resolver. An override lane resolves on the invoice exactly where the override resolved in simulation — the FAQ below covers the fallback ordering (override lane wins over the country card; country card wins over the channel default).
When a per-carrier override beats renegotiating the country card
Two conditions make an override the right instrument:
- Traffic concentration. You know, or the traffic proves, that a destination's volume lands mostly on one network. Correlate via HLR lookups on your contacts or the self-check via the carrier-of-record posture — either surface the terminating network per destination number.
- A corridor-specific card. The override presupposes a negotiated rate — a wholesale corridor, a volume break, a direct interconnect arrangement. Unilateral route overrides (you just prefer Movistar's list to the blend) are legal but rarely survive the first quarter.
If both hold, the override expresses the corridor as a lane — the rate applies per terminating network wherever that network terminates the traffic, independent of which route partner carried it upstream. The SMS grey-route risk explainer spells out why network-level pricing matters on the delivery side as well as the invoice side.
Setting an override — dashboard path and API path
Dashboard path:
- Open Billing → MCCMNC overrides at
/billing/mccmnc-overrides. - Pick the network from the catalog autocomplete — it shows MCC, MNC, operator name, and country together, so
21407autocompletes to "Movistar, Spain" rather than a bare digit pair. - Enter the rate per unit and currency; set effective-from (and optionally effective-to) to bound a contract window; add a note with the contract reference if the rate came from a negotiated document.
- Save. The list re-renders, and the next message through the resolver picks the override up — no deployment window, no cache to bust.
API path — for tenants scripting the setup or for the platform operator:
POST /billing/mccmnc-overrides
Content-Type: application/json
{
"organization_id": "org_01H...",
"mcc": "214",
"mnc": "07",
"rate_per_unit": 0.0401,
"currency": "EUR",
"effective_from": "2026-10-01",
"effective_to": "2027-03-31",
"notes": "ES/Movistar corridor — contract VTF-2026-Q4"
}The endpoint validates the MCC/MNC pair format (5–6 digits total) and upserts on the pair within the organization, so repeating the call for the same network adjusts the rate rather than stacking rows. Deletion is DELETE /billing/mccmnc-overrides/:id on the row id returned by list.
Verification — prove the lane price you pay
The volume of override rows a negotiating tenant accumulates (typically 8–40 lanes across a corridor portfolio) makes "did we actually bill at the override" a recurring question. Two surfaces answer it:
The what-if simulator. Replay a window of recorded traffic through a candidate card; its per-lane output names the rate actually resolved — override lanes resolve at the override, country-card lanes at the card. Comparison tooling is the pricing simulator walkthrough, which covers the same resolver.
Usage drill-down. The billing usage page and per-destination usage lanes show which MCCMNC each message terminated on, so a spot audit against the invoice is a line-by-line match — the lane says 21407, the override row says 21407, the invoice's unit price equals the override.
FAQ
Which rate wins when the override's effective window lapses? The resolver honors effective-from and effective-to as hard bounds. Outside the window, the lane falls back to the country card; if the lane has no country row, it falls back to the channel default. The override record remains on the file — a lapsed window is an audit trail, not a stale row that must be deleted.
Can an override price MMS or voice lanes as well? The surface targets SMS (per-segment) lanes today, matching the SMS rate-card structure. Voice lanes remain priced per minute on the voice card; voice-console documentation covers that surface.
Is the override per-account or per-subaccount? Per organization on the customer view. Platform operators managing subaccounts reach the same table through the subaccounts controller — the row names its organization, so a subaccount's override only binds that subaccount's traffic.
Does the override change routing? No. The override is a pricing lane, not a routing directive — route selection continues to follow the sender's trunk policy and the route-quality alerts; the override only re-prices traffic that terminates on the named network. Route-override and pricing-override stayed deliberately separated because conflating them makes audit misery: pricing is a billing concern, routing is a deliverability concern.
---
If a destination-country card sits on the negotiation table, the MCCMNC override is how the negotiated lane actually survives the first invoice — priced by lane, not by blend.