Avatax App


Sales Tax is complicated. AvaTax makes it easy. Intelligent calculation, exemption management, filing and remittance.

Overview

Learndot offers an integration with a sales tax lookup service, via Avatax. This integration will accurately & reliably calculate sales tax, without the need for the Training Department to keep track of all international and regional sales tax updates. 

For a lighter-weight approach, Learndot also offers a native / built-in Tax EngineThe engine offers full-fledged configuration options, with the onus of maintaining desired tax rates remaining with the Learndot Administrator. 

Consider this option if your organization primarily sells training in jurisdictions that do not require sales tax to be applied, thereby minimizing the required maintenance.

Additional cost is associated with this App, please contact us using our success portal for details or reach out to us at support@learndot.com to learn more

Global Setup & Configuration

This is a one-time configuration required before Avatax can be enabled. 

You may need to work closely with Finance / Accounting professionals within your organization to locate & configure the Avatax-side settings. 

Pre-configuration Requirements  

The following information is required before Learndot can connect to Avatax.

Please work with your Avatax Account Manager to acquire / confirm these details: 

Required

Notes

Service URL

Often set to https://avatax.avalara.net/

Avatax Account

Identifies your Account with Avatax

Avatax Licence Key

Secure key to connect to Avatax - like a password

Before starting, the following is also assumed:

  • All entities who sell your products / training have been identified. This includes, but not limited to, your organization itself. 
  • Each such entity: 
    • Is already set up as a Provider in Learndot
    • Is already set up as an Company in Avatax 
    • Has a defined Nexus (i.e. substantial physical presence), already configured within Avatax.
      • What is Nexus? (From Avatax)
      • Your tax attorney / sales tax professional will determine this configuration

  • All all training / items / purchasables sold by each such entity have been identified.  
  • Each such purchasable: 
    • Is set up as a eLearning / Event / Content / Assessment / Course / Product in Learndot
    • Is set up as an Item in Avatax, including 
      • Item (Naming Convention is key  - please visit Step 1, Sub-Step 4 of this page)
      • Description
      • Tax Code (Your tax attorney / sales tax professional will determine this)

Step 1: Complete Prerequisites

This step has 5 substeps. All 5 are required to be completed before connecting to the Avatax service. All 5 Sub-Steps can be completed by doing the following: 

  1. Log into Learndot as an Administrator

  2. On the left navigation panel, click Setup > Integration > Avatax


3. You will see a list of 5 Sub-Steps that are all required to be completed



Sub-Step 1 - Review Provider details for completeness 

In this step, Learndot Providers's details will be validated for completeness. All Providers are required to have an Avalara Company Code associated with them. In addition, Provider Addresses are checked for completeness. (Address Validation settings determine how completeness is determined in USA and Canada.)

If Address Validation is set to "Maximum Requirements", then each USA / Canada Provider must be configured with Street 1, Zip Code, City, and State.
If Address Validation is set to "Minimum Requirements", then each USA / Canada Provider must be configured with  Zip Code, City, and State.

In this Sub-Step, any Providers that do not have complete addresses and/or Avalara Company Codes will be listed out.

Click the 'Edit' icon and enter complete addresses and/or Avalara Company Code(s) for the listed Providers.

 

Once all existing Providers have complete addresses and Avalara Company Codes, Sub-Step 1 will be marked 

The 'Provider' in Learndot maps to 'Company' in Avatax; similarly, "Avalara Company Code" in Learndot maps to 'Company Code' in Avatax.

Any Providers created or updated after this one-time global configuration will automatically require these fields, maintaining the integrity of the data going forward.


Sub-Step 2 - Review Location details for completeness

In this step, Learndot Location Addresses will be validated for completeness.  (Address Validation settings determine how completeness is determined in USA and Canada.)

If Address Validation is set to "Maximum Requirements", then each USA / Canada Location must be configured with Street 1, Zip Code, City, and State.
If Address Validation is set to "Minimum Requirements", then each USA / Canada Location must be configured with  Zip Code, City, and State. 

In this Sub-Step, any Locations that do not have complete addresses will be listed out.

Click the 'Edit' icon and enter complete addresses for the listed Locations.

Once all the Locations have complete addresses, Sub-Step 2 will be marked 

Any Locations created or updated after this one-time global configuration will automatically require these fields, maintaining the integrity of the data going forward.


Sub-Step 3 - Select a Tax Jurisdiction for all upcoming classes, learning components and products

