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.

Benefits

  • 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 and Compliance Solutions – CSI taxation plug-ins only.

Scenario 1

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 the tax management company, e.g., 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)

Scenario 2

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)
Per-line taxation based on the number of allowed outgoing calls is not recommended when the customer has users with different tax jurisdictions and a limit on the number of simultaneous calls.

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 the tax management company 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.

Configuration

Link copied to clipboard

To configure the per-line tax calculation for the customer (via a customer class or directly), the administrator needs to perform the following steps:

  1. Open a specific Customer record (or a specific Customer class) > Finances > Invoices and Taxation > Taxation > select the needed Line counting by option (“Max number of outgoing calls”, “Number of accounts”, or “Manual entry”). Note that the “Manual entry” can only be selected for a specific customer and is unavailable for a customer class. When the administrator selects this option, they need to specify the number of lines with the corresponding ZIP code to be passed to the tax management company, e.g., SureTax.
  2. Specify the tax code in the Tax code for counted lines field. Contact the support team of the tax management company to obtain the tax code to assess per-line taxes.

    Line counting by option

Specifics

Link copied to clipboard
  • 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.
  • Per-line tax calculation is performed at the end of the billing period during the generation of regular invoices (once for the billing period), and is skipped when:
    • Generating or voiding out-of-turn and midterm invoices.
    • Processing auto-payments.
    • The Customer.estimate_taxes API method is used to calculate taxes.
      If you want to perform per-line calculation using this method, you need to additionally set the calculate_lines_taxes parameter.
If the customer record is permanently terminated and invoice generation is requested, per-line taxes will be calculated for regular invoices.

On this page

Release
What's new
Admin manuals
Handbooks
Developers documentation
UI help