This handbook demonstrates how to set up charges for voicemail transcription services based on the total duration of transcribed voicemail messages.
Charges are applied once a day using the xDR Mediator utility.
To provide voicemail transcription services, an active subscription to the corresponding Add-on Mart speech-to-text module is required.
This handbook assumes that you have already configured the voicemail and transcription features in the system.
Configuration overview
The configuration consists of deploying a CDR Mediation instance (typically performed by the PortaOne support team) and configuring billing entities in the PortaBilling web UI, including tariffs, bundle, and product settings.
Configuration steps include:
- CDR Mediation setup
- Create a rate code
- Set up a vendor to calculate costs
- Set up the service package
1. CDR Mediation setup
Billing voicemail transcription requires configuration of CDR Mediation for your billing environment. Since the CDR Mediation setup is a complex procedure that should be performed by an experienced engineer with advanced knowledge of PortaBilling, we recommend contacting our Support team for assistance.
2. Create a rate code
To proceed with bundle and pay-as-you-go rate configuration, add the SpeechToText special rate code to your system.
You can find instructions on how to add new rate codes in the Initial configuration: Create rate codes handbook.
The system uses this rate code to identify speech-to-text transcription “events, ” match them with the corresponding tariff rates, and apply bundles.
3. Set up a vendor to calculate costs
PortaBilling requires that every service is accounted for both on the revenue side (customers) and the cost side (vendors). You need to create a vendor in the system to calculate service costs. To assign a vendor tariff created at step 3.2, you need to create a vendor connection. This connection will be used to keep records of all transcribed voicemails and track the costs, for example, charges from your speech-to-text provider like Whisper.
3.1 Create a vendor
- On the navigation menu on the left, select Infrastructure, then Vendors.
- Click Create and fill in the Create vendor form:
- Name – type a short name for the vendor, for example, “Third-party services”.
- Currency – choose the currency in which the costs are calculated.
- Opening balance – this option is usually used when you migrate a vendor from a legacy system to PortaSwitch. Leave it as “0” here.
- Billing period – choose a billing period for the vendor. A billing period defines how often the vendor will bill you, e.g., monthly.
- Click Save.
3.2 Create a vendor tariff
The vendor tariff should include a rate for the rate code SpeechToText created in step 2.
To create a vendor tariff:
- Navigate to Service catalog > Tariff.
- Click Add and fill in the tariff details:
- Name – specify a name for the tariff, such as “Vendor transcription”.
- Currency – choose the currency in which the cost of transcription services will be calculated.
- Service – select Voice recording.
- Applied to – select Vendor.
- Define prices – set per individual rate code.
- Code group set – select None.
- Open the Rates tab. To add a rate for voicemail transcription, click Add and fill in the rate details:
- Rate code – type in “SpeechToText” or select it from the list.
- Rating mode – select Flat rate.
- First interval, seconds – specify the first rounding interval in seconds (default is 1 second). This interval defines the minimum duration of the transcribed voicemail that is going to be billed.
- Next interval, seconds – specify the next rounding interval in seconds (default is 1 second). This determines how the duration beyond the initial interval is billed.
- First price – specify the price set by the transcription service provider.
- Next price – specify the price set by the transcription service provider.
- Effective from – specify when the rate becomes effective. By default, this parameter is set to “immediately”. If you want this rate to take effect sometime in the future, select “Specific time” and type in the date manually, or select it from the calendar.
- Click Save.
3.3 Create a vendor connection
- On your vendor’s panel, click Connections.
- Click Add and fill in the connection details:
- Click Save.
4. Set up the service package
Charging at a pay-as-you-go rate can be enabled only on the Main product. You can create a new product or update an existing one.
4.1 Create a customer tariff
You need to create a Customer tariff that will be used to charge your customers at a pay-as-you-go rate, e.g., $0.05/minute for transcription. Therefore, it should include a rate for the SpeechToText rate code created in step 2.
To create a customer tariff:
- Navigate to Service catalog > Tariffs.
- Click Add and fill in the tariff details:
- Open the Rates tab. To add a rate for transcription, click Add and fill in the rate details:
- Rate code – type in “SpeechToText” or select it from the list.
- Rating mode – select Flat rate.
- First interval, seconds – specify the first rounding interval in seconds (default is 1 second). This interval defines the minimum duration of the transcribed voicemail that is going to be billed to the customer. For instance, if the first interval is set to 30 seconds, a voice recording lasting between 1 and 30 seconds will be billed as a 30-second voicemail transcription.
- Next interval, seconds – specify the next rounding interval in seconds (default is 1 second). This determines how the duration of the voicemail beyond the initial interval is billed. For example, if the next interval is set to 1 second, any duration beyond the initial interval will be billed in 1-second increments. If you set the first interval to 30 seconds and the next interval to 1 second, and the voice recording lasts for 36 seconds, the customer will be charged for 36 seconds.
- First price – specify the per-minute price for the first interval ($0.05 in our example).
- Next price – specify the per-minute price for the next interval (for our example, it is the same – $0.05).
- Effective from – specify when the rate becomes effective. By default, this parameter is set to “immediately”. If you want this rate to take effect sometime in the future, select “Specific time” and type in the date manually, or select it from the calendar.
- Click Save.
4.2 Create a code group set and code group
To proceed with the bundle configuration, you need to create a code group set that will be associated with the bundle. The code group set, e.g., “Transcription,” should include the code group “Transcription.” This code group should include the SpeechToText rate code.
To create a code group set and a code group:
- Navigate to Service catalog > Code group sets.
- Click Add and fill in the required information:
- Open the created Code group set. To add the “Transcription” code group:
- To add the rate code to the “Transcription” code group:
- On the Code group page, click All rate codes.
- In the Rate code search panel, select Custom in the Format field, specify SpeechToText in the Prefix field to find the required rate code in the list, and click Apply filters.
- On the Rate code list panel, select the SpeechToText prefix and click Assign to group.
- Select the code group “Transcription” and click Assign.
- Click Save.
4.3 Create a bundle
The transcription volume (10 hours of transcription) can be provided within a bundle.
To create a bundle:
- Navigate to Bundles and click Add.
- Fill in the required fields:
- Name – give the bundle a descriptive name. In this example, the bundle name is “10h Voicemail Transcription”.
- Currency – select the currency in which you charge your customers.
- Code group set – select the code group set created at step 4.2.
- Bundle type – select “Renewable by calendar”.
- Managed by – select “Administrator only”.
- Apply bundle if a rate code is found that – leave it in the default option “Matches the rate exactly”.
- Description – optionally, you can add a short description for this bundle.
- Create a bundle item with the service volume for voicemail transcription. To add a bundle item, navigate to Bundle items, click Add, and fill in the details:
- Service – select Voice recording.
- Code group – select the “Transcription” code group created in step 4.2.
- Measured as – select Service used.
- Service volume – specify the service volume in minutes (e.g., 600).
- Click Save.
4.4 Create a subscription
To define the recurring charges (e.g., $4.99 per month) for the allocated transcription volume, create a subscription:
- Navigate to Subscriptions and click Add.
- Fill in the subscription details:
- Name – type the name of the subscription plan; in this example, “$4.99 Transcription”.
- Currency – specify the currency in which you charge your customers.
- Managed by – select Administrator only.
- Activation mode – leave the default option "At the given start date." This means that the subscription will be activated when it’s assigned to an account with a product.
- Subscription charges applied – select At the end of the billing period.
- Can be applied more than once – leave this checkbox unchecked.
- Switch to the Fees tab and specify:
- Click Save.
4.5 Configure the product
Before proceeding with this step, ensure that both
voicemail and transcription services are configured for your product.
To edit the existing product:
- Open the product’s Services tab and add the Voice recording service.
- Open Charges > Usage charges, and click Add. Fill in the details:
- Click Save.
- On the Charges > General info panel, select the bundle created at step 4.3 from the Default bundle dropdown list.
- On the Charges > General info > Subscription panel, select the subscription plan created at step 4.4 from the Account subscription dropdown list.
6. Click Save.


















