Avalara Developer Network Developer blog

howto Posts

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.

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...

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...

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,...

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...

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...

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 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...

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...

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....

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,...

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...