All upcoming classes, learning components and products are required to have a Tax Jurisdiction associated to them.

In this Sub-Step, any upcoming classeslearning components and products that have not been associated with Tax Jurisdiction will be listed out.

Click the link and select / set the Tax Jurisdictions for the listed items.

Click on the 'Edit' icon to select / set the Tax Jurisdiction from the available options.

Visit Tax Jurisdictions Options to learn about the options available based on type of item. 

Once all the listed items have Tax Jurisdiction set, Sub-Step 3 will be marked 

All upcoming classes, learning components and products created or updated after this one-time global configuration will automatically require Tax Jurisdiction to be set.


Sub-Step 4 - Certify that Avatax Configuration is complete

All Learndot items are required to have Avatax Tax Codes and Avatax Shipping Codes associated to them. 

A default Shipping Code may be set - please see Sub-Step 5. 


Tax Codes within Avatax may be specified two ways: 

  • By setting up individual Items and Tax codes in Avatax that correspond to individual purchasables in Learndot. This is useful when you have multiple counts of the same purchasable type but with different tax codes associate to each of them. 

Example

An eLearning with ID = N in Learndot will be named as e_learning_component-N in Avatax. 

To achieve this, simply create purchasables in Learndot and matching items in Avatax with this naming convention. 

Example, let's use a Product as a Purchasable type. Create the necessary Products in Learndot and remove any "product" component reference from the itemCodeMapping in the system setting titled "integration.avatax.config”, as shown below.

Example Configuration
itemCodeMapping" : { 

“product” : “Learndot”
“public_course_event” : “Public-Training”
“private_course_event” : “Private-Training”
“e_learning_component” : “Ondemand”
“content_component” : “Content”
“content_option” : “Content-Option”
“course” : “Course”
“course_pathway” : “Course-Pathway”
“exam_component” : “Exam”

}

Then, in Avatax, ensure that all corresponding Product items are mentioned along with a tax code.

Example

item name: "product-3" , Tax code "P1200000"

item name: "product-4" , Tax code "P1600000"

item name: "product-5" , Tax code "P1600000"

For this to work as instructed, make sure that the item code in Avatax MATCHES the Learndot purchasable type - ID value format. (E.g., if the id of the item is 3 in Learndot, then it MUST be called “product-3” in Avatax). 



  • By setting up a group Tax code in Avatax based on type of purchasable, that apply to all to individual purchasables of that type, in Learndot. This is useful when you have multiple counts of the same purchasable type with only ONE tax code associated. 

Example

All eLearning components in Learndot will be mapped to the eLearningTaxCode in Avatax, regardless of the individual eLearning ID.

To achieve this, navigate to the system setting titled "integration.avatax.config” and edit the system setting. Below is an example configuration:

Example
itemCodeMapping" : { "e_learning_component" : "OnDemand", "public_course_event" : "Public-ILT", "product" : "University-Onsite-Training" }

Then, in Avatax, ensure there is a corresponding item as shown below.

Example

Avatax: item name: "University-Onsite-Training" , Tax code "P1200000”

Please note that different types of purchasables can not be categorized together under one group tax code in Avatax. Group tax code only applies to all Individual purchasables of a single type.


Similar guidelines apply to other types of purchasables. These guidelines also included in the Avatax Setup page on Learndot, and below. 

If further clarification is needed, please contact your Avatax Account Representative.

This step certifies that Avatax configuration is complete and accurate.

Before: 


After: 

The Avatax Administrator will need to follow this these guidelines as they create / name Tax Codes in Avatax.

Once all the purchasables have been configured with Avatax Tax Codes and Avatax Shipping Codes, Sub-Step 4 will be marked 


Sub-Step 5 - Review / configure all Additional Settings (Optional)

In this Sub-Step, the Additional Settings may be optionally configured.  

Click the Update Additional Settings button to make the desired changes.


Field

Description

Default Value

Commit Sales Invoice

When a customer is checking out with an order, the transaction is registered in Avatax as a sales order document.

After a successful checkout, the sales document becomes a Sales Invoice. At that point, the Sales Invoice can be committed (or not). Once committed, the document cannot be discarded or modified.

This setting allows the Administrator to choose whether or not to commit the Sales Invoice in Avatax.

Set to 'No'.

Shipping Item Code

Used for processing freight taxes. For standard processing the default value is set as "FR (Freight Code)". For further information, please see the Avalara Documentation.

Set to 'FR'.

