Avalara Developer Network Developer blog

avatax Posts

October API Developer Events in Seattle

The Avalara Developer Relations Team is excited to announce it will have a presence at two upcoming events in the local developer community. Ted Spence, Director of the AvaTax API Team, will make a short presentation on the effectiveness of cached data in a SaaS platform at New Tech Northwest’s next Seattle event, which takes place from 5:30 p.m. to 8 p.m. PT on Oct. 2 at ThinkSpace, located at 1700 Westlake Ave. N., Suite 200 in Seattle. Ted will also give an in-depth presentation on how he and the AvaTax API Team created the documentation for Avalara’s sales tax...

How to Calculate E-Waste Tax in California

In this post, we will demonstrate how to calculate e-waste tax in California. First, we need to understand unit-based rates and their implementation. Many tax rates and tariffs are ad valorem, which means tax is calculated based on the monetary value of the goods sold or shipped. Rates can also be unit-based. Unit-based rates depend on how much of an item is sold or shipped, for example volume, mass, size, or quantity. Unit-based rates apply to many goods such as sugar, e-waste and recycling fees for electronics, lodging, and bottles. These rates have a unit of measurement and quantity. Throughout...

AvaTax API 18.9 Patch Notes

This article is about the September 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-09-11 Production https://rest.avatax.com 2018-09-25 Sandbox Testing Window The AvaTax release schedule includes a preview period where the latest software is available for integration testing in the AvaTax Sandbox Environment two weeks before launching to production. If your engineering team would like a sandbox account for integration testing purposes, please contact your account manager or open a support ticket. Pagination Improvements The AvaTax API presents a standard method for pagination using the pattern set out in the Microsoft REST API Guidelines. This...

AvaTax API 18.8 Patch Notes

This article is about the August 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-08-15 Production https://rest.avatax.com 2018-08-29 Sandbox Testing Window The AvaTax release schedule includes a preview period where the latest software is available for integration testing in the AvaTax Sandbox Environment two weeks before launching to production. If your engineering team would like a sandbox account for integration testing purposes, please contact your account manager or open a support ticket. API Documentation Updates Avalara has updated to the latest revision of Swagger / OpenAPI. For customers who make use of our automated swagger...

AvaTax API 18.7 Patch Notes

This article is about the July 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-07-11 Production https://rest.avatax.com 2018-07-25 Sandbox Testing Window The AvaTax release schedule includes a preview period where the latest software is available for integration testing in the AvaTax Sandbox Environment two weeks before launching to production. If your engineering team would like a sandbox account for integration testing purposes, please contact your account manager or open a support ticket. API Usage Logs Starting with the July 2018 release, the AvaTax REST API will capture and make available logs with information about your...

AvaTax API 18.6 Patch Notes

This article is about the June 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-06-12 Production https://rest.avatax.com 2018-06-26 Weekly Office Hours Webinar Want to discuss these patch notes with the developers who wrote them? The AvaTax API team hosts a weekly developer webinar where you can meet and talk to developers. If you would like to ask questions about this release, please sign up and join us for a lively discussion of the AvaTax API. Sandbox Testing Window The AvaTax release schedule includes a preview period where the latest software is available for integration testing...

Nexus

VIDEO: Nexus In an earlier video, we covered how your organization’s tax profile is determined. Now, let’s explore the concept of nexus. What exactly is nexus, you may ask? Nexus is most simply defined as the areas where your organization is required to collect sales tax. To better understand this core tax concept, watch the video above. We guarantee you’ll be a nexus expert in no time!

What's My Tax Profile?

VIDEO: What’s My Tax Profile? Before using the AvaTax API, there are a few basic sales tax principles you need to understand. First and foremost is your organization’s tax profile, which is comprised of three key components: Where your organization is required to collect sales tax, a principle known as nexus The customers your organization exempts from sales tax The specific tax rates for the products and services your organization sells Watch the short video above to get a quick, basic understanding of how your organization’s tax profile is determined.

Sales Tax Got You Down? Avalara’s API Is the Answer.

Sales tax is complex and getting more complex. For example - when is a bagel taxable or tax-free? What is the threshold for taxing clothing and in what jurisdictions is it subject to tax? How do you keep up with all the changes occurring to sales tax laws? What’s the best way to handle that complexity and save your organization from expensive and damaging tax audits? Our answer? The Avalara API. The API provides comprehensive tax coverage, fast performance, strong developer support and is highly customizable. To learn more about why you should use a sales tax API, download our...

How to Validate Addresses

Calculating sales tax? Ditch the ZIPs and get rooftop-level accuracy with Avalara’s API! Valid addresses are a critical component of accurate tax calculation. I know what you’re thinking – I have the ZIP code, isn’t that enough? Not really. Why? ZIP codes are generally too broad for tax determination because zones are set at the federal level for mail delivery. State and local tax authorities often use other criteria for bounding their tax jurisdictions, such as a special stadium or restaurant tax district. So, what’s the best way to ensure your organization has up-to-date, roof-top accurate addresses? An API. The...

How to Get Tax

Boots, belts and bagels — which ones are tax-free? Here’s how to find out using Avalara’s sales tax API! You need to calculate sales tax, but it’s complicated stuff. In Indiana, marshmallows are taxed but marshmallow cream is not. In Texas, boots, belts, and hats are tax-free, but belt buckles are taxed. And in New York, bagels are tax-free, unless, of course, they are sliced. Oh, but it gets worse. Adding to the already insane complexity, the same address can be subject to multiple tax jurisdictions with different rates for different items in your shipment. Calculating sales tax accurately is...

AvaTax API 18.5 Patch Notes

This article is about the May 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-05-15 Production https://rest.avatax.com 2018-05-29 Weekly Office Hours Webinar The AvaTax API team hosts a weekly developer webinar where you can meet and talk to the developers directly. If you would like to ask questions about this release, please sign up and join us for a lively discussion of the AvaTax API. Sandbox Testing Window The AvaTax release schedule includes a preview period where the latest software is available for integration testing in the AvaTax Sandbox Environment two weeks before launching to...

AvaTax Python SDK now available!

blog preview image

Python is said to be the “fastest-growing” programming language, and it is constantly growing in areas such as machine learning and data analysis. For those Avalara REST V2 customers using Python, we have published an official AvaTax SDK on PyPI, the official platform for open source Python project! This SDK is already configured with all the code and logic you need to get started incorporating tax calculation into your application, and it can greatly speed up your development cycle. For today’s article, I’ll walk you through the process of adding our Python SDK to your python project. Installing the SDK...

Florida Split Tax Feature for Discretionary SurTax

Struggling with the Florida Discretionary Sales Tax over your multiple invoices? AvaTax can help! We all know tax is complicated, but when you add in the Florida Discretionary Sales Surtax, it becomes even more complex. Add in needing to have this surtax split over multiple invoices and you’ve got a real headache on your hands. Let us help you with that! With AvaTax Florida Split Tax Feature, you can utilize the purchaseOrderNo field to accomplish this. To make this work you will need to import a set of custom rules into your account that allows this logic to work. If...

When to use batches

Process transactions in bulk - is it right for your organization? Avalara offers two options for processing your organization’s transactions – one at a time through the CreateTransaction end point or in bulk through the CreateBatches end point. Which option is the best fit for your organization? Let’s talk about what each of them and what they mean! CreateBatches End Point When you use the CreateBatches end point you can send us one large file of transations for our tax engine to process for you. While this will not give you real time tax information on your invoices, this will...

AvaTax API 18.4 Patch Notes

This article is about the April 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-04-16 (revised) Production https://rest.avatax.com 2018-04-25 UPDATED 2018-04-12: The sandbox release date has been adjusted to April 16, 2018. Patch Notes Webinar The AvaTax April release will launch to the Sandbox environment two weeks before production. If your engineering team would like a sandbox account for testing purposes, please contact your account manager or open a support ticket. The AvaTax API team hosts a weekly developer webinar where you can meet and talk to the developers directly. If you would like to...

How to Calculate Customs Duties in REST

We are excited about our updated customs duty calculation functionality in REST. If you previously used the customs duty calculator in REST, your requests will still work. If you are just starting out or would like to make use of the full functionality of CrossBorder in REST, this post is for you. What Are We Shipping? For every product you ship across a country border, you first need to know the Harmonized System Code (HS code). While many codes may look alike, the HS code is specific to the destination country and the type of item. You can learn about...

HS Code Search in REST

How Do I Know Which HS Code to Use? In this post, we will discuss how customers can use our REST API to find the appropriate Harmonized System (HS) Code for items shipped across country borders. For this example, we will search for knitted scarves shipped to Spain. Let’s walk through the process of browsing and searching for HS Codes using the new REST CrossBorder endpoints. Wait, What Are HS Codes? The Harmonized System is an internationally standardized system of names and numbers to classify physical, traded products. HS Codes are a hierarchically organized taxonomy of product types, based on...

AvaTax C# SDK Upgrade 18.2.1.168

Avalara was advised of an issue affecting some users of the AvaTax C# SDK. In some environments, the C# SDK submitted HTTP verbs in lowercase, which is not always permitted by firewall and router rules. Avalara is publishing a revision of the C# SDK 18.2.1.168 to correct this issue. We advise all customers using the C# SDK to upgrade to the latest revision. Does This Affect Me? Customers known to be affected are running the combination of: Visual Studio 2017 on Mac OS X with AvaTax C# SDK 18.2.0.167 or earlier Our testing team has evaluated this issue, and will...

AvaTax API 18.3 Patch Notes

This article is about the March 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-03-14 Production https://rest.avatax.com 2018-03-28 Patch Notes Webinar The AvaTax March release will provide a two-week period where the March release of AvaTax will be available for integration testing into the Sandbox environment. If your engineering team would like a sandbox account for testing purposes, please contact your account manager or open a support ticket. The AvaTax API team will host a developer webinar to discuss the March release on Monday, March 19th, 2018, at 10:00 AM Pacific time. If you would...

The CRUSH DC Business Case

If you’re a developer working on building tax compliance solutions, then we hope you’ll consider coming to CRUSH DC, the premier event for transaction tax professionals. The event is from May 9-11 in Washington, D.C. We have an entire developer track with sessions covering everything from the basics of calculating tax using AvaTax to building connectors for enterprise-level organizations. Not only that, we’ll have tech demos, learning labs, knowledge sharing from experts and fellow partners, and plenty of networking. Of course, we realize booking a trip for a three-day event is a big commitment of time and resources, so the...

AvaTax API 18.2 Patch Notes

This article is about the February 2018 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-02-12 Production https://rest.avatax.com 2018-02-26 Release Schedule Extended Each month, Avalara publishes the latest release of AvaTax to the Sandbox environment first so that customers who wish to test the new release can spend time running regression tests against AvaTax. In response to customer feedback, we are extending the length of time to a minimum of two weeks in sandbox prior to the production deployment window. This month’s release will deploy to sandbox on Monday, February 12th, and be available for testing...

Negative Transactions

This week I returned a doormat to Costco. I love Costco’s return policies; I was able to buy a mat to try it out, and when we discovered it wasn’t a good fit for our garage I was able to return it and buy one that was a better fit. In the world of sales, refunds are a natural thing - so how do we represent them? Defining the Two Parties In virtually all tax laws, a transaction involves exactly two parties: a buyer and a seller. However, the AvaTax API can’t just use the words “buyer” and “seller” because...

Office Hours with AvaTax

Avalara’s crack team of engineers receives dozens of questions every week from developers using our APIs, SDKs and documentation, and we want to answer as many as we can. To that end, we’re excited to announce a new weekly, 30-minute series of webinars that we’re calling Office Hours with AvaTax. Here’s how it will work: Every Tuesday, we’ll spend the first 15 minutes of the webinar covering a specific topic such as reconciling tax transactions, how to find specific tax code information in AvaTax and the like. Then, the last 15 minutes will be reserved as an open Q&A format....

AvaTax API 18.1 Patch Notes

This article is about the January 2018 monthly update to the AvaTax API. UPDATED 2018-01-12 - More information about importer of record added. UPDATED 2018-01-23 - Updated release date. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2018-01-17 Production https://rest.avatax.com 2018-01-29 (UPDATED) Changes in Cross-Border Customs and Duty Taxes Avalara is updating the Landed Cost tax calculation engine with new features and capabilities. Among the changes are key features including: Ability to designate seller/importer of record on a country-by-country configuration basis Each custom or duty tax contains information about whether it may be charged to the buyer New definitions API for browsing...

Reconciling Transactions

Your host system integration is successfully recording and committing transactions in AvaTax - but what about your audit requirement to ensure all the data in AvaTax matches the host system exactly? You don’t have to run Excel mashup reports anymore - AvaTax offers a variety of ways to reconcile your transactions and spot discrepancies in an automated fashion. Listing Transactions via the API The first place to start is the ListTransactionsByCompany API call in the AvaTax REST namespace. With this API call, you are able to retrieve all the recorded data in AvaTax and compare with posted host system data...

Office Hours with AvaTax

Avalara’s crack team of engineers receives dozens of questions every week from developers using our APIs, SDKs and documentation, and we want to answer as many as we can. To that end, we’re excited to announce a new twice-weekly, 30-minute series of webinars that we’re calling Office Hours with AvaTax. This is your opportunity to ask our expert team of engineers and developers any questions that may be top of your mind about the AvaTax platform in an open Q&A format. The new Office Hours with AvaTax series kicks off at 10 a.m. PT on Tuesday, Jan. 2 and at...

Developer Track at CRUSH 2018 Conference

Need to build fast, easy tax compliance solutions? Come to CRUSH DC 2018 and find out how! Are you a developer looking to build solutions that make tax compliance fast, easy and, most important of all, accurate? Are you already connected to Avalara’s AvaTax platform and looking to get the scoop on the latest features and capabilities it has to offer? If so, then be sure to sign up for CRUSH DC 2018, Avalara’s annual conference for all things tax compliance. This year’s event, which will be held from May 9-11 in Washington, D.C., will feature a robust developer-focused track...

AvaTax API 17.12 Patch Notes

This article is about the December 2017 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-12-11 Production https://rest.avatax.com 2017-12-14 Performance Tuning During the months since the 17.9 Patch Notes, our team has been hard at work tuning the performance of AvaTax for the once-a-year sales events that happen in November. Here’s a summary of the improvements that have been made since the September release: Reduced the impact of calling the GetTransactionByCode API and GetTransactionByTypeAndCode API. This change improved performance for customers whose products used a mix of calls to these APIs alongside creating new transactions. Eliminated...

AvaTax Developer Guide

If including tax calculation and remittance capabilities into your application has been daunting, tiresome, and therefore easy to put on the back burner, we understand. Your users need these capabilities to keep the tax auditors at bay, but you don’t have time to wade through pages of documentation to try to understand the complexities of sales and use tax. We want to help you deliver that huge operational efficiency and tax protection to your users quickly and easily. Introducing the AvaTax Developer Guide. We’ve condensed and simplified our documentation into a fun-to-read chapter format to help you successfully build your...

AvaTax API 17.9 Patch Notes

This article is about the September 2017 monthly update to the AvaTax API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-09-26 Production https://rest.avatax.com 2017-09-28 License Key Authentication Update Avalara customers are requested to read the Avalara terms and conditions by visiting the AvaTax website for production or the AvaTax website for Sandbox. The AccountResetLicenseKey API will now return an AccountInNewStatusException error if your account has not yet been activated by reading terms and conditions on the AvaTax website. Please note that resetting your license key will invalidate all previous license keys for your account. AvaTax will send an email to all...

AvaTax API 17.8 Patch Notes

This article is about the August 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-09-06 Production https://rest.avatax.com 2017-09-07 Exemption Certificates in AvaTax The August release of AvaTax will include a major improvement - exemption certificate functionality is now fully built into AvaTax! Developers are now free to create customers, record exemption certificates, download preview images, present customers with a custom web-based certificate data entry page, and check a customer’s exemption status before processing a transaction. This functionality takes up too much space to cover in the patch notes - please be on the...

AvaTax API 17.7 Patch Notes

This article is about the July 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-07-31 Production https://rest.avatax.com 2017-08-02 UPDATE 2017-07-31 - An additional feature was added to this release and the date was adjusted to 2017-08-02. New "SummaryOnly" Option for CreateTransaction The CreateTransaction API returns all tax and metadata about a transaction - which can be daunting when you only want to put the correct tax amount on a receipt. In order to help customers manage a smaller data set, we have introduced a new option: $include=SummaryOnly. When you add this new option...

New Developer API Reference

As part of our commitment to the Open API initiative, Avalara’s development team knows that the quality of the documentation we use matters. Our customers rely on us to make tax simple: our documentation can help you to learn how to properly design your software so you can charge the correct amount of tax every time. That’s why Avalara spends so much time updating our developer documentation, and why we’ve introduced a new layout to our API reference pages. Single Page Per Method Our new site layout features one web page for each API method in our documentation. This makes...

