To use EZtax suite, you must first sign a contract with EZtax company (their tax solution is a paid subscription service; please mention that you are a PortaOne customer to receive special pricing and other promotions) and obtain the EZtax libraries for installation on your server. After EZtax suite has been enabled in the PortaBilling configuration, the following will be done for all customers with EZtax assigned as the taxation method:
- All accumulated transactions (xDRs, refunds, etc.) will be sent to EZtax suite along with the customer’s information (which is used to determine his tax jurisdiction).
- EZtax suite will calculate all applicable taxes and send them back to PortaBilling, so that they can be inserted as extra xDRs for the given customer (each type of tax will produce a separate record; thus if both state and city taxes are applicable, there will be two separate transactions).
- PortaBilling will then proceed to generate the invoice as usual.
In order to tax services properly, xDRs are mapped to EZtax transaction /service codes, which define what type of taxes apply to a given transaction. The current logic of mapping XDRs is as follows:
- If neither the CLI (origination number or ANI) nor the CLD (destination number or DNIS) record of the call event matches the North America Numbering Plan (NANP) format (i.e. the phone number should start with 1 followed by a 3-digit area code (NPA), then a 3-digit exchange prefix (NXX), and finally a 4-digit number), then this is considered to be an international call, and the VoIP International Usage (19, 51) transaction/service code is used.
- If either the CLI or CLD matches the 1-NPA-NXX-NNNN pattern, but the given NPA-NXX combination is not found in the EZtax address database (this usually means that, even though the phone number starts with 1, it belongs to some other country - for instance, the Dominican Republic), the VoIP International Usage (19, 51) transaction/service code is likewise used
- Then the location identifier for CLI and CLD are compared further:
- If the CLI and CLD are identified as belonging to different countries, the VoIP International Usage (19, 51) transaction/service code is applied (calls from/to Canada fall under this category).
Calls between the USA and Puerto Rico are defined as calls of the interstate type, and the VoIP Interstate Usage (19, 49) transaction/service code applies.
- Then the state attributes in the location information are compared for CLI and CLD. If both CLI and CLD are reported as belonging to the same state, the VoIP Intrastate Usage (19, 50) transaction/service code is used; otherwise the VoIP Interstate Usage (19, 49) code is applied.
- If the CLI and CLD are identified as belonging to different countries, the VoIP International Usage (19, 51) transaction/service code is applied (calls from/to Canada fall under this category).
EZtax suite updates
EZtax company provides their customers with regular updates and PortaBilling facilitates automatic updating of EZtax suite. This provides a safe and reliable way of updating EZtax suite with no unanticipated issues emerging during tax calculation.
There are two options for the EZtax suite installation directory:
- Installation to the system’s default folder.
- Installation to a separate folder for each of the system’s environments.
Thus if more than one company is hosted on one common system, each company may be associated with an individual EZtax contract. This provides the ability for installing particular versions of EZtax software with corresponding updates for each separate environment. Therefore, during tax calculation the folder for the environment will be checked first, and if the folder does not exist, all of the operations will be performed within the default folder.