Enable Address Validation

Toggling the Enable Address Validation Switch will allow you to create a Location or Provider with or without the full Address.  

If this is set to "ON", then location addresses will be validated with maximum requirements (Street 1, Zip Code, City and State).

If this is set to "OFF", then location addresses will be validated with minimum requirements (Zip Code, City and State).

Only available for US and Canada addresses. Avatax uses USPS and Canada Post registered addresses.

Set to 'No'.

Fail Address validation on Errors

This setting is intended to control the outcome if the Avatax address validation service cannot be reached for any reason.

If set to "ON", invalid addresses will be flagged as invalid. They will be displayed as errors in Step 3: Address Validation, as well as flagged as invalid when a new provider or location address is entered.

If set to "OFF", invalid addresses will be not be flagged invalid. They will be not displayed as errors in Step 3: Address Validation. Any invalid addresses will also be accepted as-is when a new provider or location address is entered.

Set to 'No'.

Service Timeout (ms)

This setting specifies the time period after which an unresponsive operation will time out. This setting is in milliseconds.


Set to '60000'.

Enable Logging

If set to "ON", Avatax Transaction Details will be logged as comments within a Learndot Order.

If set to "OFF", Avatax Transaction Details will not be logged within a Learndot Order.

Set to 'No'.
Enable reverse charge tax exception (For VAT countries only)

During the check-out process, the Tax ID gets reported to Avatax as the Business Identification Number if the customer's country is included in the VAT Countries list.

If set to "On", during check-out process, the Tax ID also gets reported to Avatax as the Exemption Number if the customer's country is included in the VAT Countries list.


If set to "Off", the reverse charge mechanism will be turned off.

Set to 'No'.
VAT Countries

This list of VAT Countries is used to report Tax ID entered by customers as the Business Identification Number to Avatax for VAT Countries.

Enter all countries where VAT (Value Added Taxes) is applicable.

Include:

  • Austria
  • Belgium
  • Bulgaria
  • Cyprus
  • Czech Republic
  • Germany
  • Denmark
  • Estonia
  • Spain
  • Finland
  • France
  • United Kingdom
  • Greece
  • Croatia
  • Hungary
  • Ireland
  • Italy
  • Lithuania
  • Luxembourg
  • Latvia
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Sweden
  • Slovenia
  • Slovakia

Step 2 : Connect to Avatax

All prerequisites are required to be completed before connecting to Avatax.

To connect to Avatax, 

  • Navigate to the Connection Tab and enable the connection by entering the Avatax details - Service URL, Avatax Account, and Avatax Licence Key.
  • Click the Update Connection Details button.

  • Toggle the Enable switch to ON. 

  • Enter the Service URLAvatax Account and Avatax License Key. Then click Save.

Note:

Once the Avatax app is enabled, it cannot be disabled using the interface. If you wish to disable the app, please contact our support team.

  • Finally, test if the configuration is correct by clicking the test connection button and verify the receipt of this message "Successfully tested Avatax service connection".

Step 3  : Address Validation 

After the connection between Learndot and Avatax is established, the addresses will be validated through Avatax. 

This validation currently works only for United States and Canada; addresses from all other countries are assumed to be valid.

Address Validation settings determine how completeness is determined in USA and Canada.

If Address Validation is set to "Maximum Requirements", then each USA / Canada Location must be configured with Street 1, Zip Code, City, and State.
If Address Validation is set to "Minimum Requirements", then each USA / Canada Location must be configured with  Zip Code, City, and State. 

It's optional, but highly recommended, to review the results of this validation and correct any improperly formatted addresses. Invalid Provider or Location addresses may cause checkout to fail.

Once all Providers and Location addresses are valid (US & Canada only), this step will be marked as 

Customer Checkout 

  • Once Avatax is enabled & configured, customers purchasing an item will automatically see (any) applicable sales tax added to their shopping cart. 

  • Adding more items will automatically update the sales tax if applicable. 

  • Billing and / or Shipping addresses will be required as part of the checkout process. Depending on the configuration, any tax applied may change based on the desired billing and/ or shipping location.

Note:

The customer is kept informed about this possibility through the checkout process.


Administrative Options

Tax Jurisdiction Options 

Available Tax Jurisdiction Options depend on the type of the item purchased. 

Type

Description

Events

The valid options for this field are: 

  1. Calculate Sales Tax based on Event Location Address (often used for US Sales Tax)

  2. Calculate Sales Tax based on Customer Billing Address (often used for EU VAT)

