Avalara Developer Network Developer blog

older Posts

GetTax For Excel? Really?

Just because you can, doesn’t mean you should. At least, that’s what I first thought when I had heard that it was possible to make web requests in VBA. Then I thought about how many people use Excel for nearly all of their business needs. So of course, that lead me to a “What If” moment: What if Excel had a =GetTax() function? Of course, I hadn’t used (or debugged) VBA in years. I had completely forgotten there were more leisurely activities, like eating a box of wood screws. Nevertheless, my stubborness to finish what I started lead to this...

New Site!

Frequent visitors to the site may have noticed some big changes this week! With the resources of Avalara’s Incubator team, we’ve launched a brand new site that offers a number of great improvements. Jekyll. With the old site, we were managing site plugins and platform-specific integrations. This was slowing us down, and slowing down the site. The new site is based on a static page generator, Jekyll, which allows us to manage things more easily and to load pages faster. Open source all the docs: Jekyll runs off of a series of markdown files, which we’ve made public on GitHub....

Tax Rates Client Library for Node

The Avalara Developer Relations team is boldly going (cue music) into node.js. We released our first node.js helper library in August for the TaxRates.com API. This is our free and simple API for getting sales tax rates and authorities based on a street address or zip/postal code in the U.S. or Canada. The new node.js library makes it easy to integrate it into your node-based projects. You can find sample code in the readme of the TaxRates-node Github repository. You can also embed it in your node.js project: npm install avalara-taxrates. I cannot give a definitive statement on when our...

Performance Optimization of the AvaTax Core Calculation Platform

blog preview image

Over the past year we’ve invested in our core tax calculation engine, growing SAits features, expanding its reach, and making it faster and faster.  This has presented some amazing challenges, especially to materially speed up a service while its transactional load grows by 60% annually.  Simply keeping up with that level of growth can be a challenge.  So, how did we manage to more than triple the speed at which our current engine calculates and returns information while keeping it stable, growing, and expanding? The improvement can be clearly seen in our internal latency metrics for typical tax documents over...

AvaTax PHP SDK updated to v15.5.0.0

We’ve just recently updated our PHP library on Github. Release Notes: Match with the latest AvaTax WSDL v15.5.0.0. Added the following functions in AccountSvc, Ping IsAuthorized FetchCompany – It fetches all companies for given Account Number-License Key. Sample code & unit test cases have been updated & added You can download the SDK here : https://github.com/avadev/AvaTax-SOAP-PHP-SDK

Using our C# SOAP Libs with TLS 1.2

One of the fun parts of my job is getting to field developer support requests. Besides the joy of being able to solve a customer’s problem and make them happy, I often get to fire up a development environment I’m unfamiliar with and learn something myself. This past week, we had a question about getting Avalara’s C# SOAP library to use TLS 1.2. TL;DR If you just want the instructions with no story, visit the post on getting Avalara’s C# SOAP library to use TLS 1.2 The Story A developer was only able to get Avalara’s AvaTax SOAP library for...

New Terms and Conditions

Avalara just posted a new version of our AvaTax terms and conditions, effective January 1, 2016. New Ts and Cs are always an opportunity for some fun recreational reading, but these are especially exciting. From section 3.b.ii:  ii. If Customer does submit Documents to the AvaTax Service in a billing month, but usage of the AvaTax APIs or the number of invoice lines submitted significantly exceeds ordinary AvaTax usage in that month, the following calculations may be used to determine “Document” usage during that month: 1. Every 50 API calls to the address validation service will count as one “Document”; 2....

FinDEVr's Wacky World of Sales Tax Video

blog preview image

Looks like the guys from FinDEVr has published all the videos from the latest event in San Francisco on their website. Here’s the video recording of the presentation I gave at the event. http://finovate.com/findevr-live-avalara-helps-developers-navigate-the-wacky-world-of-sales-tax/ The Synopsis : Transactional Sales Tax is not the easiest thing for an organization to tackle. With millions of addresses, thousands of taxability rules and taxing jurisdictions involved, it can be a daunting task. We’ll take a whimsical look at some of the more interesting & bizarre sales tax cases, look at the technology that Avalara has built to solve this problem and take a deeper...

DefragCon and APIStrat 2015!

This week I had the great pleasure of talking at DefragCon 2015. I talked about the technological and political implications around using API descriptions to build a Developer Portal. This is something we’ve been working through here at Avalara - how to minimize the delay between updates to the service and updates to our site? How do we know that everything is correct forever with no manual work??? If this is something that interests you, reach out or take a look at my slides! If you’re going to be in Austin for APIStrat next week, I’ll be talking about this some...

