AvaTax API 17.5 Patch Notes
- Apr 25, 2017 | Ted Spence
This article is about the May 2017 monthly update to the AvaTax REST v2 API.
API Updates: New Tax Types
As part of our ongoing expansion, we are proud to announce the introduction of Tax Type Groups. This new feature allows the AvaTax API to support new tax types and to correctly distinguish between different tax domains that have different rules. Our first expansion includes information about a variety of tax domains including VAT input and output, excise, lodging, and bottle tax.
During the rollout period, Avalara will be working with key partners to introduce the new functionality gradually. If you are interested in making use of these new tax types, please inform your customer account manager.
New API: Create or Adjust transaction
If you attempt to create two identical transactions with the same code, AvaTax will report an error and prevent you from creating the same transaction twice. The new CreateOrAdjust API call simplifies the process: it will either create the transaction if it does not yet exist, or adjust the transaction if it already exists. Using this API you don’t need to check in advance if a transaction has already been recorded.
Please note, however, that if a transaction has already been reported to a taxing authority, it is considered locked and the CreateOrAdjust API call will still return an error. Transactions that have been reported to a tax authority can no longer be adjusted, cancelled, or deleted due to audit maintenance laws.
New API: Add / Remove transaction lines
For accounting systems that create a SalesInvoice transaction during a customer’s shopping cart experience, it can be necessary to add or remove lines from a tax transaction. Doing this manually can be complex and time consuming; which is why AvaTax now has an AddLine and RemoveLine API to modify an existing transaction.
Please note, however, that if a transaction has already been reported to a taxing authority, it is considered locked and the AddLine / RemoveLine API calls will still return an error. Transactions that have been reported to a tax authority can no longer be adjusted, cancelled, or deleted due to audit maintenance laws.
New API: Account and Company configuration
Connector developers often need a way to store information about a company or account in a way that can be shared across multiple devices conveniently. For example, if a company has a retail point-of-sale system with a few dozen registers, each register may need to fetch configuration information each day upon startup.
AvaTax now introduces Account Configuration and Company Configuration APIs which allow you to store and retrieve metadata about a company or account. This API allows you to view or modify AvaTax settings such as address and tax configuration properties. In addition, you can define your own configuration categories by using values beginning with the prefix X-. For example, if your connector allows a customer to choose between a date-based document code or a GUID-based document code, you can save that preference using the configuration API, and whenever your connector starts up you can fetch the latest data.
Previously, when using temporary transaction types like SalesOrder, ReturnOrder, or PurchaseOrder, only some information in your request would be returned in the result since the document type was assumed to be a temporary type that did not need to return all information to the caller. In REST 17.5, more information will be returned to the caller to increase consistency in behavior between temporary document types and permanent document types.
Additionally, for consistency between the legacy SOAP API and the new REST API, temporary transactions will have their ID numbers zeroed out. In REST 2.17.4, the ID numbers were returned as -1.
These changes affect temporary document types only. Temporary document types are still not saved in the database; if you would like to fetch documents back, please use the permanent document types such as SalesInvoice or ReturnInvoice or PurchaseInvoice.
Free Trial now includes Landed Cost
The AvaTax 30-day free trial now includes Landed Cost functionality. Try it out now! For more information about how to use Landed Cost to handle importing products across borders, please see the blog series:
Returns API Improvements
Many improvements to the Returns APIs, including:
- Add CollectAmount to filings data
- Improved behavior of effective date and expiration date handling for filing calendar requests
- Marked correct FilingId for adjustments/augmentations
- LoginVerifiers functionality now supports both legacy return names and new tax form codes
Other Bugfixes and Improvements
- Performance improvements throughout AvaTax REST
- SalesOrder transaction types now return more data, for consistency with SalesInvoice transaction types
- Improved swagger documentation for enum variables and other parameters
- A custom tax code cannot be deleted if it is in use by other tax rules
- Fixed a bug that could allow a user to set two different companies as default
- Swagger UI will not fail to load if a dependent service is unavailable
- The field IsPhysical is now correctly labeled as a read-only field in the TaxCode API
- Fixed unhandled exceptions in rare edge cases for the Nexus, AdjustTransaction, and CreateLocation APIs