AvaTax API 17.6 Patch Notes

This article is about the June 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-06-22 Production https://rest.avatax.com 2017-06-27 New Tax Type Supported: Telecommunications Taxes Avalara is proud to announce the preview release of integrated telecommunications tax calculation for customers using AvaTax. The telecommunications tax domain handles a wide variety of taxes and fees for customers selling phones, conference calling services, internet access, and many other product and service types. Customers interested in developing communications tax connectors or working with Avalara for communications tax calculation should contact their customer account manager for more details....

How to Handle Freight & Handling Charges

Wait, I need to include a shipping charge in my transaction? Often relegated to a single notation on an invoice, shipping and handling charges play an important role in the tax calculation of a document. So, how should you include the shipping/handling charge in a tax request? The answer may surprise you, shipping/handling is treated just like any other line item on an invoice. I thought shipping charges were exempt from tax? The taxability of freight/shipping will vary from jurisdiction to jurisdiction. Additionally, how you ship will also impact the taxability. Shipping your goods via common carrier (UPS, USPS or...

Troubleshooting Connectivity Problems

Getting started with any new piece of software can take a bit of time. AvaTax is in use today by tens of thousands of customers processing billions of transactions per year – but they all had to start first by connecting to the software. For today’s article, let’s look at the common challenges you can face when first getting started. Can I contact the AvaTax API servers? First, let’s get the correct URL for AvaTax and verify that we can contact it. AvaTax has four different servers available to choose from: Environment URL Notes Production - REST https://rest.avatax.com For live...

AvaTax API 17.5 Patch Notes

This article is about the May 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-05-02 Production https://rest.avatax.com 2017-05-08 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...

Performance Tuning with AvaTax

After more than a decade of offering the world-leading AvaTax software suite, we’ve learned a bit about providing high performance software for our thousands of customers worldwide. Our high performance API provides tax calculation answers faster than the blink of an eye - but we will always keep challenging ourselves to improve the AvaTax experience. We won’t rest until everyone can calculate tax effortlessly. For today’s article, let’s look at how we measure the performance of AvaTax and improve the response time of our software. Performance Measurement If we set out to measure the latency of an AvaTax API call,...

REST v2.17.4 Patch Notes

This article is about the April 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-04-03 Production https://rest.avatax.com 2017-04-06 Returns Features Improvements to the Returns functionality of REST v2 in this release: Updated field names for improved consistency New data field for summed remit amount per region Trigger calculate amounts anytime an adjustment or augmentation is saved Fixed bug when rebuilding worksheets on FQA due to data mismatches Fixed skyscraper error when calling with an unknown form or when calling a form with a null expected response time Cycle Safe APIs use the FilingFrequencyId...

CRUSH! Austin 2017

Interested in learning more about Avalara’s suite of tax products and services? Come join us at CRUSH AUSTIN 2017, the premier conference for transactional tax compliance automation. Here, you’ll find the people, the time and the intimate setting to explore these issues in depth, with the best-of-the-best in our industry. A Conference for Tax Professionals and Developers In my time at Avalara, I’ve developed a deep appreciation for the researchers, analysts, and professionals who make up our team. Tax is a complicated subject, and it takes a lot of effort to design a tax software suite that provides as much...

REST v2.17.3 Patch Notes

This article is about the March 2017 monthly update to the AvaTax REST v2 API. UPDATE 2017-03-13: Due to some requests for urgent updates, the release date for this patch has been accelerated to March 14th Sandbox and March 16th Production. The old dates were March 16th Sandbox and March 21st Production. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-03-14 (UPDATED) Production https://rest.avatax.com 2017-03-16 (UPDATED) Refund Transaction API A new API, POST /api/v2/companies/ABC/transactions/DEF/refund, allows you to create refunds for transactions quickly and easily. The Refund API allows you to quickly and easily reverse a SalesInvoice. You have the option of specifying...

Customer Exemption Handling

You’re all set to build an integration into AvaTax for your client when they bring up another facet of their business with you not previously mentioned: They need to properly calculate for the tax exempt clients as well. As luck would have it, there are various ways AvaTax on its own can handle exemptions, so look no further! Exempt vs. Non-taxable So, can you just mark certain transactions or line items non-taxable? Many of you may have already noticed that we have a way to consider the various line items of a transaction either taxable or non-taxable via our TaxCodes....

What's a DocStatusError?

So you’re using the AvaTax API, and you attempt to create a transaction just like usual - but this time, you get a new error message: DocStatusError. What does this error mean, and how should my code handle it? What's a Document Status? AvaTax checks the state of a transaction based on the code sent with a CreateTransaction request. As outlined in the previous blog posts Lifecycle of a Transaction and Type of Transactions, when you use a transaction type with a suffix of Invoice, AvaTax will record and save the transaction. It starts out in status saved. If you...

Free TaxRates API

Want to try out AvaTax before you buy? As of the February release, AvaTax now offers both a free TaxRates API and a free trial of AvaTax - both of which are available today in the AvaTax SDK! Free TaxRates Starting a small business? Want tax rates without all the hassle? Avalara now offers a free TaxRates API that is available for all addresses in the United States. This API is ready to use, requires no setup at all, and provides rates and boundaries based on the same advanced tax content that Avalara uses to provide its enterprise service, AvaTax....

REST v2.17.2 Patch Notes

This article is about the February 2017 monthly update to the AvaTax REST v2 API. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-02-23 Production https://rest.avatax.com 2017-02-27 Free Tax Rates! Avalara is pleased to announce the freely available REST v2 TaxRates API! The TaxRates API provides basic tax functionality for no cost. You also now have available an API that creates a free 30-day trial of AvaTax Professional. This free trial account comes with no obligations and allows you to experiment with a fully featured version of Avalara AvaTax. After 30 days, you may continue to use the free TaxRates API or...

The AvaTax Release Schedule

Many of you know that Avalara publishes updates to its world-leading AvaTax software suite for tax processing roughly once per month, but do you know how our process works? For today’s article, we’ll give you a brief description of how we create new features, notify our customers about our plans, and eventually launch our software to production. Monthly Release Cadence Our most important commitment to our customers and partners is that we provide a stable and useful API. Our customers expect that the API will grow over time and add awesome new features, but at the same time they know...

Lifecycle of a Transaction

The centerpiece of Avalara’s world-leading AvaTax service is the ‘Transaction’. A Transaction can reflect one of many different types of business documents, and it’s worth discussing how a transaction can change over time. Let’s begin by understanding how a “Sales” transaction is created, and how it can change over time. The Transaction State Diagram In AvaTax, a sales transaction is an exchange that occurs between two companies. Although other types of transactions exist that can be within a single company - for example, inventory transfer transactions - in today’s use case we will only examine transactions that occur between two...

Declaring Nexus in REST v2

One of the most frequent questions I am asked is “Where do I need to collect taxes?” The challenge of determining which jurisdictions you fall under is a complex one. In the United States, the rule that determines when your company has to obey a particular jurisdiction’s tax law is called ‘Nexus’, so AvaTax uses this word to refer to the overall concept of selecting jurisdictions where you are signed up to collect and remit taxes. Keep in mind, these rules have significant legal repercussions, and you should strongly consider getting legal or tax advice to ensure that your Nexus...

From REST v1 to REST v2

As Easy as v1, v2… Well, not exactly, but it’s definitely easy to switch from our REST v1 to our REST v2 and the benefits are huge. We’ve built a wide range of functionality into our new REST v2 API and all of that is in addition to everything our REST v1 had to offer. To highlight some of the changes let’s first run through the various methods of our v1 and show exactly how they’ve changed in the upgraded v2. Then we can dive into some of those additions and look at how they’re intended to help users file...

REST v2.17.1 Patch Notes

This article is about the January 2017 monthly update to the AvaTax REST v2 API. UPDATE 2017-01-18 - Due to testing on the Recordset Count issue for pagination described below, we have elected to remove the $include=count option and restore the previous recordset count behavior. All queries will receive correct recordset counts except for queries on the /api/v2/transactions endpoint. We have delayed the correct implementation of recordset count for the transactions table to the 2.17.2 release. As a result of this change, the release to Sandbox has been rescheduled for Jan 24th. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2017-01-24 Production...

Who Pays for Landed Cost?

Update March 22, 2018 - AvaTax REST has a new syntax for representing DDP. This post is retained for historical purposes and the information around DDP and DAP remains relevant. You may read about the new LandedCost integration at https://developer.avalara.com/blog/2018/03/13/calculate-customs-duties-in-rest/. With the release of the LandedCost calculator functionality, AvaTax now provides features to help you sell across country borders. LandedCost will calculate the customs duty for your cross-border shipments. However, using the calculator requires telling the API which party will be responsible for paying the customs duty & import taxes. Specific to B2C sales, calculating the landed cost depends on...

Address Validation in REST v2

In addition to calculating tax, the AvaTax suite of products can also help you produce a robust user experience for your customers. If your customer provides a partial or mistyped address, the Address Validation API can help determine the right address based on the partial information your customer provided. For today’s blog post, I will walk you through the Address Validation functionality built into AvaTax REST v2. Validate a Partial Address We’ll begin by using the ResolveAddress endpoint to validate an incomplete address. Let’s say your salesperson was on the phone with a customer, and they took down all the...

AvaTax.NET client library available on NuGet

blog preview image

For those Avalara customers using Microsoft’s DotNet languages, Avalara has published an official AvaTax client library on NuGet, the official repository for open source code in the DotNet world! This client library is already configured with all the code and logic you need to get started incorporating tax calculation into your application, and it can greatly speed up your development cycle. For today’s article, I’ll walk you through the process of adding AvaTax to your DotNet project using this simple new library. Create a New Project To begin, let’s create a fresh new program. I happen to be partial to...

Avatax Connector App

blog preview image

Using The REST API To Build a Connector Avalara’s new REST API v2 now offers a wide variety of functionality for integrating ERP systems with AvaTax. In the new REST API, you can now add companies, estimate tax on the fly, validate addresses, and more! For today’s article, we will focus on building a web application to showcase how to use the new REST API to build a connector. Core Functionality I am writing today’s example using Microsoft’s C# and MVC40 libraries to demonstrate the following features of AvaTax Basic Authentication Address Validation Generate Tax on an Invoice I will be using...

Point-of-Sale Data API

One of the most common questions we get from our point-of-sale customers is about the need to operate in a disconnected environment, while maintaining the same level of accuracy of a connected environment. Many businesses can face periods of intermittent internet connectivity, preventing live calls to our tax engine. Some businesses wish to operate entirely disconnected. In either scenario, businesses require the means to calculate tax locally. Today, we’ll walk through a new API launching in the AvaTax 2.16.12 release - an API that generates a tax content file that can be consumed by a merchant’s point-of-sale (POS) application, supporting...

REST v2.16.12 Patch Notes

This article is about the December 2016 monthly update to the AvaTax REST v2 API. UPDATED 2016-12-07 - The team added the definition of “Mixed” sourcing to the client library to address California sourcing scenarios prior to launch. Launch has been rescheduled for Tuesday, December 13th. Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2016-12-01 Production https://rest.avatax.com 2016-12-13 POST /api/v2/transactions/create The sourcing field on TransactionLineModel had a mismatch between its documentation and its return value. In release 2.16.11, the field was documented as a string, but its value was being returned as an integer. Many libraries would still successfully parse this value...

Types of Transactions

AvaTax is a full service engine for calculating transactional taxes, including sales, use, VAT, and many other tax types. In order to properly calculate taxes in these different circumstances, AvaTax must also support a wide variety of transaction types. In today’s article, I will walk you through the differences between these transactions and describe how to map them to your business processes. Orders vs Invoices Our customers require both the ability to estimate tax for a transaction, and to record the actual tax for that transaction. Many customers use AvaTax as a way to predict taxes before taking action -...

Geocoding in REST v2

The tax on your transactions is heavily dependent on where the transactions occur. In the US sales and use tax world, transactions are generally taxed based on either the “Origin” or “Destination” - but for most retail sales, these two addresses are almost always the same. When you visit your local grocery store, they charge you a single rate based on product type and the location of the store; but if you place an order online, the tax you pay will be influenced by a number of factors including the origin location of the warehouse and the destination address where...

Estimating Tax with REST v2

The AvaTax REST API provides lots of different levels of estimated tax values, and sometimes it may be hard to know the right way to estimate tax for your customers. For today’s blog article, I will be walking you through the different types of estimates that are available in AvaTax REST v2 and how they can help you. AvaTax is of course built on correctly identifying the exact tax amounts for an invoice; and to do this, we incorporate dozens of factors including the origin and destination address, dollar amounts, taxability rules, nexus declarations, registration rules, customer exemption certificates, and...

REST v2.16.11 Patch Notes

REST v2.16.11 Patch Notes AvaTax REST v2.16.11 has now adopted the naming system used by AvaTax SOAP (API version/year/month). Environment URL Release Date Sandbox https://sandbox-rest.avatax.com 2016-11-02 Production https://rest.avatax.com 2016-11-09 POST /api/v2/taxrates Corrected a bug that caused the TaxRates API to show duplicate rates. POST /api/v2/transactions/create New fields have been added to the API. These fields are optional and do not require changes to your existing code. Added new fields on the create transaction model: debugLevel (string, optional): If the user wishes to request additional debug information from this transaction, specify a level higher than 'normal'. Enum, possible values = ['Normal',...

Batched Transactions in REST v2

Uploading Batched Transactions One of the most common inquiries we get at Avalara is about the need to reconcile, or publish, a full list of a company’s transactions at the end of the month. Many businesses work by cash register day by day, and at the end of each month they produce a report listing all the transactions that they processed. Sometimes businesses will have one report for each location, or cash register, or salesperson; and they need a batch process they can use to upload all of these transactions into AvaTax for later reconciliation, or for filing tax returns....

REST v2.3.1 Patch Notes

REST v2.3.1 Patch Notes For those of you who participated in the AvaTax REST v2 Preview program, I’d like to take this opportunity to thank you for your time and effort helping us debug a huge software release. We’ve now implemented a clean, modern, consistent REST API that covers tax functionality from top to bottom - and we’ve established a great platform for continuing improvements. Now that the program is winding down, please take note of a few differences between the final release of REST v2 and the preview program you tested in August/September: New URL for REST v2 The...

LandedCost with REST v2

Updated March 22, 2018 - AvaTax REST has a new syntax for making LandedCost calculations. This post is retained for historical purposes. You may read about the new LandedCost integration at https://developer.avalara.com/blog/2018/03/22/calculate-customs-duties-in-rest/. Selling Cross-Border With the release of the LandedCost calculator functionality, AvaTax now provides features to help you sell across country borders. LandedCost will help you identify customs duty for various types of harmonized tariff codes. Once you’ve begun using AvaTax REST v2, you’ll have to make a few minor changes to begin using the LandedCost calculator. Here’s what you need to know. Harmonized Tariff Schedule (HTS) For every...

Filtering in AvaTax REST v2

I'm sure I left this somewhere... The REST API pattern is designed to make it easy to store and retrieve data. Every piece of data in REST is assigned a single unique URL - and you can always fetch that item back by retrieving its URL. It works a bit like this: Request POST /api/v2/companies { "name": "Bob's Artisan Pottery" } Result In the result headers, you’ll get back this response that tells you the URL of your newly created object: Location: /api/v2/companies/123 Then, when it’s time to fetch something back, you can retrieve it back using that location, and...

Getting Started with AvaTax REST v2

It's time to make taxing more relaxing! Over the next fifteen minutes, I’ll walk you through the process of using Avalara’s V2 REST API to implement a simple web-based eCommerce platform. We’ll show you how to request an account, set up a company, and process tax for that company. Everything we will do today can be fully scripted - so as soon as you’ve gone through this demo, you’ll be know everything you need to add transactional taxes to your platform. For today, we’ll set up the company “Bob’s Artisan Pottery”, an online store that sells mugs. As Bob McExample,...

A New REST v2 API For AvaTax

AvaTax at 12 Years of Age Avalara’s world-class tax API, originally launched in 2004, has by now helped thousands of businesses all across the world make great strides in automating tax compliance. We’ve processed billions of transactions and filed millions of tax returns using AvaTax technology since those tiny beginnings. The secret to Avalara’s success is constant innovation. The AvaTax API, connectors, and services you use today have been under continuous development since Avalara was founded. As AvaTax adds features, we’ve outgrown our original SOAP and XML implementation, and we’ve decided to deliver a new and fresh API to our...

Getting Started With Avalara's APIs

First Steps with Avalara APIs Not well versed in Computer Programming yet? Not a problem!- You can access the power of Avalara’s new AvaTax API in no time just like I did! Hello, as a fresh Intern within the Engineering team here at Avalara, I was given the great opportunity to attend a Demo on Avalara’s new REST API (being that I work on a different project this was all new to me). I nervously arrived on Bainbridge Island and found a seat in a room full of experienced Developers and Quality Assurance specialists already setting up to check out...