FinDEVr & Integrate 2015 Presentations

How to Build a Successful API Certification Program - Integrate 2015 from Loke Tan A few weeks ago I had the honor of speaking at two developer conferences that were held in California. The first was Integrate 2015 which is also part of the API World series of events. My talk was titled “How to build a successful API Certification Program” and it details all the learnings and experience we’ve gone through building and operating our own Certification Program here at Avalara. The Wacky World of Sales Tax - FinDEVr 2015 from Loke Tan The second talk was at the...

Superset WSDL for Brazilian Calculation!

blog preview image

More SOAP! As we’ve moved to providing better and more precise international calculation, Avalara has found that our current API doesn’t capture everything we might need. We want to provide more precise calculations, but we also want our existing integrations to continue to seamlessly calculate. As such, we have launched a second version of the AvaTax WSDL. This version will play host to all of our Global functionality to prevent introducing breaking changes for customers who aren’t going to take advantage of that functionality. The v2 WSDL is available here: https://development.avalara.net/tax/taxsvcv2.wsdl The v2 WSDL is a superset of functionality in...

How is tax calculated?

blog preview image

When you look through the API documentation, you notice a bunch of required and ‘situationally required’ fields. What gives? What do we do with all that information anyway? Well, like the parfait dessert pictured, sales tax has many (colorful) layers. All of that information provided helps us to make an accurate (and precise!) determination on the calculation we return, in a number of ways. Let’s take a look at a hypothetical invoice. This is just the barebones required information, with our request on the left and response on the right. Note that if you’re following along in your test environment,...

Wacky Sales Tax Facts

blog preview image

Here’s fun food related sales-tax fact. Did you know that if you bought a bagel in New York,  you’re exempt from Sales Tax? but with one caveat, it’s not sliced so you’d have to do this yourself. I found out when I was in New York a couple of years ago and decided to stop by a bagel place before heading in for a political technology convention. The guy at the counter told me that he’d have to charge me more if I needed it “prepared” which seemed a little bizarre to me. Why would you serve an unprepared bagel if that’s...

Attitude Adjustment

Earlier today, I was talking to a colleague about some taxation reporting scenarios. Yes: this is the kind of thrilling stuff we talk about every day (and, for that matter, so could you)! “What should I do when the customer cancels some line items but not others on a committed document?” He asked. “Well, you should record an adjustment to net out the removed lines.” “How about if they don’t want to cancel them, the vendor just changes the line amounts after the invoice is committed?” “Yeesh! But that should probably just be two adjustment documents; a credit and a re-bill of the...

Migrating Your PHP Dev Environment to Windows 10

blog preview image

If you’ve been reading our blog, you might remember me posting about using our PHP samples for AvaTax with PHP and Windows. Once my personal machines were upgraded to Windows 10 (still waiting for corporate IT on the work machine), I decided to test the environment I’d previously set up on a Windows 7 machine. I used my backed-up installation of PHP 5.6.3, made sure I’d added the PHP directory location to my machine’s path, and ran the ping test. Went off without a hitch. To be honest, I didn’t expect anything different. But with a new OS upgrade, you...

Weekly Developer Open-House Chats

blog preview image

In the months of August & September, Our team will be hosting a weekly online open-house chat via Google Hangouts. We will be online for up to two hours and will be available to answer questions, provide guidance or simply just to chat. This chat is useful for anyone who is evaluating our services or have difficulties with building their integration. Here are the dates : August 19th Wednesday 11am-1pm PST : https://plus.google.com/u/0/b/105101594997521254473/events/cbqcpa5a3i1ltkivd9hsd6l89cg August 26th Wednesday 11am-1pm PST : https://plus.google.com/u/0/b/105101594997521254473/events/c27qcv1ljchnh5vo81jg1bqrlb4 September 2nd Wednesday 11am-1pm PST : https://plus.google.com/u/0/b/105101594997521254473/events/cknr7emsbk41e4mqj6m58bvrj74 September 9th Wednesday 11am-1pm PST : https://plus.google.com/u/0/b/105101594997521254473/events/cd82u5b8jede2gbcr2qg05ugcr0 Please join us if you have any technical questions with regards to APIs, building &...

Open Source Documentation

Since launching this developer site three years ago, we’ve made continued improvements to both the content and the site itself. One of the areas that has seen the most change is the API reference - it’s a tricky thing to present that much information in a way that is easily traversed, navigated, and searched, while still intentionally guiding the reader. There is still room for improvement, but we’ve had success with an open-source tool called Slate. Slate allows us to manage the API documentation in markdown and preview real-time changes with a local middleman server, making it easy to work...

