SOAP or REST?

Where to start

Avalara provides multiple versions of the AvaTax API. We originally built AvaTax using SOAP in 2004, and it’s stood the test of time, with thousands of customers using it every day. In 2016, Avalara chose to build a completely new REST API that works off the same code and data while also including modern standards. We implemented the OpenAPI specification (also known as Swagger) throughout the API, and we chose to adopt Microsoft’s REST guidelines to make our service immediately familiar to users of the standard.

If you’re starting a new project today, we encourage you to use REST. Our developer documentation for REST is world-class, and we’ve written the AvaTax Developer Guide to help you learn the ins and outs of AvaTax. If you wrote legacy software using our SOAP API, these integrations will continue to function but will be unable to utilize any new functionality.

Here’s a comparison of the two AvaTax APIs:

Feature In AvaTax SOAP In AvaTax REST
Robustness World-leading API for tax services since 2004, in use by thousands of customers World-leading API for tax services since 2016, in use by thousands of customers
Data Formatting XML conforming to WSDL JSON conforming to the Microsoft REST Guidelines
Language Support Support for SOAP is very limited in modern languages. Virtually all modern languages include support JSON objects natively, or through open source libraries.
Documentation Hand-written documentation in Avalara developer website. Detailed, comprehensive API reference and a full 11-chapter AvaTax Developer Guide available online
Software Development Kits Legacy AvaTax SOAP software development kits are available. Updates are infrequent. AvaTax REST Software Development Kits are updated monthly and available for download via your favorite package manager.
Functionality TaxSvc, AddressSvc, BatchSvc, and legacy AvaCert2Svc functionality supported; each has a separate API Full Tax, Address, Batch, Certificates, Definitions, Free Tax Rates, Onboarding, and more - all in a single API!

The good news: You don’t have to pick between REST and SOAP. Both APIs use the same world-class tax calculation software and both work using the same credentials and using the same data storage. You can keep existing code for as long as you want and extend your code by using new APIs whenever you need them.

Feature Examples

Here’s a quick look at a few critical features and how they compare between REST and SOAP:

Service In AvaTax SOAP In AvaTax REST
Address validation ValidateAddress ResolveAddress
Tax calculation GetTax CreateTransaction
Voiding documents CancelTax VoidTransaction
Committing a document PostTax CommitTransaction
Retrieve document history GetTaxHistory AuditTransaction
Modify committed transaction records AdjustTax AdjustTransaction
Invite customer to upload exemption certificates AvaCert2Svc - CertificateRequestInitiate CreateCertExpressInvitation
Preview Exemption Certificate Image AvaCert2Svc - CertificateImageGet DownloadCertificateImage
Check if customer is exempt Not Available ListValidCertificatesForCustomer
Free Tax Rates by Postal Code Not Available TaxRatesByPostalCode
Offline Tax Content API Not Available BuildTaxContentFile

Free to Choose

We hope this information helps you decide which API is right for you. You are welcome to use the SOAP API, the REST API, or both! However keep in mind that only the REST API is being activly developed. Legacy AvaTax SOAP software development kits are available, but updates are infrequent.

If you have feedback or comments, please reach out to us at https://community.avalara.com/avalara