When you run tests (automatically or manually), take care to call the AvaTax service only when needed. We don't have a way of distinguishing between test calls and actual live calculations (since they all return real tax calculations from us), so they are all included in the calculation of your billable transactions. In tests where a live tax calculation is required (for example, to check if the service is available or if your credentials are correct), there is no replacement for an actual call to the API. For the majority of cases, however, we recommend that you stub out the AvaTax API calls. This will save you on both the time it takes to run your unit and integration tests (and non-tax functional tests), and the number of transactions you consume.
Depending on the scope of your Avalara AvaTax Sales Tax API integration and your business practice, your exact test cases may vary: if you're building a custom connector that will just be used for a single client, you might not need to manage credentials through a UI. For development partners building connectors, however, these features become essential. The following is a full list of the features we look for in an integration.
Use Case | Expected Outcome | Documentation |
---|---|---|
Pull up the AvaTax Administration panel/page in your application |
Administrative user should be able to view/modify:
|
Logins and Resources Utility and Configuration Screen (Video) |
Look at the touch points in your customer record |
You should be able to identify:
|
Customer Record (Video) |
Look at the touch points in your item record (inventory maintenance) |
You should be able to identify:
|
Item Record (Video) |
Run a test transaction with more than one line, where each line has more than one quantity. |
|
Transaction Lifecycle (Video) |
Process a transaction for a tax exempt customer | The transaction should be recorded in AvaTax with the identified tax exemption indicator |
Handling Tax Exempt Customers Exempt Customer (Video) |
Process a partial return (for a taxable customer, and then a tax exempt customer), and then another partial return associated with the same order/invoice. |
The return should be recorded on the AvaTax Website with the following:
|
Product Returns |
Take a transaction through the entire document lifecycle of an order/invoice etc. | The transaction should follow the lifecycle logically in the AvaTax Website, ending with a committed transaction. |
Sample Workflows Transaction Lifecycle (Video) |
Take a return through its entire document lifecycle. | The transaction should follow the lifecycle logically in the AvaTax Website, ending with a committed return transaction. | Sample Workflows |
If applicable, void/delete a transaction (if possible, both an invoice and a credit) in your application | The transaction record in AvaTax should reflect a "Voided" document status. |
Cancel Transactions Voided Invoice (Video) |
Sales tax calculation can create a number of different interesting edge cases. Make sure your connector's calculation agrees with a calculation on the AvaTax Website for the following use cases: