G Appendix: Tax Service Integration Avalara

This section describes the configurations for the tax service integration Avalara.

Overview

Avalara is the external tax service for Xstore. Avalara provides tax data in mnt data format. Xstore Office reaches out to this external tax service to fetch data periodically or on-demand. Xstore Office uses auto drop file deployments to send this data across all stores in the organization.

Avalara - Scheduled Quartz Jobs

The scheduledAvataxDataFetchJob quartz job fetches data from the Avalara tax service and auto-deploys the data to stores in the organization.

<bean id="scheduledAvataxDataFetchJob_1000" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
      <property name="jobClass" value="com.micros_retail.xcenter.integration.IntegrationJob" />
      <property name="jobDataAsMap">
        <map>
            <entry key="category" value="INTEGRATION"/>
            <!--  The value of this property should be the same as the bean name for the relevant scheduledAvataxDataFetchTask  -->
            <entry key="integrationConfigId" value="scheduledAvataxDataFetchTask" />
        </map>
      </property> 
      <property name="durability" value="true"/>
      <property name="requestsRecovery" value="true"/>
      <property name="description" value="Scheduled fetch Tax Data from Avalara"/>
    </bean>

The ExecScheduledAvataxDataFetchTask quartz job is the integration task that fetches the Avalara tax data and propagates it to stores of the organization.

<bean id="scheduledAvataxDataFetchTask_1000" class="com.micros_retail.xcenter.avatax.ExecScheduledAvataxDataFetchTask">
      <property name="organizationId" value="1000" />
      <property name="avataxProperties" ref="avataxProperties" />
    </bean>

The scheduledAvataxDataFetchTrigger quartz job schedules the job to trigger on a certain date and time.

<bean id="scheduledAvataxDataFetchTrigger_1000" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
      <property name="jobDetail" ref="scheduledAvataxDataFetchJob_1000" />
      <!-- Configured to run on 25th of every month at 21:00. -->
      <property name="cronExpression" value="0 0 21 25 * ?" />
      <!-- Timezones are set to UTC/GMT and cronExpressions are expected to represent that time. -->
      <property name="timeZone" value="UTC" />
    </bean>

xcenter.properties Settings

This section lists the xcenter.properties settings for the Avalara tax data service.

(Continued)xcenter.properties - Avalara Tax Data Service

Table G-1 xcenter.properties Settings

Setting Valid Values Description

avatax.connectionURL

https://avalara-host

Endpoint for Avalara tax data service

avatax.connection.servicePath.prefix

/api/v2/content/data/companies

REST GET web method's @uri

avatax.connection.username

username

AccountId provided by Avalara

avatax.connection.password

password

License key provided by Avalara

avatax.orgCompanyIds

1000:257638,2000:27648

Mapping of Xstore Office organization to Avalara companyId. It is comma separated entries for each mapping.

avatax.onDemand.ui.enabled

true/false

Is Avalara On-Demand functionality enabled for Xadmin.

avatax.config.getDelta

true/fals

If true, the Xcenter will fetch Delta of the Tax Data from External integration on scheduled basis.

avatax.ping.servicePath.prefix

/api/v2/utilities/ping

 

avatax.config.download_time

STORE_CLOSE or IMMEDIATE

 

avatax.config.accountId

2001508678