WSDL Changes in AvaTax release 15.4

The next AvaTax release (15.4) scheduled for August 5th 2015 will include some minor WSDL changes to include a few additional parameters. We do not foresee any impact to your code but we wanted everyone to be aware of this change in case it might. Here are the details : AccountSvc WSDL has the following new attributes: HasPermanentEstablishment – A Boolean parameter IsSellerImporterOfRecord – A Boolean parameter TaxSvc WSDL has the following change IsSellerImporterOfRecord – A Boolean parameter Please do let us know if you have any questions or need any help with the changes in the WSDL. You can post your...

Wacky Sales Tax Facts

blog preview image

Did you know that most developers will tell you that Sales Tax can be determined by using zip code alone? They’re sorely mistaken as it takes more than just zip codes to determine accurate sales tax rates. My previous post illustrated that each jurisdiction can be determined by the local city or state officials depending on their own laws and needs. In my search to understand this concept, I came across the smallest Sales Tax Jurisdiction in the United States. As you can see, this jurisdiction covers only one building in the Hoisington City District and is sandwiched between the other jurisdictions....

Node Libraries for AvaTax

I’m using my blog post this month to start a conversation. I’m beginning work on an NPM module to simplify the AvaTax REST interface for node.js. This leaves me with two questions I’d like to pose: Have any of you tried implementing this in node.js already. What were your experiences? Are there other languages or frameworks you'd like us to develop samples/libraries for to help power your development? If you haven’t tried our developer community, this is the perfect time to start. Join the discussion on this topic in our community. I’m off-site, speaking at the CascadiaJS conference and getting...

The Business of Sales Tax is Bizarre!

blog preview image

I’m not an economist, neither am I an accountant. The only exposure I have to the concept of accounting or economics were when we were forced to take these classes in college, but I’ve learned a ton while working for Avalara. I’m also brought up in a simpler (tax wise) economy in Malaysia, where sales tax is pretty much straightforward. Even with the recent changes of their existing sales & service tax laws to a value-added tax system called GST, it is still not as complicated and bizarre as the ones we have here in the United States. How complicated is it, Loke?...

Maximum Line Count Increased!

As of the last service release to development, the maximum number of allowed lines on a GetTaxRequest has been increased from a mere 1000 to a spacious 15,000! This will allow longer documents to be processed and recorded through the standard recommended process. No longer will documents need to be split into multiple requests or records at the 1000 line mark! The 15,000 line limit was determined thorough collection of user feedback, and should be able to allow for much more flexibility. If you are working with invoices with more than 15,000 lines, you’ll still need to split transactions or consolidate...

Getting our PHP Samples Running on Windows

blog preview image

As I said in my introduction, I’m a Zend Certified PHP Engineer. I may not have mentioned that, like many developers, I tend to trust my abilities probably more than I should, jump into projects head first, and only start to read the fine manual when something doesn’t work as expected. Setting up my Avalara laptop, one of the first things I did was install a basic WAMP stack (like LAMP but with Windows). That may be sacrilege to some, but it works. When I had to write my first bit of code with the PHP sample libraries, I thought...

Loke as in Joke

Hi! My name is Loke (pronounced as in Joke but with an “L”).  I work with Anya and Greg in Avalara’s Developer Relations team. We’re the team that will be here for you when you need help making sense of Sales Tax and getting your software connected to our services. In my past life, I’ve spent a decade working at Microsoft  in the Windows Mobile/Phone, Developer Evangelism and Robotics divisions. If you search hard enough, you’ll probably find lots of videos, demos and talks that I’ve done in the past. You’ll also find many videos of me enjoying my hobby of...

Oh so that's who that is

blog preview image

I’m Anya Stettler, and as someone who has been lurking around for a while, I’ve been tasked with finally introducing myself for real. I do a little of this, a little of that, and a whole lot of documenting the AvaTax APIs. I’ve shown up from time to time in our videos and on this site, and more and more out in the world. In general, I like organizing information and pictures of cats, so when I can combine those two I consider it a job well done. I joined Avalara just under six years ago as part of support,...

Subject: So Much New We Can't Even (was: Because Awesome)

blog preview image

I’m Greg Bulmash, and as the FNG (Fabulous New Guru) on the Avalara Developer Relations team, I have been given the lofty assignment of laying down some awesome on the Avalara Developer Network blog the first Tuesday of every month. My first assignment from the powers that be: “Introduce yourself.” The first thing that happens if you Google my name as an exact phrase is you come up with about 9,000 results. The first result is a McDonalds/WalMart Application link to Snopes.com, the encyclopedia of urban legends. What? Avalara hired an urban legend? Yeah, I’m that Greg Bulmash. I’m also...

