Tax Class Taxation Calculation

This section describes tax class taxation calculation in MATRIXX.

MATRIXX can apply one or multiple taxes to a charge. The Event Details Records (EDRs) generated by MATRIXX Engine show each tax applied.

Charges can impact multiple taxable balances, and in such cases taxes are applied to each taxable balance charged. Taxes are applied proportionately to each taxable balance so that one balance does not pay the charge while another balance pays the tax. When charges are refunded, the associated taxes are also refunded, at the same rate that applied when the charge occurred.

The notifications generated by MATRIXX Engine include information about taxes applied for updated balances. For an updated balance, the update type, update amount, tax name, and tax rate information are included. The cost information in the answers to subscription management operations also includes information about taxes applied.

Taxes, similar to charges and discounts, are reported at the product offer level. To view examples of how taxation information is represented in events, see the discussion about taxation calculation examples.

MATRIXX supports dynamic tax selection whereby MATRIXX Engine can dynamically select which tax or set of taxes to apply to charges based on the presence of one or more specified criteria. For more information, see the discussion about dynamic tax selection.

Create tax classes in My MATRIXX. A tax class contains the rate for taxes and specifies the tax rate of taxes as a percentage of the charge.

A tax class specifies the revenue recognition rule type of taxes which can be used to control how taxes are reported in general ledger (GL) postings. The revenue recognition rule type of a tax class can be set to Always Immediate (recognize the tax immediately) or Same as Charge (recognize the tax in the same way as set by the revenue recognition type for the charge to which the tax is being applied). A tax can be recognized immediately even if the associated charge uses a different revenue recognition type, such as consumption-based.

Each tax class contains a tax class name and an external ID. For information about creating tax classes, see the discussion about creating a tax class in My MATRIXX Help.

In a subscriber or group wallet, define tax-related information in the TaxStatus, TaxCertificate, and TaxLocation fields. For more information about defining tax-related information, see the discussion about MtxRequestSubscriptionModify and MtxRequestGroupModify in MATRIXX Subscriber Management API.

When you configure a product offer in My MATRIXX, you add a tax/GST application profile for each price-component application type: usage, purchase, cancel, recurring, or first-use. In the application profile, you specify whether tax is to be included in the charge amount (tax-inclusive charges) or excluded from the charge amount (tax-exclusive charges) for charges of that type. For a given product offer, you can configure tax inclusiveness for some price-component application types and tax exclusiveness for other price-component application types. For example, all purchase charges in a product offer might be tax-exclusive while all recurring charges in that product offer are tax-inclusive. For a given product offer, you cannot configure a mix of tax-inclusive and tax-exclusive charges for the same price-component application type. For example, you cannot configure only some usage charges in a product offer as tax-inclusive and configure other usage charges for that product offer as tax-exclusive.

In the tax/GST application profile of each price-component application type, you can also configure MATRIXX Engine to break down the total cost of a charge into the charge and the tax amount, reflected in the EDR. This applies to both tax-inclusive and tax-exclusive charges. When discounts are applied to the charges, MATRIXX Charging Application shows the tax on the original amount and the tax reduction.

A post-processing system (downstream from MATRIXX) can use the tax class name tagged in events to obtain the tax information needed to perform these calculations for tax-exclusive and tax-inclusive charges. In that case, it would not be necessary to configure MATRIXX Engine to also perform these tax calculations. To disable MATRIXX Engine from performing these tax calculations for a price-component application type, deselect the Add Tax option in the tax/GST application profile for that price-component application type.

Note the following points about taxation calculation in MATRIXX:

  • Discounts cannot be applied to a post-tax price. Rebates are not supported.
  • Where two balances cover a constant charge, taxes are applied proportionately to each taxable balance. One balance cannot pay the charge while the other balance pays the tax.
  • When a charge is refunded, the tax is refunded also. When charges are refunded, the taxes are proportionately refunded at the same rate that applied when the charge occurred.
  • Taxes are applied to actual currency balances, not pseudo-currency balances.
    Note: To specify that an actual currency balance cannot be used to pay for tax fees, select Prohibited for Tax Fees on the balance template. For more information, see the discussion about tax fees.

MATRIXX Engine generates the tax information as charge records in EDRs, in the applied taxes array, showing an entry for every tax that is relevant for the event.

To view example taxation calculations performed by MATRIXX Engine for various tax scenarios, see the discussion about taxation calculation examples.