Introduction

AvaTax is a popular tax calculation service. It comes with more than 500 pre-built integrations.

Integration

The integration with the Nemesis platform is pretty straight-forward. Upon adding the module in the classpath,

<dependency>
    <groupId>io.nemesis.platform.module.tax</groupId>
    <artifactId>nemesis-module-avalara</artifactId>
</dependency>

you will have access to several new properties you can use to customize its behaviour. All of them are located under the nemesis.tax.avalara domain.

Setting up the properties below will provide the data which is needed for the instantiation of an Avatax Client.

  • nemesis.tax.avalara.accountId

  • nemesis.tax.avalara.licenseKey

  • nemesis.tax.avalara.applicationName

  • nemesis.tax.avalara.applicationVersion

  • nemesis.tax.avalara.machineName

  • nemesis.tax.avalara.avaTaxEnvironment

Please consult the Avalara documentation on what they mean and how to use them.

The call to CreateTransaction API is build upon SingleLocation address type with postalCode. Same is expected to be delivered under cartEntryDtoDefinition.getPickupStore().getAddress().getPostalCode();. The sum to be calculated is extracted from cartEntryDtoDefinition.getBaseAmount();.

In addition you have been provided with another property which is used to trigger a call to Avatax Ping API on Application startup. To enable this functionality, please set the value of the property below to 'true'.

  • nemesis.tax.isPingAPIEnabled