VAT Calculation Badge Requirements
View as markdown

Administration/Utilities

NameTypeDescriptionComments
AvaTax Configuration Window
Required
The AvaTax Configuration Dialog Window must allow the user to specify the configuration/connection information
AvaTax Test Connect Button
Required
Test the connection to the AvaTax service and verify the AvaTax credentials. This is an important element to allow for successful troubleshooting of the AvaTax Service.
Control - Disable Document Recording
Required
In order for this connector to be used in conjunction with other integrations to AvaTax, the user must be able to control which connector is used for recording documents to AvaTax. From a technical standpoint, simply use docType: 'SalesOrder' on all calls and suppress any non-tax calculation calls (i.e. VoidTransaction, CommitTransaction).
Request time out definition
Suggested
Define a timeout value for AvaTax requests
Enable client-side logging
Required
Users must have the option to retrieve detailed AvaTax transaction logging within the application, including the capture of round-trip processing time, and they need the complete request/response for each call made to Avalara services.

This logging does not need to run all the time, as doing so will cause the database to grow unnecessarily large. This can be set up to only log the last week, 30 days, custom, or have a control for the next N hours, etc. This requirement is to assist customers and support in troubleshooting exercises, so it must be retrievable by an end user (or an administrator). It should be specifically Avalara service calls.
Display prices with Tax Included
Required
Enable the tax inclusive flag in the tax calculation request
Option to disable AvaTax
Required
The user must have an option to turn on or off the AvaTax Calculation service independent of any other Avalara product or service
User Implementation Guide
Required
Users must have a way to access a User Implementation Guide. This guide should contain screenshots and information allowing the end user to configure for AvaTax, including where the company code is entered, where the credentials are entered, and where tax codes can be mapped within the application.

Item/Charge Integration

NameTypeDescriptionComments
Item Code
Required
Identify the itemCode value (number, ID) to pass to the AvaTax service.
Item Description
Required
Identify item/service/charge description to pass to the AvaTax service with a human-readable description or item name
AvaTax Tax Code Mapping - Item/SKU
Required
Users must be able to associate an item or item group to an AvaTax Tax Code to describe the taxability (for example, "Clothing-Shirts" – "B-to-C").
Non-Standard Items
Required
Users must have a way of associating Freight/Shipping and/or Handling charges to an AvaTax Tax Code to describe the taxability.
Tax Code Mapping Group
Suggested
Users should be able to associate a group of items to an AvaTax Tax Code in order to describe the taxability of the group.
Tax Code Lookup
Suggested
Users should be provided with a method for looking up tax codes.

Sales/Billing Documentation Integration

NameTypeDescriptionComments
Document Code
Required
Values that can come across to AvaTax as the docCode
Customer Code
Required
Values that can come across to AvaTax as the customerCode. This is used to identify any certificates linked to the customer
Document Date
Required
Value comes across to AvaTax as the docDate
Document Type
Required
Your integration must send docType values corresponding to the stages of the transaction life cycle
Ship From Address
Required
Value sent to AvaTax at the header and line levels for the address where items are shipped from
Ship To Address
Required
Value sent to AvaTax at the header and line levels for the address where items are shipped to
Goods or Place Service Rendered Address
Suggested
Your integration should be able to store at the header or line levels the full address where the goods are located when there is no transportation. This is required if your platform accepts this address
Import Address
Conditional
If your application supports Import addresses, then your integration must be able to store at the header or line levels the full address where goods are imported into
Line Number
Required
The value for each line within a transaction, specified using a unique line number
Quantity
Required
The value for the quantity of an item for each line of a transaction
Amount (extended)
Required
The value sent to AvaTax as the total amount for each line item in a transaction, keeping in mind the status of the isTaxIncluded flag
Include Tax in Line Amounts
Required
Users must be able to specify on each line in a transaction whether the total line amount includes tax
Tax Code
Required
Value sent to AvaTax as the taxCode for each line of a transaction
Shipping/Freight Handling in Transactions
Required
The handling of shipping and freight in AvaTax must match your application's implementation. For VAT transactions, freight can be included in the total amount or added as a separate line
Discount Transactions
Required
Users must ensure that discounts on transactions are processed appropriately
Verify Avalara calculated Tax Amount is used in Transaction
Required
Confirm that the integration is taking the Tax Amount value from the tax calculation response and using that to decorate the tax fields in the platform. Do NOT take our rate and use it to calculate the tax within the platform itself
Sales Order/Sales Invoice
Required
Your integration must mirror your system's workflow as it relates to orders and invoices and use the appropriate document types
Commit Transactions
Required
Your integration must mirror your system’s workflow for a transaction lifecycle when committing documents
EU Invoice Messaging
Required
Display and store any messaging returned by the AvaTax engine on the customer invoice
VAT Code in Responses
Required
Display and store the VAT code returned by the AvaTax engine in the ERP transaction record
Currency Code
Required
The three-character currency code at the document level sent to AvaTax for transactions
Exchange Rate
Suggested
Your integration should allow users to specify an exchange rate for transactions
Exchange Rate Currency Code
Conditional
If your application allows users to input an exchange rate, then you must allow users to also include the currency code for the exchange rate
Exchange Rate Effective Date
Conditional
If your application allows users to input an exchange rate, then you must also allow users to specify the effective date of the exchange rate in a transaction
Business Identification Number
Required
Users must have a way to specify the customer's business identification number (also known as VAT Registration ID). This data element should be found directly on the transaction header
Country Code
Required
The value sent to AvaTax as the two-character countryCode in transaction addresses
Transport
Required
Users must be able to specify who in the VAT transaction is responsible for handling the transportation of the physical goods
Is User the Importer of Record
Suggested
Your integration should allow users to specify whether the user is the importer of record for a transaction
Second Hand Goods
Suggested
Users should be able to specify whether the goods being sold in a VAT transaction are second hand (used)
Counterparty Registered Through Fiscal Representative
Suggested
Your integration should allow users to specify whether the counterparty in a sales transaction is registered through a fiscal representative in a given country calculating VAT
Avalara Client Registered Through Fiscal Representative
Suggested
Your integration should allow users to specify whether the Avalara client is registered through a fiscal representative in the given Nexus country for VAT