Avalara @ Developer Week San Francisco (February 7-11)

blog preview image

Avalara’s Developer Relations & Engineering team will be at the upcoming DeveloperWeek & Accelerate Hackathon events down in San Francisco, CA from February 7th till February 11th. We will be sponsoring the Hackathon event to build something cool with the new Avalara TaxRates API. There is a prize of $500 for the team that builds the coolest application with it. Other activities: Anya Settler our Developer Evangelist has a workshop on Monday (February 9th) to discuss Documenting APIs. Our team will be at the Hiring Mixer on February 10th so if you're looking for a great place to work come find...

Take a REST for sales tax: Easy and free tax rates for developers

Tax compliance is challenging, and static tax rate tables are a common place to start looking for answers. Manually updating tax rates from a file is inefficient, though, and tax rates may change at any time – not just once per month. This is the perfect use case for a REST API, so that’s what we built. Our new Tax Rates API makes it easy to get the most current and accurate tax rate in your software. And it’s completely free. REST API After signing-up for a free API key, our REST API design makes it easy to start retrieving rates...

Documenting APIs (with cats) by Anya Stettler

Anya delivered a thought provoking topic about Documenting APIs and it’s best practices (with the help of some cats) at API World recently to some rave reviews. Anthony Alfidi was in the audience during her talk and wrote a recap on his blog and had this to say: Anya Stettler from Avalara had one of the best talks I've ever seen at a tech conference, hands down.  Her tips on documenting APIs walked through examples of technical references, code snippets, tutorials, and live interactive formats that keep developers excited about an API.  Check out her presentation on SlideShare, because it's too good to...

Anya Stettler speaking at DataWeek + API World 2014

We’re excited to announce that Anya Stettler, Sr. Developer Relations Engineer with Avalara, will be speaking at DataWeek + API World 2014 Conference & Expo (Sept 15-17), San Francisco’s largest Data + API conference of 2014 - where you can attend 100+ talks and interact with 200+ new data & API technologies! Come see Anya's talk: Documenting APIs: Sample Code and More Tues. Sept. 16th @ 4:00pm DataWeek + API World are offering our community a free OPEN pass to the event! Your OPEN pass will get you into all OPEN talks across the DataWeek conference (see schedule) and the API...

Avalara AvaTax with Stripe.js

blog preview image

The new AvaTax.js library makes it easy to calculate taxes with browser-based shopping carts and other web commerce environments – providing real-time tax calculation results during the checkout process. Those accurate, on-demand tax calculations can be consumed at time of checkout, allowing you to display the results to your shoppers or use them in your payment processing. This diagram is a typical process flow for an E-commerce scenario. Let’s take a look at an easy example where AvaTax.js can be used in conjunction with Stripe.js to calculate tax and create a payment authorization token. You’ll need to include the core...

AvaTax.js sample posted!

There’s a new sample posted for folks working in JavaScript! This sample uses a server-side PHP proxy to call the service, making it easier to calculate accurate taxes and record documents from browser checkout environments. Check it out and let us know what you think!

Avalara Avatax REST SDK for iOS now available!

If you’re building mobile related retail applications or extensions to your ERP/Ecommerce platforms on iOS for the iPhone or iPad, then you’re in luck. We just completed the iOS Software Development Kit that allows you to easily connect to Avalara’s Avatax API. The SDK comes as a static library that you can link to your iOS projects. For REST de/serialization, we’ve used a 3rd party library called JSONModel which simplifies data transformation from object model to JSON (and back). We’ve included that into the project as well as the full source code under the Apache 2.0 license. You can download...

Prompting users for certificate information with the AvaTax Certs API

blog preview image

The AvaTax Certs product is a stand-alone exemption certificate management product that can be used in conjunction with the AvaTax Calc product. The Certs product allows a company to track exempt customers, initiate automated correspondence to request certificate information from those customers, and track and manage the resulting exemption certificates. All valid certificates created/recorded in the AvaTax Certs product sync over to the AvaTax Calc product as well - once a customer has a valid exemption certificate in Certs, they will automatically be tax exempt for your tax calculations. There is a RESTful API to interact with the AvaTax Certs...

Introduction to the Avalara AvaTax API

Anya Stettler has put together a nice video overview of the Avalara AvaTax API. It’s a great place to start learning the details you’ll need for a good integration. To find out more about the business use cases and features you should be thinking about, check out our Integration Checklist.

Developer Testimonial

