A call tariff controls how the platform prices calls, data, and events from usage files. Each tariff holds rates for different call types and destinations, along with rules for connection fees, minimum charges, and rounding. You can create standard tariffs for general use, or bespoke tariffs for individual customers with special pricing.
Where you have existing rate sheets, you can often import them directly into the platform.
Key benefits
- Centralised pricing — one tariff covers all call types for a number or customer
- Flexible rating — calculated rates, percentage markups, or rates from usage files
- Inheritance — base one tariff on another and only enter the differences
- Wholesale and retail — track carrier costs and customer prices separately
How call tariffs work
When usage files (such as CDRs) arrive from your carriers, the platform processes each record through these steps:
- Allocate to a number — the platform matches the CLI in the usage file to a number on the system
- Determine the call type — from the dialled digits and carrier data, the platform identifies the specific call type (e.g. Vodafone Mobile, France Landline, US Landline)
- Find the tariff — the platform looks up the tariff on the number. If none is set, it checks the customer’s default tariff for that call class. If neither exists, it looks for a default tariff matching the carrier and number type. See Tariff resolution chain for the full order.
- Apply the rate — it finds the rate for that call type within the tariff and calculates the charge
- Apply markup if needed — if the tariff has no rate for the call type, the platform checks for a per-class markup on the number or customer. If the call is still unrated at billing time, a fallback markup applies as a last resort.
Setting a tariff on a customer provides a default for all their numbers. You can then override this on individual numbers where pricing differs.
If usage cannot be allocated to a number, or the call type cannot be determined, the record appears in the billing errors. Calls that pass through all rating steps without finding a price also appear there. See Rating priority for the full chain.
Tariff resolution chain
When the platform rates a call, it works through these steps to find a tariff. It uses the first match:
- Feature tariff — a tariff on the feature or its linked standard feature for that call class
- Number tariff — a tariff on the number for that call class
- Number class markup — a per-class markup percentage on the number (no tariff used; the markup applies directly)
- Customer default tariff — the tariff from the customer’s default tariffs for that call class (must be compatible with the call’s carrier and number type)
- Customer class markup — a per-class markup percentage on the customer (no tariff used; the markup applies directly)
- Default tariff — a tariff with Default (Carrier/NumberType) availability that matches the carrier, number type, and currency. See Default tariffs.
If none of these produce a price, the call remains unrated and moves to fallback markup at billing time.
When multiple default tariffs match, the platform picks the most specific: customer-specific first, then customer group, then general.
The tariff list
View all tariffs from List Tariffs on the main menu. The list is split across several tabs:
| Tab | Shows |
|---|---|
| Retail | All current retail tariffs |
| Base | Tariffs with Base availability |
| Bespoke | Tariffs linked to a specific customer (highlighted in green) |
| Wholesale | All wholesale tariffs |
| Historic | Tariffs marked as Historic |
| Unused | Tariffs not currently assigned to any active numbers, or as a wholesale tariff |
| All | Every tariff in the system |
Default (Carrier/NumberType) tariffs appear in the Retail tab alongside standard and headline tariffs.
Each row shows the tariff name, description, linked customer (if bespoke), and parent tariff (if based upon another).
Filtering the list
Use the filter fields above the list to narrow results:
- Applies To — filter by tariff class (Inbound, Mobile, International, etc.)
- Availability — filter by availability setting
- Retail — show retail tariffs, wholesale tariffs, or both
- Usage Status — show tariffs in use, unused, or all
- Belongs To — filter by the customer a bespoke tariff is linked to
Tariff details
Name
- Tariff Name — the display name for this tariff. If you use bulk imports to update rates, the name must match exactly.
- Description — optional notes about this tariff. Not shown to customers.
Availability
| Value | Meaning |
|---|---|
| Headline | Shown at the top of tariff lists and highlighted |
| Standard | Available for use on any customer |
| Historic | Only usable by customers already on it; hidden from new assignments |
| Base | Used as a parent for other tariffs; not assigned to customers directly |
| Default (Carrier/NumberType) | Automatic fallback when no compatible tariff is assigned. Requires For Carriers and For Number Types. See Default tariffs. |
Additional availability fields:
- Customer — restrict this tariff to a single customer (leave blank for general use)
- Customer Groups — restrict to customers in these groups
- For Carriers — for retail tariffs, limits which numbers can use this tariff (by their carrier). For wholesale tariffs, determines which carrier’s traffic is rated using this tariff. Leave blank for all carriers.
- For Number Types — for retail tariffs, limits which numbers can use this tariff (by their number type). For wholesale tariffs, determines which number types are rated using this tariff. Leave blank for all types.
- Currency — the currency for rates in this tariff (when multi-currency is enabled)
- Retail Tariff — whether this is a Retail or Wholesale tariff (when wholesale calls module is active)
Tariff type
- Rate Structure — choose between Single Rate (one rate for all times) or Day / Evening / Weekend (separate rates for each period)
- Applies To — the class of calls this tariff covers (e.g. National, Mobile, International, Inbound, Service Number, Surcharge). Set when the tariff is created and cannot be changed.
- Based Upon — inherit rates from another tariff. See Tariff inheritance below.
- Charge Type — how rates are calculated. Options include calculated rates (e.g. pence per minute) and markup rates (e.g. percentage on wholesale cost).
- Use Dial Strings For — override which carrier’s dial strings the platform uses for location lookups on this tariff.
Tariff inheritance
You can base one tariff on another using the Based Upon field. The child tariff inherits all rates from the parent, and you only enter the rates that differ.
- Rates set directly on the child always override inherited rates
- Changes to the parent flow through to the child for any rates the child hasn’t overridden
- Changes to the child never affect the parent
- You can layer tariffs up to ten levels deep
Example: Your standard tariff charges 1.5ppm (pence per minute) for UK landlines. A customer has negotiated 1.0ppm. Create a tariff based upon the standard one with a single rate for UK landlines at 1.0ppm. All other rates come from the standard tariff automatically.
Cloning vs Based Upon
If future changes to the parent should not affect the child, clone the tariff instead. Cloning copies all rates at that point in time with no ongoing link. Use Actions menu > Clone to do this.
Default rates and surcharges
Default values on the tariff apply to all call types unless overridden by a specific rate. This is useful for charges that are consistent across many call types, such as connection fees.
Where a specific rate sets a value, it overrides the default for that field only. Other fields still use the tariff default.
Default costs
- Default Cost — the standard per-unit rate (in pence or as a percentage, depending on charge type)
- Default Connection Cost — a fixed charge applied to each call
- Default Minimum Cost — the lowest charge for any call (not applied to zero-rated calls)
- Default Maximum Cost — the highest charge for any single call
Default surcharges
Some calls have additional surcharges applied on top of the base cost. Each surcharge has a per-minute rate, a connection component, and a rounding setting.
- Access Charge — for non-geographic numbers (e.g. 084x, 087x). Includes per-minute rate, connection cost, and rounding.
- Mobile Origination Surcharge — additional charge when a call originates from a mobile. Includes per-minute rate, connection cost, and rounding.
- Payphone Origination Surcharge — additional charge when a call originates from a payphone. Includes per-minute rate, connection cost, and rounding.
- Call Recording Surcharge — additional charge for recorded calls. Includes per-minute rate, connection cost, and rounding.
Default initial costs
You can charge the first part of a call at a different rate. This works alongside or instead of a connection charge.
- Default Initial Cost — the per-minute rate during the initial period
- Default Initial Duration — how long the initial period lasts (in seconds)
- Default Connection Cost After Initial Duration — a connection charge applied after the initial period ends
Default rounding
The platform calculates charges using per-second billing and rounds to ten-thousandths of a penny by default. You can change this:
- Minimum Chargeable Duration — calls shorter than this are rounded up (in seconds)
- Round Duration Up To Next — round call duration up to the next specified number of seconds
- Round Bytes Up To Next — round data usage up to the next specified number of bytes (when data billing is active)
- Round Events Up To Next — round event count up to the next specified number (when events billing is active)
- Round Cost Up To Next — round the calculated cost up to the next specified amount (in pence)
- Round Cost After Surcharge Up To Next — round the final cost after surcharges are applied (in pence)
Fallback rate
A tariff can have a fallback markup for traffic that has no matching rate.
- Fallback Markup — the percentage markup to apply to unrated traffic
- Fallback Suggested Retail Markup — the percentage markup on the suggested retail price (when the suggested retail module is active)
Unrated traffic appears in billing errors and can be rated using the fallback markup either manually through the errors screen or automatically as it is added to an invoice.
Fallback markup can also be set on customers and numbers. The platform uses the first value it finds in this order: tariff, then number, then customer. This lets you set a customer-wide fallback and override it on specific numbers or tariffs where needed.
Per-class markup
Per-class markup lets you set a percentage markup for each call class (such as Inbound, National, or Mobile) on customers and numbers. When the platform rates a call and the tariff has no matching rate for that call type, it applies the per-class markup instead.
The ten available classes are:
- Inbound
- National
- Mobile
- Non-geographic
- International
- Extended International
- Service Numbers
- Surcharges
- Bespoke Tariff 1
- Bespoke Tariff 2
Extended International, Bespoke Tariff 1, and Bespoke Tariff 2 are optional classes. They can also be renamed on your platform to match your own terminology.
Per-class markup fires during call rating, before billing. The platform calculates the charge using the best available cost base: suggested retail price if available, then CDR cost, then carrier cost.
Values set on a number override the customer-level values. If neither the number nor the customer has a markup for that class, the call remains unrated and moves on to fallback markup at billing time.
Rating priority
When the platform processes a call, it tries to find a price using four levels. Each level acts as a safety net for the one above:
Tariff rate — the platform looks for a specific rate in the tariff found through the resolution chain. This is the normal pricing method. Most calls are rated here.
Default tariff — if no tariff is assigned at any level, the platform checks for a default tariff matching the carrier and number type. This fires during rating, just like a directly assigned tariff.
Per-class markup — if the tariff (or default tariff) has no rate for the call type, the platform checks for a per-class markup on the number, then the customer. This fires during rating and uses the best available cost (suggested retail, CDR cost, or carrier cost).
Fallback markup — if the call is still unrated at billing time, the platform applies the fallback markup. It checks the tariff first, then the number, then the customer. This is the final safety net before a call appears as a billing error.
Calls that pass through all four levels without finding a price appear in the pre-billing report and billing errors.
Editing a call tariff
This covers changes to the tariff itself — its name, tariff type, availability, inheritance, default costs, default surcharges, fallback rate and per-class markup. For changes to the individual rates within a tariff (the prices for specific call types), see Managing rates.
- Open the tariff
- Click Edit
- Make your changes
- Click Save
Changes to a tariff’s availability take effect immediately. Changes to default costs, surcharges, fallback rate or per-class markup apply the next time a call is rated using this tariff. Calls that have already been rated keep their original price, whether they have been billed yet or not.
Tariff rates
Each tariff contains individual rates for specific call types. The tariff page shows the tariff defaults on the left and the full rate list on the right. The sections below describe the fields on a rate. For the procedural steps to add, edit or delete rates, see Managing rates.
Rate identification
- Tariff — the tariff this rate belongs to
- Call Type — the specific call type (e.g. Vodafone Mobile, France Landline, BT Landline)
- Call Time — the time period (Daytime, Evening, Weekend, or All if the tariff uses a single rate structure)
Charge type
- Charge Type — how this rate is calculated. Calculated rates use a per-unit cost (e.g. pence per minute). Markup rates apply a percentage to the cost from the usage file. You can also use the calculated wholesale cost as the basis for markup. Not all rates in a tariff need the same charge type.
Costs
- Cost — the per-unit rate in pence (for calculated rates) or the markup percentage (for markup rates)
- Connection Cost — a fixed per-call charge. Can be added to both calculated and markup rates. When added to a markup rate, the fixed amount is applied after the percentage markup.
- Minimum Cost — the lowest charge for this call type (not applied to zero-rated calls)
- Maximum Cost — the highest charge for a single call of this type
- Rate Summary — a read-only description of how this rate is calculated, including rounding rules
Surcharges
Per-rate surcharges work the same as the default surcharges but apply only to this call type. Each has a per-minute rate, connection component, and rounding setting:
- Access Charge — for non-geographic numbers
- Mobile Origination Surcharge — for mobile-originated calls
- Payphone Origination Surcharge — for payphone-originated calls
- Call Recording Surcharge — for recorded calls
Initial costs
- Initial Cost — the per-minute rate during the initial period
- Initial Duration — how long the initial period lasts (in seconds)
- Connection Cost After Initial Duration — a connection charge applied after the initial period
Rounding
Per-rate rounding overrides the tariff defaults for this call type:
- Minimum Chargeable Duration — minimum call duration in seconds
- Round Duration Up To Next — round duration up in seconds
- Round Bytes Up To Next — round data up in bytes
- Round Events Up To Next — round events up
- Round Cost Up To Next — round cost up in pence
- Round Cost After Surcharge Up To Next — round final cost after surcharges in pence
Managing rates
This section covers adding, editing and deleting individual rates within a tariff. For changes to the tariff itself — its name, availability, defaults and so on — see Editing a call tariff.
How the rate list works
The rate list on a tariff page shows every known call type, not just the ones that have a rate set. Each row has either an Add link (no rate set yet for that call type) or the existing cost with an Edit link. You pick the call type by choosing which row to act on, so the rate form always opens pre-filled with the correct Call Type and Call Time — there is no dropdown to pick these on the form itself.
On a Daytime / Evening / Weekend tariff, each call type has three rows in the list, one per time band. All three need a rate set for calls of that type to be priced correctly; a missing time band falls through to the tariff’s default costs and then to the rating priority chain. On a Single Rate tariff, each call type has just one row.
Adding a rate
- Open the tariff and find the row for the call type you want to price (on a D/E/W tariff, there is a separate row for each of the three time bands)
- Click Add on that row
- In Charge Type, choose whether the rate is calculated (per-unit cost) or a markup on the wholesale cost
- Fill in the Costs — at minimum the Cost field, plus any Connection Cost, Minimum Cost or Maximum Cost
- Optionally set Surcharges, Initial Costs, and Rounding overrides for this call type
- Click Save
On a D/E/W tariff, remember to come back and set the rates for the other two time bands as well. Anything you do not set a rate for falls back to the tariff’s default costs, then through the rating priority chain.
Editing a rate
- Open the tariff and find the row for the rate you want to change
- Click Edit on that row
- Update any of the fields — costs, surcharges, initial costs, or rounding
- Click Save
Changes apply the next time a call is rated using this tariff. Calls that have already been rated keep their original price, whether they have been billed yet or not.
Deleting a rate
- Open the tariff and click Edit on the rate you want to remove
- Click Actions menu > Delete
- Confirm the deletion
Deleting a rate is permanent. From the next time a call is rated against this tariff, the matching Call Type and Call Time combination falls back to the tariff’s default costs, then to the rating priority chain (default tariff, per-class markup, fallback markup). Calls that have already been rated are not affected, whether they have been billed yet or not.
On a D/E/W tariff, deleting only one of the three time bands leaves the call type partially unpriced for that band — make sure that is what you want, or delete all three.
Actions
Use the Actions menu on a tariff for these operations:
- Clone — create an independent copy of the tariff with all its rates. The clone has no ongoing link to the original.
- Delete — remove the tariff. Only available if it is not in use.
- Include Hidden Call Types / Exclude Hidden Call Types — show or hide rarely-used call types in the rate list.
- Download CSV — export the tariff rates. Four variants are available depending on whether you want all rates or only those set directly on this tariff, and whether to include inherited rates.
- Apply Increase (In Place) — increase all rates on this tariff by a percentage. Modifies the existing tariff in-place. Available from the Expert menu (requires expert level 5 to edit). See Price Increases.
- Create Increased Version — create a new tariff with rates increased by a percentage, leaving this tariff unchanged. See Price Increases.
Wholesale tariffs and carrier tariffs
When the wholesale calls module is active, tariffs are marked as either Retail or Wholesale using the Retail Tariff field.
Retail tariffs calculate the price on the customer’s invoice. They are assigned to numbers in the usual way.
Wholesale tariffs calculate the expected carrier cost. The platform matches a wholesale tariff to a call using the For Carriers and For Number Types fields. A wholesale tariff with no carriers or number types specified acts as a default.
Carrier tariff records
Carrier tariff records map wholesale tariffs to carriers by call class. When the platform processes a call, it:
- Finds the wholesale tariff for the carrier and call class
- Calculates the wholesale cost
- Finds the retail tariff on the number
- Calculates the retail price (which may use the wholesale cost as the basis for a markup)
This lets you track margins accurately across different carriers and call types.
Inbound tariffs
Rather than creating separate inbound tariffs for each number type, create a single inbound tariff with rates for each number type. For example, set one rate for inbound 0800 calls and another for inbound 03 calls within the same tariff.
This is simpler to manage and particularly useful when you have many inbound number types, such as international numbers.
Default tariffs
A default tariff acts as an automatic fallback. When a call has no tariff at any level in the resolution chain, the platform looks for a default tariff that matches the call’s carrier and number type.
This is useful when you have many customers on the same carrier and number type. Rather than assigning a tariff to every customer or number, you set one default tariff and let the platform find it automatically.
Requirements
To make a tariff work as a default:
- Availability must be set to Default (Carrier/NumberType)
- For Carriers must list at least one carrier
- For Number Types must list at least one number type
- Retail Tariff must be Retail or Retail + Wholesale (not Wholesale-only)
The platform validates these rules when you save. You cannot set a tariff to Default availability without specifying carriers and number types.
How matching works
The platform matches a default tariff to a call using:
- Carrier — the carrier on the call must be selected in the tariff’s For Carriers list
- Number type — the number’s type must be selected in the tariff’s For Number Types list
- Currency — the tariff’s currency must match the customer’s currency (or be unset)
- Customer/group restrictions — if the tariff is restricted to a customer or customer group, the call’s customer must match
When multiple default tariffs match, the platform picks the most specific:
- Customer-specific — a default tariff linked to that customer
- Customer group — a default tariff for a matching customer group
- General — a default tariff with no customer or group restriction
Deletion restriction
You cannot delete a tariff while its availability is set to Default (Carrier/NumberType). Change the availability to another value first, then delete it.
When to use default tariffs
Default tariffs work well when:
- You have a standard rate for a carrier and number type that applies to most customers
- You want a safety net to catch calls that would otherwise go unrated
- You prefer not to assign tariffs individually to every customer or number
For the fixed fee equivalent, see Fixed Fee Tariffs — Default Fixed Fee Tariffs.
Practical examples
Standard mobile tariff
You charge a 1p connection charge on all mobile calls, but different per-minute rates depending on the mobile call type. Using a tariff lets you set the connection charge once as a default, then add individual rates per call type.
Create a tariff with:
- Applies To: Mobile
- Default Connection Cost: 1p
Then add rates for each mobile call type:
| Call type | Rate |
|---|---|
| UK Mobile | 5ppm |
| UK Mobile Premium | 15ppm |
The 1p connection charge applies automatically to every mobile call. The per-minute rate is picked from the matching rate row.
Bespoke customer override
A customer has negotiated better rates for calls to France and Germany but uses your standard pricing for all other international destinations.
- Create a tariff Based Upon your standard international tariff
- Add two rates: France at 2.0ppm, Germany at 2.5ppm
- Set the Customer field to this customer
- Assign the tariff to the customer’s numbers
All other destinations use the standard international tariff’s rates automatically.
Markup-based billing
You resell calls from multiple carriers and want to bill customers using percentage markups rather than fixed rates. You set up per-class markups on the customer to cover the common call classes, and a fallback markup as a safety net.
On the customer record, set:
- Inbound Markup: 0% (pass through at cost)
- National Markup: 25%
- Mobile Markup: 30%
- International Markup: 40%
Then set a Fallback Markup of 35% to catch anything else.
When a national call comes in, the platform checks the tariff first. If the tariff has no national rate, the 25% per-class markup applies during rating. If a call arrives for an unusual call type with no per-class markup and no tariff rate, the 35% fallback markup applies at billing time.
For one number that needs different pricing, override the customer values on that number directly.
International tariff with a fallback rate
You want to enter specific rates for your most popular international destinations and cover everything else with a fallback.
Create an international tariff and add individual rates for your headline destinations:
| Destination | Rate |
|---|---|
| France | 2.0ppm |
| Germany | 2.5ppm |
| Spain | 3.0ppm |
| USA | 1.5ppm |
Then set the Fallback to 50% so any destination without its own rate still bills correctly.
Customers see accurate pricing for the destinations they call most. Less common destinations use the fallback rate rather than failing to rate.
Default tariff as a safety net
You have 50 customers on Carrier A 0800 numbers, all using the same inbound call rate. Rather than assigning a tariff to each customer, you create a single default tariff.
- Create an inbound tariff with your standard 0800 rates
- Set Availability to Default (Carrier/NumberType)
- Set For Carriers to Carrier A
- Set For Number Types to 0800
When the platform rates an inbound call on a Carrier A 0800 number, it works through the resolution chain. If no tariff is assigned at the feature, number, or customer level, the default tariff picks it up automatically.
If one customer negotiates a special rate, assign a bespoke tariff to that customer. Their calls use the bespoke tariff; everyone else continues to use the default.
Related pages
- Fixed Fee Tariffs — pricing for non-usage charges
- Discount Plans — inclusive minutes, allowances, and call discounts
- Features — how features link tariffs to numbers
- Numbers — number setup and tariff assignment
- Price Increases — apply percentage increases to tariffs and standard features