Administration/Utilities Integration
Name | Type | Description | Comments |
AvaTax Configuration Window | Required | The AvaTax Configuration Dialog Window must allow the user to specify the configuration/connection information:
| |
Test Connection | 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 - 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 | |
Disable AvaTax Option | Required | The user must have an option to turn on or off the AvaTax Calculation service independent of any other Avalara product or service. | If your integration supports AvaTax for Sales Tax functionality in addition to Account Payable, separate controls for each function are required |
Enable client side logging | Required | Enables detailed AvaTax transaction logging within the application including capture of round-trip processing time. We need the complete request/response for each call made to Avalara services. It does not need to run all the time as we understand the database will grow unnecessarily large - you are free to only log the last week, 30 days, custom, or have a control for the next N hours, etc. The spirit of the requirement is to assist customers and support in troubleshooting exercises, so it needs to be retrievable by an end user (or an administrator). It should be specifically Avalara service calls. | |
User Implementation Guide | Required | The User Implementation 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, where customer data is entered, and where tax codes can be mapped within the application. Click Here for a user guide template. | |
Address Validation Implemented | Required | An Address Validation utility is present in the application. |
Vendor Record Integration
Name | Type | Description | Comments |
Vendor Code | Required | Identify the vendor identifier field (typically the database key in the vendor master) to map to the “CustomerCode” field in Avalara. | |
Entity/Use Code | Required | This is a group of codes that indicate the type of exemption. See the standard codes, but be aware that users are able to create custom codes as well. It is best to manage this value in your application's Customer record and pass it to AvaTax as entityUseCode at either the document or line level, whichever is applicable. Trusted - Always pay the amount on the vendor invoice, no accruals expected Exempt - No tax expected from vendor, items will be used for resale, etc. Always Accrue - always accrue tax from this vendor |
Items/Commodities Integration
Name | Type | Description | Comments |
Item/Commodity Code | Required | Identify the itemCode value (number, ID) to pass to the AvaTax service. | |
Item/Commodity Description | Required | Identify item/commodity description to pass to the AvaTax service with a human-readable description or name. | |
AvaTax Tax Code mapping - Item Code/SKU | Required | Association of an item to an AvaTax Tax Code to describe the taxability (e.g. Clothing-Shirts – B-to-C) | |
AvaTax Tax Code mapping - Item Groups | Suggested | Association of a GROUP of items to an AvaTax Tax Code to describe the taxability of the group. | |
Tax Code Lookup | Suggested | Pull in and surface Avalara Tax Codes within application. | |
Non-Standard Items | Conditional | Association of Freight/Shipping and/or Handling charge to an AvaTax Tax Code to describe the taxability. | Required if your application's PO process supports the ability to include a freight line |
Sales/Billing Documentation Integration
Name | Type | Description | Comments |
Document Code | Required | Values that can come across to AvaTax as the docCode | |
Vendor Code | Required | Values that can come across to AvaTax as the customerCode | |
Document Date | Required | Value comes across to AvaTax as the docDate | |
Tax Calculation Date | Required | Value that comes across to AvaTax as the taxCalculationDate | |
Header Level - Destination Address | Required | Value that is sent to AvaTax for Destination Address at the header level. This is the address where goods are received | |
Header Level - Origin Address | Required | Value that is sent to AvaTax for Origin Address at the header level. This is the address of the vendor | |
Header Level - Point of Order Acceptance | Conditional | Required if Point of Order Acceptance address can be managed at the header level within the source application | Required if Point of Order Acceptance address can be managed at the header level within the source application |
Header Level - Point of Order Origin | Conditional | Value that is sent to AvaTax for PoO at the header level. | Required if Point of Order Origin address can be managed at the header level within the source application |
Reporting Location Code | Required | Value that is sent to AvaTax for locationCode at the header level | |
Line Number | Required | Value that is sent to AvaTax for the line number | |
Item/Commodity Code | Required | Value that is sent to AvaTax for the itemCode | |
Item/Commodity Description | Required | Value that is sent to AvaTax for the itemDescription | |
Quantity | Required | Value that is sent to AvaTax for the quantity | |
Amount (extended) | Required | Value that is sent to AvaTax for the amount | |
Tax Code | Required | Value that is sent to AvaTax for the Tax Code | |
Header Level - Tax Override Type | Required | Set the override type to Vendor Charged Tax | |
Header Level - Tax Override Amount | Required | Specify the override amount | |
Header Level - Tax Override Reason | Required | Specify the reason for the override | |
Line Level - Destination Address | Conditional | Value that is sent to AvaTax for Destination Address at the line level. | Required if destination (shipTo) address can be managed at the item line level |
Line Level - Origin Address | Conditional | Value that is sent to AvaTax for Origin Address at the line level. | Required if origin (shipFrom) address can be managed at the item line level |
Line Level - Point of Order Acceptance | Conditional | Value that is sent to AvaTax for PoA at the line level | Required if Point of Order Acceptance address can be managed at the item line level |
Line Level - Point of Order Origin | Conditional | Value that is sent to AvaTax for PoO at the line level. | Required if Point of Order Origin address can be managed at the item line level |
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 | |
Freight items must be transmitted separately | Required | Freight items must be sent to AvaTax as a separate line item with a configurable tax code | |
Tax Calculation - Document Type | Required | Ensure that invoices are processed through a logical document lifecycle (Sales Order - Purchase Order - Purchase Invoice) | |
Transaction Posting/Committing/In Review | Required | Ensure that invoices are committed/posted for reporting appropriately | |
Display Accounts Payable Status | Suggested | The integration should display the apStatusCode value returned by the API on invoices | |
Transaction Cancelation/Voiding | Conditional | When invoices are deleted/canceled, this information must be transmitted to AvaTax | If the source application supports void/delete, then the corresponding transaction on AvaTax must be updated with the current transaction status |
Discounts | Conditional | Standard discounts included in line-level extended amount, manufacturer’s coupons and hostess credits transmitted as additional line items | If the platform supports the ability to handle vendor discounts, the integration must reflect this functionality in the discounts |
Purchase Order Number | Required | Value sent to AvaTax as the purchaseOrderNo | |
Latitude/Longitude Support | Suggested | If host application captures GPS coordinates with Addresses; for US addresses, pass the Lat and Long along with address. This is especially useful in situations where a location or service site can only be pinpointed by geo location |
Server Audit Clarity and Installation Requirements
Name | Type | Description | Comments |
Pass connector identifier information via the X-Avalara-Client signature property | Required | Integrations must include information about the connector, such as name, version, and company name, as a signature to each transaction. | Example: X-Avalara-Client ='“Dynamics AX; 9.0; MyApp for AX by ACME INC; 1.0' |
Reasonable errors 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 application. | |
Reasonable ratio of tax calculation 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 – Install Shield or equivalent where applicable | Required | Customers should have an easy and trouble free installation of the software. |