Skip to navigation

Sales Tax badge

View as Markdown

Administration & Utilities

NameTypeDescriptionComments
Configuration windowRequiredThe configuration window must allow the user to specify the configuration/connection information * Account Number * License Key * Environment (Sandbox/Production)
Company CodeRequiredMerchants should have the ability to designate which company within their account is linked to this integration. This can be done using the Company Code Lookup.
Test ConnectionConditionalTest 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.Required if Company Code Lookup is not used.
Control - Disable Document RecordingRequiredIn 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. CommitTransaction, VoidTransaction)If platform is system of record and there are no further processing of the transaction to other systems, this requirement may be waived as the expectation is that this system will record all transactions to AvaTax.
Disable AvaTax OptionRequiredThe user must have an option to turn on or off the AvaTax Calculation service independent of any other Avalara product or service.
Enable client side loggingRequiredEnables 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.
Display prices with Tax IncludedSuggestedEnable the tax inclusive flag in the tax calculation request.
User Implementation GuideRequiredThe 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 ImplementedRequiredAn Address Validation utility is present in the application. This does not need to be Avalara’s Address Validation solution. Any validation solution available to the merchant will meet this requirement.

Customer Record Integration

NameTypeDescriptionComments
Customer CodeRequiredThis is the customer identifier from the source system being sent within the request.
Entity/Use CodeRequiredThis 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.
Ship-To Address ExemptionSuggestedAbility to individually identify customer, ship-to locations as Exempt, separate from the customers default address.

Items/Charge Integration

NameTypeDescriptionComments
Item CodeRequiredThis is the product/service/SKU identifier from the source system being sent within the request.
Item DescriptionRequiredIdentify item/service/charge description to pass to the AvaTax service with a human-readable description or item name.
AvaTax Tax Code mapping - Item CodeRequiredAssociation of an item or item category to an AvaTax Tax Code to describe the taxability.
Tax Code LookupRequiredPull in and surface Avalara Tax Codes within application. The ListTaxCodes endpoint should be used.
Non-Standard ItemsRequiredAssociation of Freight/Shipping and/or Handling charge to an AvaTax Tax Code to describe the taxability.

Sales/Billing Documentation Integration

NameTypeDescriptionComments
Document CodeRequiredValues that can come across to AvaTax as the code
Customer CodeRequiredValues that can come across to AvaTax as the customerCode
Document DateRequiredValue comes across to AvaTax as the docDate
Header Level - Destination AddressRequiredValue that is sent to AvaTax for Destination Address at the header level
Header Level - Origin AddressRequiredValue that is sent to AvaTax for Origin Address at the header level
Header Level - Point of Order AcceptanceConditionalValue that is sent to AvaTax for PoA at the header levelRequired if Point of Order Acceptance address can be managed at the header level within the source application
Header Level - Point of Order OriginConditionalValue 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 CodeRequiredThis is the location/store identifier from the source system being sent within the request.If the application supports multiple locations that can generate an invoice then the location identifier needs to be passed within the request.
Line NumberRequiredValue that is sent to AvaTax for the line number
Item CodeRequiredValue that is sent to AvaTax for the itemCode
Item DescriptionRequiredValue that is sent to AvaTax for the item description
QuantityRequiredValue that is sent to AvaTax for the quantity
Amount (extended)RequiredValue that is sent to AvaTax for the amount
Tax CodeRequiredValue that is sent to AvaTax for the Tax Code
Line Level - Destination AddressConditionalValue 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 AddressConditionalValue 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 AcceptanceConditionalValue that is sent to AvaTax for PoA at the line levelRequired if Point of Order Acceptance address can be managed at the item line level
Line Level - Point of Order OriginConditionalValue 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 transactionRequiredConfirm 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 separatelyRequiredFreight items must be sent to AvaTax as a separate line item with a configurable tax code
Tax Calculation - Sales Order/Sales InvoicesRequiredEnsure that invoices are processed through a logical document lifecycleWhat is the triggering event for a salesOrder and when it becomes a salesInvoice.
Transaction Posting/CommittingRequiredEnsure that invoices are committed/posted for reporting appropriatelyWhen does the salesInvoice become commit=true
Transaction Cancelation/VoidingConditionalWhen invoices are deleted/canceled, this information must be transmitted to AvaTaxIf the source application supports void/delete, then the corresponding transaction on AvaTax must be updated with the current transaction status
DiscountsRequiredStandard discounts included in line-level extended amount, manufacturer’s coupons and hostess credits transmitted as additional line items
Purchase Order NumberSuggestedValue sent to AvaTax as the purchaseOrderNo
Document Level - Entity Use CodeRequiredValue sent to AvaTax for the entityUseCode at the document level
Latitude/Longitude SupportSuggestedIf 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

NameTypeDescriptionComments
Pass integration information via the X-Avalara-ClientRequiredIntegrations must include information such as name, version, and company name, and its unique identifier (assigned by Avalara) as a signature to each API request.Client Header Example
Consume and display error messages from API responseRequiredErrors must be logged/displayed appropriately to the application.
Reasonable ratio of tax calculation and address validation calls to committed documentsRequiredIn a normal workflow, we expect to see the minimum requests required to facilitate the transaction workflow. In a straight-forward order entry process, the number of calls should be about three to five.
Demonstrate and document installation of software or enablement of integrationRequiredCustomers should have an easy and trouble free installation of the software or enablement of integration.

Advanced Features

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.

Refunds

NameTypeDescriptionComments
Transaction Posting/Committing - Credit MemosRequiredEnsure that refunds are committed/posted for reporting appropriately. More information about handling refunds
Send original invoice date as tax calculation date for return orders/credit memosRequiredProcess refunds using the tax override: tax date method. More information about handling refunds
Send current transaction date as document date for return orders/credit memosRequiredTo report the return in the period in which it was processed, provide the date the refund was processed as the docDate value sent to AvaTax. More information about handling refunds
Send negative amount and positive quantityRequiredReturnInvoice transactions need to specify that the amount is a negative value and that the quantity is a positive value.
Support Tax Only AdjustmentsSuggestedMore information about handling refunds
Tax Override / Tax AmountSuggestedProcess refunds using the tax override: tax amount method

POS

NameTypeDescriptionComments
Use singleLocation or the same address for ship-to and ship-fromRequiredEnsure that transaction addresses use singleLocation or the same address for both the ship-to and ship-from address. The address must also reflect a POS location.Cash and carry sales
Reporting location codeRequiredThis is the location/store identifier from the source system being sent within the request.

Certification badge requirements. View on Avalara.