Mistakes can happen – someone sends you the wrong pricelist, or your administrator simply clicks the wrong button, resulting in incorrect charges in the database. How this can be corrected before an angry customer calls you?
PortaBilling provides two methods for fixing operator errors:
- RADIUS re-feed
- xDR re-rating
Every accounting request received by the billing engine is stored in a separate file on the billing server. A special command-line utility supplied with PortaBilling can be used to extract all RADIUS requests for a specific time interval (starting from the time when the error was made until the time it was fixed) and resend them to the billing server. Each request is tagged, so that a special processing mode is invoked.
- Any existing xDRs for this session are erased from the database, and balances are rolled back (as if the previous charge attempt had never happened). This also includes turning back any volume discount counters that were modified.
- The session is charged according to the new (correct) billing configuration.
Re-feed is a very powerful tool, and can fix any type of billing error (including missing connection to vendor, incorrect product rating table, or wrong rate). However, it must be used with caution, as it involves processing large volumes of data. Customers are advised to contact the PortaOne support team, who can provide further assistance in running the re-feed.
This is a lightweight and easy-to-use alternative to re-feed, designed to fix the most common problem: incorrect pricing information entered into a tariff. It is operated completely from the PortaBilling web interface. The administrator can choose to run an xDR re-rating for either all customers or just a specific one, then specify the “original” (incorrect) tariff and correct tariff, and then narrow down the set of xDRs to be processed by time interval. Additionally, the administrator can specify that an override tariff be included in the xDR re-rating process.
The PortaBilling xDR re-rating feature can perform re-rating in two different modes. You can change the xDR re-rating mode per environment on the Configuration server (the DeltaMode option).
The re-rating task starts in the background, and during its execution:
- The script locates all xDRs produced according to the incorrect tariff (and matching time interval and customer criteria).
- For every xDR, the script calculates the charge according to the new tariff.
- The xDRs are then updated with the correct charged amount, and the balance is adjusted by the difference between the new and old charged amount.
Note that the previous incorrect invoices are not automatically recalculated upon completion of the re-rating task. It is necessary to recalculate the affected invoices in accordance with the corrected xDRs. To recalculate invoices, the administrator opens Toolbox > Find invoice > clicks Batch re-issue. Find more details in the Recalculate invoices handbook.
If the xDRs produced according to the incorrect tariff fall within a previous (closed) billing period, then “corrective” xDRs are added to the current billing period and the original xDRs won’t change. These new xDRs contain the difference (delta) between the new (correct) and old (incorrect) charged amounts. Therefore, the previous invoices are not changed, and instead, a new updated invoice (that covers the current billing period) will include all of the corrected amounts.
In Delta mode, new xDRs will have the same service and timestamps as in the originals.
Re-rating and volume discount counters
If volume discounts are used when calculating call charges, it is no longer possible to treat such calls separately from others, since the way one call is charged affects all other calls made subsequently. For instance, if a call is charged $5, this is the amount added to the volume discount counter. If the charged amount is then changed to $1 during re-rating, this will affect all other calls in the same destination group, since a different discount would now apply to them.
To overcome possible confusion when volume discount counters are involved in re-rating, the re-rating procedure should be run within a specific period in the past (starting from the time when the error occurred, ending with time when it was fixed.) All discount counters will be rolled back before recalculation actually starts, and then updated with each re-rated call.
xDR re-rating and override tariffs
For a customer who has an already configured override tariff, instruct PortaBilling to use it during the xDR re-rating. To do this, enable the Use Override Tariff option.
Then during the xDR re-rating, PortaBilling will check the customer override tariff and:
- If the rate exists both in the correct tariff and the override tariff – the override tariff rate applies.
- If the rate exists only in the correct tariff and is absent from the override tariff – the correct tariff rate applies.
An xDR re-rating using override tariffs can only be done for customers and resellers.
Re-rating of xDRs with external charges
If you import xDRs that already contain charged amounts to PortaBilling, choose how PortaBilling will handle those xDRs during the xDR re-rating procedure.
To re-rate xDRs that contain already charged amounts, enable the Process xDRs with charges imported from external systems option.
Then, during the xDR re-rating, PortaBilling will either add the price from the tariff to the externally charged amount or reset the charged amount and calculate charges from scratch using the price from the tariff.