The phone bill may be the last invoice you still open with no idea of the total inside. You find out on the 5th what your team did between the 1st and the 31st of last month, and by then the expensive mistakes are 5 to 35 days old. A compromised voicemail box that pumped calls to a premium destination over a long weekend, a trunk that started routing local traffic the expensive way after a config change, a rep who spends an hour a day on a personal international call: the invoice reports all of it as history you can no longer change.

The fix: price each call the moment it completes, so your running total tracks the carrier’s running total all month long.

The mechanics of real-time pricing

Your PBX already writes a record for each call: date, time, calling extension, dialed number, duration, trunk. Real-time pricing adds one step: as each record lands, the pricing engine matches it against a rate table that mirrors your carrier contract and attaches a cost to the call right then.

A rate table is less exotic than it sounds. Four fields do most of the work:

  • Destination prefix. Longest match wins: 44 is the UK, 44-7 is UK mobile at a different rate, 1-900 is premium.
  • Per-minute rate. Take this from your signed contract; generic price lists drift from the rates you pay.
  • Billing increment. The quiet money-maker: a 60/60 increment bills a 3:10 call as 4 minutes, while 6/6 bills it as 3:12. Same call, different cost.
  • Connection fee. Some routes add a flat charge per answered call.

Worked example: a 3:10 call to a UK mobile (prefix 44-7) at $0.024 per minute on 60/60 increments costs 4 × $0.024 = $0.096. On 6/6 increments the same call is 3.2 × $0.024 = $0.077. The gap per call is $0.019; multiply by a month of traffic across 8,000 international minutes and the increment rule becomes its own line item. Getting increments right is the difference between an estimate that lands within 2 to 3 percent of the invoice and one that drifts 10 percent until the team stops trusting it.

A running total beats a forecast

Once each call carries a price, you get a number that did not exist before: spend so far this month, accurate to the last completed call. That number does useful work.

Set a budget threshold against it. If your phone spend runs $4,200 in a typical month, an alert at $3,500 before the 20th tells you this month is not typical while there is still a third of the month left to do something. Department managers can get their own thresholds, a $1,200 line for the sales cost center, say, which turns the chargeback conversation from an autopsy into a heads-up and puts the alert in front of the one manager who can name the call.

The same mechanism catches anomalies in days instead of weeks. Three real patterns worth alerting on:

The weekend spike. Toll fraud starts outside business hours far more often than inside them, because the attacker bets your team will not read a report before Monday. A simple rule, more than $50 of priced traffic between Friday 8 p.m. and Monday 6 a.m., catches the classic voicemail-compromise pattern on day one. Catch it Saturday morning and you lose one night of traffic; wait for the invoice and you fund the attacker for the rest of the month.

The premium-rate caller. One extension starts dialing a 900-style number each day. Each call prices at a few dollars, invisible inside a five-figure invoice, obvious as a per-extension cost trend within a week.

The misconfigured trunk. After a routing change, calls that should ride your flat-rate SIP trunk go out a metered backup route. Total minutes look normal; cost per call on that trunk doubles. Priced CDRs are the only place the problem surfaces, because the symptom lives in price while volume stays flat.

The monthly discipline: estimate vs invoice

Reconcile each invoice against your call accounting estimate when it arrives. Ten minutes a month, three checks: total estimated vs billed, the five most expensive destinations, and any line items on the invoice with no matching CDRs. A consistent small gap points to a rate or increment in your table that needs a correction; fix it and your next estimate tightens. A line item you cannot match to your own call records is a conversation with the carrier, and you will be the rare customer who shows up to that conversation with per-call evidence. Billing errors run in the low single-digit percent at most carriers, and they do not skew in your favor.

Multi-carrier setups

Past a certain size you route through more than one carrier: a SIP provider for outbound, a legacy PRI kept for fail-over, maybe a separate international route. Pricing still works; the rate table binds per trunk or trunk group instead of account-wide. Calls out trunk group 1 price against carrier A’s table, trunk group 2 against carrier B’s. You also gain the answer, from your own data, to whether the traffic you send each carrier sits on the right contract, which is a strong position to negotiate renewals from.

Where PBXDom fits

This whole workflow is what the call accounting side of PBXDom does on its own. The collector reads CDRs from the Cisco, Avaya, Mitel, Panasonic, 3CX, or FreePBX system you already run, prices each call against your carrier rate plans as it lands, and keeps the estimated bill, department chargeback, and fraud and misuse alerts current all month. Setup takes about 15 minutes, and the 14-day free trial covers enough of a billing cycle to check the estimate against your real invoice. Details on pricing.