Per-line tax calculation for SureTax plug-in
Service providers in the US have to assess certain taxes (e.g. E911 surcharge) based on the number of customer’s service lines (per-line taxes). Since the tax law does not refer to hosted PBX concepts, it is important to correctly translate the actual hosted PBX configuration (the type of the business/product; number of phone lines, allowed to make phone calls; the maximum number of allowed outgoing calls; etc.) into the number of lines used for taxation.
PortaBilling automatically calculates the number of lines to be passed to the taxation engine using either of 2 methods:
- Count all customer accounts, enabled for making phone calls. This is good for a typical hosted PBX environment when each account represents a phone line, assigned to an individual and provisioned on a VoIP phone or mobile app. Certain accounts (e.g. auto-attendant) can be excluded from the calculations.
- Use the maximum number of allowed outgoing calls for an account. This is useful for SIP trunking service when a single account represents a remote PBX with multiple users on it.
In case a customer has a complex configuration of the hosted PBX environment and it is not possible to correctly calculate the number of lines automatically – an administrator can manually assign the required value.
- Service providers comply with the government regulation for calculating lines.
- Correct per-line tax calculation with the tax cap which can result in reduced tax amounts for customers.
Note that for now, this feature is available for SureTax taxation plug-in only.
Let’s say a US service provider has a customer “ABC” located in two offices. The Dallas office (ZIP code 75043) has 150 employees and 100 employees work in the Denver office (ZIP code 80022). The tax calculation depending on the users’ physical location (Texas or Colorado) is enabled for “ABC”. According to the tax jurisdiction, the following 911 per-line taxes are applied to “ABC”:
- Dallas: $0.5 per line.
- Denver: $1.2 per line but the tax cap is $100 in total per customer.
Since each employee uses a phone line (account) provisioned on an IP phone, the per-line taxation based on the number of accounts makes the most sense and so it is set in the customer settings. So when closing a billing period for the customer, PortaBilling sends a request to SureTax with the following information:
- Dallas: ZIP code 75043 – 150 lines
- Denver: ZIP code 80022 – 100 lines
SureTax calculates the corresponding amounts of E911 tax:
- Dallas – $75 (150 lines*$0.5)
- Denver – $100 (100 lines*$1.2=$120, but no more than $100 in total per customer)
Let’s say a US service provider has a customer “XYZ” located in Dallas (ZIP code 75043). “XYZ” has their own PBX, so they use SIP trunking service to send/deliver calls from/to their PBX.
Since “XYZ” customer has a single account in PortaBilling which represents a remote PBX with multiple XYZ’s employees who can make calls, it makes sense to use the number of concurrent outgoing calls allowed for the remote PBX as a number of lines used for taxation. For the “XYZ” customer, this number is set to 20.
The tax calculation depending on the users’ physical location is disabled for this customer.
PortaBilling sends the request to SureTax with the following information:
- Dallas: ZIP code 75043 – 20 lines
According to the tax jurisdiction (Dallas, Texas), $1.2 per-line 911 tax is applied, so SureTax calculates the corresponding amount of E911 tax:
- Dallas – $24 (20 lines*$1.2=$24)
For example, a customer has 10 users in different locations and the Tax jurisdiction per account option is enabled. Each account is allowed to make 4 simultaneous calls (on the product level); however, the number of allowed outgoing calls is also restricted to 8 calls (on the customer level).
As the number of lines is sent per each user location and checked against the customer limit, the final number of lines reported will be 40 (each account will be reported as 4 lines), though in reality, it will be possible to make only 8 simultaneous calls.
In all the above scenarios, when SureTax assesses the per-line tax and provides tax amounts, PortaBilling creates tax xDRs, adjusts customer balance, and generates the invoice at the end of the billing period which includes these tax amounts.
Thus, the service providers can collect per-line taxes from the customer properly and in accordance with the corresponding regulations.
If Tax jurisdiction per account option is enabled for the customer and the customer’s accounts have no ZIP code specified, the customer ZIP code is used instead to send the number of lines to the tax company, and the administrator receives the corresponding notification on email.
Find the PortaBilling configuration details here.
Route emergency calls and send user location data from MS Teams
MS Teams’ dynamic emergency calling enables passing the current user’s location to the emergency services so that it can be received by the closest Public Safety Answering Point (PSAP). Service providers can now route emergency calls that are made from an MS Teams client and contain the user’s location data via PortaSwitch.
When a user calls an emergency number from an MS Teams client, MS Teams adds the user location to an outgoing SIP INVITE as a multipart SDP message. Now, PortaSwitch can handle multipart SDP messages and, thus, relay the location data received from MS Teams client to the emergency service provider (such as Inteliquent in the US).
This means that service providers can track emergency calls from customers that use MS Teams. For example, say a customer misconfigured the location settings in MS Teams and their call was sent with the wrong address information. As a result, a service provider is charged a $60 fine by the 911 service provider. In this situation, the service provider can trace which customer made this call and recoup the cost of the fine from the customer.
Service providers that have customers using MS Teams are able to track the emergency calls sent via their system and recoup costs when a call is sent with the wrong/invalid address.
Find the PortaSwitch configuration details here.
Web interface changes
Comprehensive session details in Trace session and Log viewer troubleshooting tools
Now, when the administrator uses the Trace session or Log viewer troubleshooting tools, they can check the additional details of a specific session right away, with no need to search for the customer/account record and corresponding xDRs.
To check the details for a specific session, the administrator opens the Trace session page and clicks View session details in the Details column.
The Details column is displayed on the Trace session page by default. To add/remove this column, go to Settings > Customize columns and select/clear the Details checkbox.
For example, the administrator opens the Trace session panel to investigate the call issue. The administrator finds the needed call and clicks View session details to open the dialog with the detailed information of each entity (account, reseller, and vendor).
The administrator can click Copy to copy H323-conf-id and call_id to send it to the support team for deeper investigation. If the administrator needs further information, they can click H323-conf-id which is a link to Log viewer to check the call log.
To check the session details using Log viewer, click Session details on the toolbar.
The administrators can save time on troubleshooting as they have the needed information one click away.
Batch operations with IP phones
With the Batch operations with phones/CPEs functionality, the administrator can modify multiple settings for selected IP phones at a time. For example, the administrator can assign selected IP phones to a specific customer, mark them as customer-owned, and assign CPE profiles to these phones – all this, at once, using the dedicated panel on the web interface.
To open the Batch operations with phones/CPEs panel, click the arrow in the top right corner of the page.
To make the batch operations available, filter IP phones by the entity they are Managed by on the Phones/CPE search panel. Until you apply this filter, the only available batch operation is deleting IP phones/CPEs.
To perform specific operations with the chosen IP phones, select the corresponding checkboxes (“Assign phones/CPEs to a customer”, “Mark CPEs as owned by customer”, or/and “Change profiles”) on the Batch operations with phones/CPEs panel. After making all the necessary changes, click Update.
The administrators can save time by managing multiple IP phones at a time via the dedicated panel.
Additional clarity for invoice payment terms configuration on customer class
Now, when the administrator configures payment terms (previously “grace period”) on the customer class, they can explicitly choose whether the customers’ invoices become due on the invoice generation date or within [N] days after invoice generation. For this, a radio button for payment terms has been added to the invoicing configuration on customer class for regular and out-of-turn invoices.
When the administrator chooses “Due upon receipt”, this means that the customers’ invoices become due upon generation. And to configure invoices to become due some days after the generation, the administrator can choose “Net” and specify the number of days between the invoice generation and the invoice due date. For example, if “Net” is selected and 10 is specified the invoice becomes due within 10 days after invoice generation. So if the invoice was generated on August 1st it becomes due on August 11th and overdue on August 12th if no payment is posted.
Possibility for the administrator to quickly and easily set the “Due upon receipt” option for invoices when defining invoice payment terms on customer class.