Courses

The valid option for this field is: 

  1. Calculate Sales Tax based on Customer Billing Address

Products

The valid options for this field are: 

  1. Calculate Sales Tax based on Customer Shipping Address (often used for Physical Product - i.e. coffee cup)

  2. Calculate Sales Tax based on Customer Billing Address (often used for Virtual Products - i.e. license key)

All other types

The valid options for this field is: 

  1. Calculate Sales Tax based on Customer Billing Address (often used for downloads, and e-learning)


If an Event is configured with an Online Location, the only Tax Jurisdiction option available to select will be "Calculate Sales Tax based on Customer Billing Address", since the Online Location has no physical address configured, the Administrator is unable to charge based on Event Location address.


Editing an Event 

If the Training Coordinator changes the location of an event which already has enrolments, Learndot will display a warning message alerting the administrator that the event already has paid orders associated to it, and that the sales tax on the orders may need to be adjusted.

This will help the Training Coordinator be aware of the tax implications of their decision and make any adjustments or refunds where necessary.

Looking up the Address used for Sales Tax

A new read-only field "Address used to calculate tax", will be displayed for each order line. When a customer places an order, the specific address used to calculate sales tax is saved in this field, to provide traceability. 

Editing an Order 

If the Training Coordinator edits an order, Learndot will display a warning address alerting the administrator that the price/tax/discount associated with it may change.

Verifying & Recalculating Taxes

The "Verify Taxes" functionality, for each purchasable item, will behave differently depending on whether Avatax is enabled or not.

  • With Avatax: This option will no longer exist.

  • Without Avatax (native engine) only - this option will continue to work as before.

The "Recalculate Taxes"  for each order, will behave differently depending on whether Avatax is enabled or not.

  • Without Avatax (native engine): Orders will have the option to recalculate: price, discounts and taxes, as before.

  • With Avatax: The behavior depends on the relative timing of when Avatax was enabled vs. when the order was created:

    • Orders (created before Avatax was enabled) will not have the UI option to recalculate: price, discounts and taxes. This is because we no longer know which tax engine to use to calculate these taxes.

    • Orders (created after Avatax was enabled) will have the option to recalculate: price, discounts and taxes. The recalculation will be performed using Avatax.

Creating an Address

When Avatax is Enabled, Locations and Providers can be created with the most minimal requirements. When setting up Avatax, under 'Sub-Step 5 - Review / configure all Additional Settings (Optional)', you have an option of toggling the Enable Address Validation Switch, which will allow you to create a Location or Provider with or without the full Address.  

  • Click Update Additional Settings.

  • There is a Toggle Switch to Enable Address Validation. 
    • When the Switch is ON:  the Location/Provider will only be created after the Address is validated with the most required fields (i.e., Street 1, Zip Code, City, and State).
    • When the Switch is OFF: the Location/Provider will only be created after the Address is validated with the least required fields (i.e., Zip Code, City, and State). 

When the Switch is OFF, the necessary fields are still obligatory, as the Avatax Tax calculation process may fail during checkout if not correctly provided.


Creating a Location when the Switch is OFF

When the Enable Address Validation Switch is toggled OFF, the only required details for the Location to be successfully created are the Zip Code, City, and State.

  • Log in as an Administrator and navigate to Training > Location > Create new Location.
  • Since the Switch is OFF, only Zip Code, City and State  details are required to successfully create the Location. 

  • Enter the required fields and hit Save. 

  • The Location is successfully created. 


Creating a Location when the Switch is ON

When the Enable Address Validation Switch is ON, Locations can only be created with accurate details, including Street 1,  Zip Code, City and State.

When Switch is turned ON, the Address will get validated via Avatax, consequently any incorrect details will prompt an error message.

For instance, considering the same Location as above, after the Switch is turned ON, the Location will require the Street 1 name. 

  • Enter the Street 1 name and hit Save. The Address will then get validated through Avatax and if no issues were found, the validation will pass and the Location will be created.


Other Resources

The attached PDF file is provided (and it is downloadable) to explain the steps needed to compete the set up on Avatax end. 

The information provided in this PDF file is designed to provide helpful information on the Integration only. This PDF was built in June 2017 and Learndot does not maintain any liability to further changes recorded on Avatax End, including the User Interface and other functional changes. Guidelines in the PDF are provided for informational purposes only and readers should verify further on Avatax Help site.