Billing Models & Product Design

Choosing the right billing configuration for each product

ictVoIP Billing is built as a combination of independent engines — rate sources, billing timing, and account controls. Every product you sell is one coherent combination of these elements. The system is intentionally versatile: it can support nearly any ITSP business model, but it requires the administrator to select the correct combination for the product being designed.

Important

The same package field can behave differently depending on which billing engine processes the call. Before configuring a product, decide which business model it implements, then configure every option consistently with that model. Mixing options from different models produces configurations that run without errors but bill in ways you did not intend.

The VoIP Credit Foundation

The platform is designed around a single principle that applies to every billing model — real-time, metered, special-rate, or any combination:

The customer must hold VoIP credit funds in their account before calls can be placed.

  • When the balance is depleted, the Low Balance Threshold alerts the client that funds are nearly exhausted.

  • At zero, the product is suspended until the customer tops up their VoIP funds.

  • This applies to all product types — metered bundles, real-time prepaid, and special-rate products alike.

How strictly this is enforced is yours to configure. For example, a larger business client may be given a 7-day or 14-day allowance window to settle a top-up before suspension — the ecosystem provides the controls to design that policy; the decision itself is a business one.


Rate Sources (where the price comes from)

A call’s per-minute rate is resolved from one of three sources. These can be combined on a single product:

Rate Source

Description

Typical Use

Provider Tariff

Rate card matched by longest enabled dial prefix, optional markup

International/national calling from a carrier rate deck

Package Custom Rates

Fixed per-minute package rates (inbound/outbound) with billing increments

Flat-rate local calling, bundled overage

Special Rates

Dedicated rate table with pattern/prefix rules, per product

Premium numbers, destinations bypassing tariff rating

Special Rates can be applied alongside tariff or custom rates on the same product — calls matching a special-rate rule are rated from that table, while all other calls follow the normal resolution order. See Package Management for rate resolution details.

Billing Timing (when money moves)

The second decision is when usage becomes a charge. ictVoIP Billing provides two timing engines:

Timing Engine

Behavior

Business Model

Real-Time Billing

Each completed call is rated and deducted from client credit immediately

Prepaid / pay-as-you-go

Autobill

Usage accumulates per billing period; rated calls are invoiced on the billing run

Postpaid invoicing, metered bundles

Warning

Do not enable Real-Time Billing on a metered (included-minutes) product. Real-time billing is a prepaid engine: every call is rated and deducted from client credit at completion — there is no allowance pool, and the package’s Free Minutes field is locked at 0 while Real-Time Billing is enabled. A metered product requires the Autobill path, where free minutes act as the per-billing-period allowance — the meter that included minutes are drawn against and that resets each billing cycle.

Enabling Real-Time Billing on a package intended as a metered bundle produces exactly the symptoms of a misconfigured product: no allowance accumulates against the period, and charges do not reflect the bundle design.

The Free Minutes field — per-path behavior

Because both engines share the package configuration, the Free Minutes field behaves differently on each path:

Path

Free Minutes meaning

Real-Time Billing enabled

Locked at 0 — real-time packages have no allowance pool; every call bills from the first second. The field renders read-only in Package Rates and is forced to 0 on save.

Real-Time Billing disabled (Autobill)

Per-period allowance — the meter for included minutes; overage invoiced at package rates

Account Controls (WHMCS + module controls working together)

Policy enforcement comes from two layers that work together — WHMCS provides the billing foundation, and ictVoIP Billing adds VoIP-specific controls on top of it. The administrator chooses which controls from each layer best fit the product and business model being designed.

From WHMCS (the foundation):

  • Client credit — the VoIP funds balance; top-ups, deductions, and history are managed by WHMCS

  • Automation settings — invoice generation timing, prorata, and suspension scheduling

  • Service lifecycle — product suspension/unsuspension, overdue handling, and invoice terms (for example, extended top-up windows for clients who warrant 7-day or 14-day terms)