Our Partner’s developers say integrating to AvaTax is a breeze. Try it today!  Sign up for our API Free Trial.

Handling Java SSL Certificate Exception

If you are trying to make an HTTPS call to the AvaTax web service from a WebSphere Message Broker  and recieve an exception message similar to below, it is likely that the Message Broker is unable to build the entire certificate path. The Message Broker “keystore” must have all of the certificates in the “chain” of CA’s. javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: java.security.cert.CertPathValidatorException: The certificate issued by OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US is not trusted; internal cause is: java.security.cert.CertPathValidatorException: Certificate chaining error One way...

Testing Address Errors

When you’re testing your integration, it’s always a good idea to figure out how you’re going to handle errors. Not all errors from our system are bad - some just mean a user has entered an invalid address (perhaps by making a typo!) - and your system should react accordingly. These address-related errors are to be expected in normal use of your connector. Sometimes it can be challenging to create this use case on purpose: our system is very good at validating addresses and calculating tax accordingly (albeit at lower precision levels). In fact, due to customer demand, we recently updated...

Reflecting MDET

At the beginning of 2013, a new federal-level excise tax was introduced for some medical devices. If you have clients that need to reflect this tax, make sure you’re doing the following: Allow clients to pass a product tax code. Allow clients to assign an Entity/Use Code (CustomerUsageType) to their customers. The combination of product tax code and customer entity/use code allows your client to trigger specific rules in their company profile, and calculate this tax. If you’re using service version 13.1 or later, you can parse out this tax from your GetTaxResult as well - it will come across...

Updates to REST tax/get POST with 13.3. release

Some long-awaited additional parameters have been added to the tax/get POST request with the recent 13.3 release. These parameters are now available on both development and production for all clients using the REST API. With this update, the REST API is now in full best-practice parity with our SOAP API. For more information, see the tax/get POST documentation. PosLaneCode Client BusinessIdentificationNo TaxOverride

SSL Certificate Update

Until recently, our development server was using a COMODO SSL certificate. We just updated to a Verisign one to match our production servers - documentation has also been updated to reflect the new certificate.

Ember.js event at Pier 55

Avalara has been using Ember.js for six months now so we were proud to host the inaugural Seattle Ember.js Meetup last Thursday. In a meeting that tested the capacity of our new space on the water at Pier 55 in downtown Seattle we were honored to host Yehuda Katz and Tom Dale from the core Ember.js team in a presentation that lasted two hours. In Avalara tradition we rolled out the margarita machine for the participants and the conversations with the presenters lasted well into the night. Yehuda and Tom delivered a wealth of information about the upcoming functionality in Ember...

Avalara AvaTax API Demo

blog preview image

Anya Stettler, Avalara AvaTax API Support Specialist Watch API support specialist Anya Stettler show how to use our REST API to make a successful tax call to the Avalara service.

Developing With Sales Tax: Should I Tax It?

blog preview image

This is the second of three posts aimed at giving developers a basic understanding of the complexities of sales tax. Developing With Sales Tax: What’s The Rate? Should I Tax It? I Taxed It: Now What? Before you apply a sales tax rate, you need to know the status of the seller, the product and the buyer. In the previous post, we learned why you want to use geolocation to get an accurate tax rate. But getting the right tax rate doesn’t help you if you don’t know whether or not the rate applies to the transaction. There are three...

REST API Makes AvaTax Integration Easy

With any third party integration two things are absolutely essential – an easy and reliable API platform, and knowledgeable, responsive tech staff to help with the integration.  I’m glad to say, Avalara’s AvaTax REST system provides both! -Early integrator AvaTax gives you fast and up-to-date sales tax calculation based on geo-location (which kicks ZIP code calculation’s ass). So you get the most accurate sales tax calculation possible anywhere in the 11,000+ North American tax jurisdictions. Our REST API provides the power of Avalara’s calculation engine to your application. Three advantages of using our REST API, which supports both JSON and...

Developing With Sales Tax: What's the Rate?

This is the first of three posts aimed at giving developers a basic understanding of options for implementing a sales tax solution. Developing With Sales Tax: What's The Rate? Should I Tax It? I Taxed It: Now What? If you’re building or installing an application to process U.S. transactions, odds are that you’ll need to account for a sales tax rate. At the minimum you’ll need to identify a target tax location, and then look up a rate for that location. Looking up rates is fairly simple. The tricky part can be finding the location. Here are the five ways...

Welcome to Avalara's Developer Network

Hi there. Welcome to Avalara’s new developer network. You’ll find API documentation, and the seeds of a developer community that will include video, forums and lots more to come.