LTO Global Tax Support
Litmos Training Operations – Global Tax Module
Overview
LTO supports (as an available product add-in) a tax module that provides its customers with the ability to calculate and include sales tax information as part of the transactions (ie, registrations) and store the results within LTO for each transaction for reporting purposes. The tax module integrates with Avalara (http://www.avalara.com/) AvaTax for sales tax information.
AvaTax requires values to determine the appropriate tax to apply. The LTO platform sends these values to AvaTax API based on the LTO Tax configurations:
- Date
- Sales Type (default value)
- Company Code (default value)
- Customer Code (Company login ID)
- Tax Bill-To Address (automatic from related Bill-to address)
- Tax Ship-To address (Derived from “Delivery Method Address Settings”)
- Tax Code (Product Code from AvaTax and/or Item Tax Code)
- Currency
- Quantity
- Amount
- VAT number
Note: LTO currently utilizes only the tax calculation (ie, GetTax) capabilities from AvaTax and does not currently support writing the transaction or order into AvaTax for tax reporting purposes. The capability to support writing the transaction or sales order to AvaTax for tax reporting purposes is currently not supported in the LTO product.
Note: AvaTax organizations/companies are not setup within LTO. Please refer to AvaTax documentation on setting up organizations/companies in the AvaTax system
Required Avalara AvaTax Configurations
The following will highlight the required configurations to be made in your Avalara account in order to integration with LTO.
- Log in to your Avalara account and navigate to the below path.
- Settings -> License and AP keys
- Click on the “Reset License Key” tab and generate or reset the license keys.
- Example of keys:
{ "accountId": "XXXXXXXXXX", "accountName": "Litmos", "key": "XXXXXXXXXXXXXXXX" }
- Define Company code in the below path.
- Settings -> Company Details
- Example:
COMPANY NAME: Litmos
COMPANY CODE: DEFAULT
STATUS: ACTIVE
- To enable Country tax, navigate to the below path.
- Settings -> Where you collect tax
- If the user wants to collect sales tax, add the Country and state in the “Sales and Use tax” tab.
- If the user wants to collect VAT/GST, then add the Country in the “VAT/GST” tab.
Tax Module Rules within Litmos Training Operations
The Tax Module is accessed via Extras -> Tax within the Admin Module. The Tax Module supports 1 or more Tax Rules to help the system to determine which AvaTax account to use based on the related configuration settings. Each Rule contains the following settings:
- Tax Rule Name
- Tax Company Code
- Enable VAT Number Country Code Prefix
- (Avalara) Tax Account
- Mode
- Optional Attributes
- Business Units
- Class Location Country
- Student Country
- Student Bill-To Country
- Transaction Currency
- Delivery Methods Address Settings
- Enable / Disable
- Product Tax Code
- Tax Address selector
- Bundle Configurations
- Tax Rules
Tax Rule Name
This allows the user to assign a name to the rule for easier identification within the rule list. In the case of the below example, the tax rule name is “Sweden Tax”. This “Sweden Tax” rule will be used as an example that is highlighted throughout this document.
Tax Company Code
This is your AvaTax Company within Avalara. AvaTax supports multiple companies within a single instance. See AvaTax for additional details.
Enable VAT Number Country Code Prefix
Included as part of the “Sweden Tax” rule example is to “Enable VAT Number Country Code Prefix” which will make a country name/code dropdown available to the attendee to select when calculating tax.
- This VAT country will be concatenated with the VAT number inputted by the attendee to validate if a valid or invalid VAT, along with if tax should be applied to the transaction.
- NOTE: If a non-EU VAT number is added by the attendee during checkout, the system will not validate (as there is not a mechanism to validate non-EU VAT numbers), however, the attendee can complete the checkout process, with tax included and the inputted non-EU VAT number being saved for future reference. EU inputted VAT numbers will be validated.
- Additionally as part of our example tax rule, for Classroom and vClassroom, we’ve setup to use the course’s location in order to default the country code used with VAT validation.
- NOTE: The attendee will have the opportunity to update this to match the country associated with their VAT number. More details on this will be outlined in the Attendee User Experience section.
As mentioned, when this configuration is checked, a country code is included as part of the VAT number validation.
- To help attendee’s with selection of a country code, a dropdown has been added in the attendee checkout to associate this country code with the VAT number inputted
- To populate this dropdown, a new dropdown definition has been added to LTO Admin -> Administration -> Dropdowns called “Tax Country”
- The dropdown values found within the “Tax Country” will be pre-populated, pulling the country code and country name from Avalara so this list should not need to be updated by the customer
Tax Account
This is your AvaTax tax account (customer is responsible for provisioning their account) within Avalara.
The customer will be required to enter the “Tax Account ID” and “Tax Account License ID” in order to link their Avalara AvaTax account with their LTO instance.
Mode
This can be set to either Test or Live. Live will use the client’s Live (Production) AvaTax account. Test will use the client’s Test AvaTax account
Optional Attributes
Customers have complex business processes within their organizations that require the use of multiple tax accounts (ie, AvaTax tax account) for tax calculation including the selection of the specific tax account used for the transaction based on the transaction’s (ie, registration) attributes. Litmos Training Operations tax module allows the following attributes to be used as part of the configuration of a tax rule associated with a specific AvaTax account:
- Business Units
- Class Location Country
- Student Country
- Student Bill-to Country
- Transaction Currency
An example of what this means is that LTO customer’s may have distinct business units or groups within their organization and need the flexibility to connect to multiple AvaTax tax accounts; ie, the customer can have a tax configuration setup to use AvaTax tax account -A– for business units 1+2 and another tax configuration to use AvaTax tax account –B- for business units 3+4.
When values are specified in the tax configuration, the transaction’s provided values are evaluated against the values specified in the tax configuration as follows:
- For each transaction attribute (business unit, class location country, student country, etc.), where value(s) are selected in the configuration, the transaction must provide matching values to qualify to use the tax account. For example, if the tax configuration has business unit set to: BU1, BU3 and student bill-to country set to: United States, then
- Transaction qualifies to uses this tax account in this configuration if the schedule’s business unit is: BU1 and the student’s bill-to country is: United States.
- Transaction does NOT qualify to uses this tax account in this configuration if the schedule’s business unit is: BU2 and the student’s bill-to country is: United States.
Delivery Methods Address Settings
This section is used to enable tax support for courses by delivery methods; Classroom, eLearning, vClassroom, Replay, Bundles and Subscriptions
There are 3 settings for each delivery method:
NOTE: This address setting works in conjunction with the tax address check box on each Location record.
- Enable/Disable Checkbox – This is not labeled, but is a checkbox located to the left of the related Delivery Method. If selected, the related options for that Delivery Method will be used to process tax.
- Product Tax Code – Is a unique label used to group items (products, services, or charges) together. Tax codes typically identify categories of like products, services, or charges, and are used in tax rules. A list of these codes can be found in the related AvaTax account.
- These Delivery Method Codes can be overridden by setting the “Tax Item Code” under Options/Scheduling/Tax Options section of the Admin Module.
- Tax address – Address to use in tax calculation.
- Note: If the “Use Course Location Address” option is selected, the related Location must have the “Taxable location address” enabled, otherwise it will use the Bill-To address instead.
Bundle Configurations
The configuration of tax for bundles relies on the weighting of the courses that make up the bundle, as well as the tax address settings for each of the delivery methods. This means that for a bundle, tax address settings are not included.
If “Bundle Course” is checked, then the tax for all the delivery methods will automatically be selected.
- Additionally, these settings are required because if these configurations are not set, upon checkout of the bundle, an error will occur when calculating tax so the LTO administrator will need to define how tax should be calculated for all delivery methods before they can save.
Additional configurations that are needed in order to have tax work properly for bundles include under Programs -> Bundle -> Options:
- On the “Scheduling” Tab:
- Need to enforce the “Select bundle schedules at registration time” so that this is checked if the customer has tax enabled, with a “Bundle” tax rule created.
- The user needs to select the schedule at time of registration in order to determine and calculate the accurate tax during checkout.
- On the “Pricing” Tab:
- An optional configuration exists that if checked, will allow for bundle pricing to be created without a country defined.
On the bundle record under Programs -> Bundle -> NEW or Search (existing), when adding courses that make up the bundle, included is a “revenue recognition weight %” column within the course row. When a bundle is created, this weight % column on the course listing of the bundle will be used to determine the % of the bundle amount will be used for each course when determining tax.
What this means is that, during checkout, the attendee will need to select schedules for each course in the bundle. Once schedules selected, and it’s time to calculate the appropriate tax to be included in the bundle.
Example: If 2 courses are included in a $100 bundle where the % split is 60% for course A, and 40% for course B
Course A would be taxed at $60, and based on the delivery method, would need to determine which address used for the tax which is based on configs set under Extras -> Tax.
Tax calculation would be done just like tax calculation for a single course.
A VAT Number call would also need to be made, just like an individual course purchase.
Course B would be taxed at $40, and based on the delivery method, would need to determine which address used for the tax which is based on configs set under Extras -> Tax.
Tax calculation would be done just like tax calculation for a single course.
A VAT Number call would also need to be made, just like an individual course purchase.
Once the 2 individual tax amounts are determined, they would be added together and displayed to the attendee what the TOTAL tax for the bundle purchase will be.
On the “Pricing” Tab of the bundle, if the “Allow bundle pricing records without country defined” config is enabled, then LTO administrators can create a pricing record without defining a country.
Tax Rules
The top section of the form displays the tax configuration/rules that have been setup.
- New tax configuration – to add a new tax configuration, select the toolbar option: New to clear the form for the user to enter and Save (using toolbar option: Save) the configuration information.
- Modify tax configuration – to modify an existing tax configuration, select the Edit option for the tax configuration. The selected configuration will be loaded, and the user can modify and save (using toolbar option: Save) the configuration information.
- Delete tax configuration – to delete (permanently remove from system) an existing tax configuration, select the Delete option for the tax configuration.
- If there are more than one saved tax configuration record, use the up/down arrow to sort the order in which the evaluation should occur. Please note that once a tax configuration record is validated and tax is computed based on that setting, LTO will stop evaluating the rest of the tax configuration records that have not been evaluated.
- If there is more than 1 item in the cart, each item will be evaluated independently.
Attendee User Experience
The following will highlight the 2 examples of cross-border and in country tax from the attendee’s perspective. What is outlined below will function the same for all modalities including bundles.
Example 1: Cross-Border Taxation
- In this example, the attendee’s billing address is Germany
- This German attendee has added a classroom course that is being held in Sweden to their shopping cart, and then checks out.
- As the attendee steps through checkout process, the attendee confirms their billing address, which is Berlin, Germany.
- Once this German attendee reaches the payment step of the checkout, they will encounter the following:
- By default, tax will be applied to all courses until a VAT number is applied.
- Because our “Sweden TAX” tax rule had the “Enable VAT Number Country Code Prefix” checked, the country code dropdown will be visible and need to be populated before VAT number can be validated.
- The default country code selected will be the same as the country to which the classroom course is held
- As mentioned in the “Tax Rules” outline above, because the “Sweden TAX” tax rule was configured for both classroom and vClassroom to use the course’s location, the VAT country code will be defaulted to this value.
- The attendee, though, has the opportunity to update the country code to match their VAT number, and a brief note is included just below the country code so that the attendee is aware they may need to update the country code value.
- The label is customizable and translatable, and found within the “Site Brands -> Labels” under the “cust_VatCountry_Mesg” value.
- In our example, the German attendee has a German based VAT number, so they update the country code to DE, and input a corresponding VAT number.
- Since this classroom course is being held in Sweden, once the attendee clicks the Validate VAT or selects an “Attendee Payment Method”, the screen will refresh and just below the inputted VAT number will display if the VAT inputted is valid or invalid, which will help explain if tax is being included in the transaction.
- As mentioned in the “Tax Rules” outline above: If a non-EU VAT number is added by the attendee during checkout, the system will not validate (as there is not a mechanism to validate non-EU VAT numbers), however, the attendee can complete the checkout process, with tax included and the inputted non-EU VAT number being saved for future reference. EU inputted VAT numbers will be validated.
- In our example, the attendee has inputted a valid German VAT number to associate with this Swedish held classroom course and because this is a cross-border transaction, the tax is removed.
- The calculation of the tax is being performed leveraging Avalara’s AvaTax API, which will return the tax amount that should be displayed to the attendee.
- If our German attendee inputted an invalid VAT number, then the EU-only VAT validation mechanism would return an “Invalid vat number” message to be displayed to the attendee as well as the AvaTax API would be called and will return tax to be included in this course purchase.
- Additionally, the following labels are available for customization and translation under Site Brands -> Labels within LTO Admin:
- cust_vat_validation_server_error
- Default value: VAT validation service temporarily unavailable. Service should resume within a few minutes. Please try again.
- cust_vat_server_error_clear_vat_number
- Default value: VAT validation service temporarily unavailable. Service should resume within a few minutes. Please try again.
- cust_invalid_vat_country_clear_vat_number
- Default value: Country doesn’t support for vat validation.
Example 2: In Country Taxation
- In this example, the attendee’s billing address is Sweden.
- This Swedish attendee has added a classroom course and a vClassroom course, both of which are being held in Sweden, to their shopping cart, and then checks out.
- Once this Swedish attendee reaches the payment step of the checkout, the VAT country code is defaulted to Sweden, and because the attendee is also based in Sweden and has a Swedish VAT number, the dropdown does not need to be updated.
- The attendee inputs a Swedish VAT number and clicks the “Validate VAT”.
- After the screen refresh, because we have 2 Sweden-held courses included in the shopping cart, both courses will have tax applied because of the attendee also being based in Sweden with a Swedish VAT number.
- Each course will have the individual tax applied to that course displayed so that the attendee is aware.
- Additionally, both courses will have a message if the inputted VAT number is valid or invalid.
- As mentioned in the “Tax Rules” outline above: If a non-EU VAT number is added by the attendee during checkout, the system will not validate (as there is not a mechanism to validate non-EU VAT numbers), however, the attendee can complete the checkout process, with tax included and the inputted non-EU VAT number being saved for future reference. EU inputted VAT numbers will be validated.
Cancellation of a Registration
When tax is enabled, and a registration is cancelled, if tax is to be included on the cancellation fee, it will properly be deducted from the refund amount. Example (based on USD):
- Course purchase:
- Course price: $600
- Tax: $60
- Total paid by attendee: $660
- Registration cancelled with $100 cancellation fee:
- Cancellation fee: $100
- Tax on cancellation fee: $10
- Total cancellation fee: $110
- Refund to attendee: $660 – $110 = $550 to be refunded