From ictVoIP Billing (the VoIP layer):

  • AutoSuspend — VoIP-aware suspension when the client’s credit balance is exhausted

  • Low Balance Threshold — alerts the client as their balance approaches zero, giving them time to top up before suspension

  • Per-package billing options — real-time billing toggle, free minutes, custom rates, markups, increments, and Special Rates rules

Note

These controls are intentionally policy-free — the platform enforces what you configure and does not assume your business rules. WHMCS settings do not automatically align with every billing model; the administrator must determine which controls from each layer best suit the product being designed. Deposit requirements, alert thresholds, grace windows, and suspension timing are decisions for your business, not the platform.

Worked Configurations

The following recipes show coherent combinations for common product types. They are a partial list — the engines and controls combine to support a wide variety of billing options beyond these examples. Every recipe assumes the VoIP credit foundation described above: funds on account before calls, low-balance alerting, and suspension on depletion unless you configure otherwise.

Prepaid Pay-As-You-Go

Customer tops up credit; each call deducts immediately; service suspends at zero.

  • Real-Time Billing: enabled

  • Free Minutes: 0 (required — locked at 0 on real-time packages)

  • Custom rates or provider tariff for rate resolution

  • Client credit: required deposit before calls can be made

  • AutoSuspend: enabled; Low Balance Threshold: recommended

Metered Bundle (e.g., “200 included minutes”)

Fixed monthly fee plus included minutes; usage beyond the meter is billed as overage.

The metered product is controlled by two elements working together: the meter (the Free Minutes allowance, e.g. 200 included minutes) and the package rates (tariff or custom rates, with the package’s billing increments). The WHMCS product invoice covers the fixed recurring fee. Autobill then rates the period’s usage: calls within the meter are included, and usage beyond the meter is calculated at the package rates and billed as overage. The client is package-billed for the recurring fee and overage-billed only when usage exceeds the allowance.

  • Real-Time Billing: disabled — enabling it defeats the purpose of metering

  • Free Minutes: the included allowance (the meter for the billing period)

  • Package rates configured so usage beyond the meter resolves a rate — tariff assignment and/or custom rates with billing increments

  • Autobill cron scheduled to rate usage and invoice overage each period

  • Client VoIP credit on account (as with all models), with Low Balance Threshold and AutoSuspend configured per your suspension policy

Special-Rate Product

Specific destinations or premium numbers billed from a dedicated rate table.

  • Special Rates rules defined for the product (patterns or prefixes with their own pricing)

  • Tariff and/or custom rates continue to apply to non-matching calls

  • Compatible with both timing engines — real-time deduction or autobill invoicing

Hybrid and Multi-Product Designs

Because these elements combine per product, a single WHMCS installation can sell prepaid lines, metered bundles, and special-rate products side by side — including for a single client holding multiple services. Combining ictVoIP Billing with the other addons and server modules in the ecosystem (provisioning, fax, transcription, and additional PBX platforms) extends this further.

Common Misconfigurations

Symptom

Likely Cause

“Free Minutes field is greyed out at 0”

Expected on real-time packages — RT has no allowance pool; the field unlocks only if Real-Time Billing is disabled

“Free calls show zero usage”

Real-Time Billing records billed usage, not allowance consumption — metering lives on the Autobill path

“Calls bill $0”

No tariff prefix matched and the applicable custom rate is blank — see Package Management

“Service suspended despite included minutes remaining”

AutoSuspend is credit-based — on a metered product, suspension policy is your business decision

Designing your own model

The combinations shown here are a starting point, not a catalog. Many more models are possible by combining the ictVoIP Billing ecosystem with WHMCS billing features, and not every combination can be documented — exploring the design space is part of the ITSP platform designer’s role.

If your business model does not map cleanly onto these recipes, the correct starting point is a sandbox product: configure one package and one test service end-to-end, place test calls, and verify the rating and invoicing behavior before launch. The platform supports many combinations — validating your specific combination in the sandbox is part of product design.

Note

Support plans include guided configuration assistance within the designed functionality of the platform. Business model decisions — pricing, allowances, thresholds, suspension policy — remain yours to make.

See also