Server Audit Clarity and Installation Requirements

NameTypeDescriptionComments
Pass Connector Identifier Information via the X-Avalara-Client HTTP Header
Required
Integrations must include information about the connector, such as name, version, and company name, as a signature to each transaction
Reasonable Messages on Server-Side Analysis
Required
There should be no errors except those that would result from normal (but invalid) user input (e.g. invalid address data). Such errors must be logged/displayed appropriately to the system
Reasonable Ratio of Tax Determination and Address Validation calls to Committed Documents
Required
In a normal workflow, we expect to see (on average, including abandoned carts) up to 10 tax calculations per finalized document. In a straight-forward order entry process, the number of calls should be about three to five
Demonstrate and Document Installation of Software
Required
Users should have an easy and trouble-free installation experience

Advanced Feature - Input VAT

Advanced Features contain functionality that we suggest building into your integration on top of what is included in the Certification Badge. The requirements and the respective ‘type’ values below apply only to the Advanced Feature, and “required” components are not mandatory to achieve the Certification Badge.

NameTypeDescriptionComments
Purchase Order/Purchase Invoice
Required
Users must be able to create quotes or estimates using purchase orders and purchase invoice document types
Point of Order Origin Address
Required
The address sent to AvaTax as the PoO at the header or line level for where the order was accepted by your supplier, such as a call center, business office where purchase orders are accepted, and server locations where orders are processed and accepted
Point of Order Acceptance Address
Required
The address sent to AvaTax as the PoA at the header or line level for where the order was accepted by your supplier, such as a call center, business office where purchase orders are accepted, and server locations where orders are processed and accepted
Goods Place or Services Rendered Address
Required
The address sent to AvaTax at the header or line level for where the goods are located when there is no transport
Import Address
Required
The address sent to AvaTax at the header or line level for where goods are imported into
Option to Defer Import VAT
Required
Users should be able to specify whether a customer can defer import VAT until the return is filed
Comparison of Vendor Tax and Self-Assessed Tax
Suggested
ERP systems must allow users to compare what AvaTax calculates as the tax versus what was actually received on the invoice

Advanced Feature - Triangulation

Advanced Features contain functionality that we suggest building into your integration on top of what is included in the Certification Badge. The requirements and the respective ‘type’ values below apply only to the Advanced Feature, and “required” components are not mandatory to achieve the Certification Badge.

NameTypeDescriptionComments
Triangulation Transactions
Required
Users should be able to specify whether the transaction is related to a prior or subsequent supply of goods
Middleman VAT ID
Required
Users should be able to specify the VAT ID of the middleman in triangulation scenarios
Goods Place or Services Rendered Address
Required
Users must be able to specify at the header or line levels, the address where the goods are located when there is no transport in triangulation scenarios.