API Reference

Introduction

API Endpoint

https://api.taxjar.com/v2/

Sandbox API Endpoint

https://api.sandbox.taxjar.com/v2/

Welcome to the TaxJar Sales Tax API! You can use our API to get information on sales tax rates, categories or upload transactions.

We currently provide API clients for the following languages:

Before getting started, you’ll need to sign up for TaxJar and get an API key. If you have any questions or would like to request support for a new client language, feel free to contact us.

Authentication

Example Request With Authentication Headers

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;

public class AuthenticationExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");
    }

}
package main

import "github.com/taxjar/taxjar-go"

func main() {
    client := taxjar.NewClient(taxjar.Config{
      APIKey: "9e0cd62a22f451701f29c3bde214",
    })
}
# Authorization headers must be passed for every request
$ curl "API_ENDPOINT" \
  -H "Authorization: Token token="9e0cd62a22f451701f29c3bde214""

or

$ curl "API_ENDPOINT" \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214"

Make sure to replace 9e0cd62a22f451701f29c3bde214 with your API key.

TaxJar uses API keys to allow access to the API. If you’re new to TaxJar, you’ll need to sign up for an account to get your API key. Otherwise, log in and go to Account > API Access to generate a new API token.

TaxJar expects the API key to be included in all API requests to the server using a header like the following:

Authorization: Token token="9e0cd62a22f451701f29c3bde214"

or

Authorization: Bearer 9e0cd62a22f451701f29c3bde214

Billing

Each sales tax calculation or rate lookup request made to our API results in a “transaction”. These transactions will be counted toward your monthly plan limit. Overage fees are charged separately if you exceed your plan limit during busier months. You’ll always remain on the same plan until you decide to upgrade. You can check your API usage under “Transaction History” from Plans & Billing in the TaxJar app. Hover over the transaction counts for a breakdown of imported orders and calculations.

View our pricing to find a plan that works best for you. We also recommend our guide on avoiding unnecessary API calls to reduce your API usage and save money.

Countries

We currently support the following countries around the world. If you would like to request the addition of a new country, please email us at [email protected].

North America

   United States (US)
   Canada (CA)

Oceania

   Australia (AU)

European Union

   Austria (AT)
   Belgium (BE)
   Bulgaria (BG)
   Croatia (HR)
   Cyprus (CY)
   Czech Republic (CZ)
   Denmark (DK)
   Estonia (EE)
   Finland (FI)
   France (FR)
   Germany (DE)
   Greece (GR)
   Hungary (HU)
   Ireland (IE)
   Italy (IT)
   Latvia (LV)
   Lithuania (LT)
   Luxembourg (LU)
   Malta (MT)
   Netherlands (NL)
   Poland (PL)
   Portugal (PT)
   Romania (RO)
   Slovakia (SK)
   Slovenia (SI)
   Spain (ES)
   Sweden (SE)
   United Kingdom (GB)

Sales Tax API

TaxJar API endpoints provide detailed sales tax rates and calculations. They also support extended US-based reporting and filing capabilities for TaxJar users.

Run in Postman

Categories

The TaxJar API provides product-level tax rules for a subset of product categories. These categories are to be used for products that are either exempt from sales tax in some jurisdictions or are taxed at reduced rates. You need not pass in a product tax code for sales tax calculations on product that is fully taxable. Simply leave that parameter out.

We will be expanding support for additional, less common categories over time. If you would like to request the addition of a new product category, please email us at [email protected].

get List tax categories

Definition

client.categories
client.categories
client.categories();
$client->categories();
client.Categories();
client.categories();
client.Categories()
GET https://api.taxjar.com/v2/categories

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

categories = client.categories
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

categories = client.categories()
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.categories().then(res => {
  res.categories; // Array of categories
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$categories = $client->categories();
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var categories = client.Categories();
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.categories.CategoryResponse;

public class CategoryExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            CategoryResponse res = client.categories();
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.Categories()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Categories)
    }
}
$ curl https://api.taxjar.com/v2/categories \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214"

Response Example

{
  "categories": [
    {
      "name": "Installation Services",
      "product_tax_code": "10040",
      "description": "Installation services separately stated from sales of tangible personal property."
    },
    {
      "name": "General Services",
      "product_tax_code": "19000",
      "description": "Miscellaneous services which are not subject to a service-specific tax levy. This category will only treat services as taxable if the jurisdiction taxes services generally."
    },
    {
      "name": "Advertising Services",
      "product_tax_code": "19001",
      "description": "Services rendered for advertising which do not include the exchange of tangible personal property."
    },
    {
      "name": "Parking Services",
      "product_tax_code": "19002",
      "description": "Service of providing usage of a parking space."
    },
    {
      "name": "Admission Services",
      "product_tax_code": "19003",
      "description": "Admission charges associated with entry to an event."
    },
    {
      "name": "Training Services",
      "product_tax_code": "19004",
      "description": "Services provided to educate users on the proper use of a product."
    },
    {
      "name": "Professional Services",
      "product_tax_code": "19005",
      "description": "Professional services which are not subject to a service-specific tax levy."
    },
    {
      "name": "Dry Cleaning Services",
      "product_tax_code": "19006",
      "description": "Services provided in the cleaning of clothing and/or fabrics."
    },
    {
      "name": "Repair Services",
      "product_tax_code": "19007",
      "description": "Services provided to restore tangible personal property to working order or optimal functionality."
    },
    {
      "name": "Hairdressing Services",
      "product_tax_code": "19008",
      "description": "Services provided to cut and style human hair."
    },
    {
      "name": "Printing Services",
      "product_tax_code": "19009",
      "description": "Services provided to apply graphics and/or text to paper or other substrates which do not involve an exchange of tangible personal property."
    },
    {
      "name": "Clothing",
      "product_tax_code": "20010",
      "description": "All human wearing apparel suitable for general use"
    },
    {
      "name": "Clothing - Swimwear",
      "product_tax_code": "20041",
      "description": "Bathing suits and swim suits"
    },
    {
      "name": "Software as a Service",
      "product_tax_code": "30070",
      "description": "Pre-written software, delivered electronically, but access remotely."
    },
    {
      "name": "Digital Goods",
      "product_tax_code": "31000",
      "description": "Digital products transferred electronically, meaning obtained by the purchaser by means other than tangible storage media."
    },
    {
      "name": "Candy",
      "product_tax_code": "40010",
      "description": "Candy and similar items"
    },
    {
      "name": "Supplements",
      "product_tax_code": "40020",
      "description": "Non-food dietary supplements"
    },
    {
      "name": "Food & Groceries",
      "product_tax_code": "40030",
      "description": "Food for humans consumption, unprepared"
    },
    {
      "name": "Soft Drinks",
      "product_tax_code": "40050",
      "description": "Soft drinks, soda, and other similar beverages. Does not include fruit juices and water."
    },
    {
      "name": "Bottled Water",
      "product_tax_code": "40060",
      "description": "Bottled, drinkable water for human consumption."
    },
    {
      "name": "Prepared Foods",
      "product_tax_code": "41000",
      "description": "Foods intended for on-site consumption. Ex. Restaurant meals."
    },
    {
      "name": "Non-Prescription",
      "product_tax_code": "51010",
      "description": "Drugs for human use without a prescription"
    },
    {
      "name": "Prescription",
      "product_tax_code": "51020",
      "description": "Drugs for human use with a prescription"
    },
    {
      "name": "Books",
      "product_tax_code": "81100",
      "description": "Books, printed"
    },
    {
      "name": "Textbook",
      "product_tax_code": "81110",
      "description": "Textbooks, printed"
    },
    {
      "name": "Religious Books",
      "product_tax_code": "81120",
      "description": "Religious books and manuals, printed"
    },
    {
      "name": "Magazines & Subscriptions",
      "product_tax_code": "81300",
      "description": "Periodicals, printed, sold by subscription"
    },
    {
      "name": "Magazine",
      "product_tax_code": "81310",
      "description": "Periodicals, printed, sold individually"
    }
  ]
}
[
  #<Taxjar::Category:0x00000a @attrs={
    :name => "Digital Goods",
    :product_tax_code => "31000",
    :description => "Digital products transferred electronically."
  }>,
  #<Taxjar::Category:0x00000a @attrs={
    :name => "Clothing",
    :product_tax_code => "20010",
    :description => "All human wearing apparel suitable for general use"
  }>,
  #<Taxjar::Category:0x00000a @attrs={
    :name => "Non-Prescription",
    :product_tax_code => "51010",
    :description => "Drugs for human use without a prescription"
  }>
]
[
  <TaxJarCategory {
    'product_tax_code': '31000',
    'name': 'Digital Goods',
    'description': 'Digital products transferred electronically, meaning obtained by the purchaser by means other than tangible storage media.'
  }>,
  <TaxJarCategory {
    'product_tax_code': '20010',
    'name': 'Clothing',
    'description': 'All human wearing apparel suitable for general use'
  }>,
  <TaxJarCategory {
    'product_tax_code': '51010',
    'name': 'Non-Prescription',
    'description': 'Drugs for human use without a prescription'
  }>
]
taxjar.CategoriesResponse{
    Categories: []taxjar.Category{
        {
            Name:           "Digital Goods",
            ProductTaxCode: "31000",
            Description:    "Digital products transferred electronically, meaning obtained by the purchaser by means other than tangible storage media.",
        },
        {
            Name:           "Clothing",
            ProductTaxCode: "20010",
            Description:    "All human wearing apparel suitable for general use",
        },
        {
            Name:           "Non-Prescription",
            ProductTaxCode: "51010",
            Description:    "Drugs for human use without a prescription",
        },
    },
}

Lists all tax categories.

Request

GET https://api.taxjar.com/v2/categories

Response

Returns a categories JSON object with an array of product categories and corresponding tax codes. The following categories are currently supported:

Category Code Countries Description
Admission Services 19003 Admission charges associated with entry to an event.
Advertising Services 19001 Services rendered for advertising which do not include the exchange of tangible personal property.
Air conditioners - Energy Star 40101701A0000 Domestic air conditioning (central or room) systems carrying Energy Star rating.
Alkaline Batteries 26111702A0000 Single or multi-pack AA, AAA, c, D, 6-volt or 9-volt batteries, excluding automobile or boat batteries.
Ammunition 46101600A0001 Ammunition for firearms, including bullets, shotgun shells, and gunpowder.
Application implementation services 81111508A0000 Application implementation services
Application programming services 81111504A0000 Application programming services
Archery Accessories 49181602A0002 Archery accessories including quivers, releases, arrow shafts, armguards, hunting belts, bow parts, cleaning products, mounted safety equipment, scopes, sights, hunting slings, string wax, targets, target throwers, etc.
Archery Cases 46101801A0001 Hard and soft cases designed specifically for archery equipment.
Archery Equipment 49181602A0001 Primary archery equipment including bows, crossbow, and bow strings.
Artificial Ice 24121512A0000 Artificial ice, blue ice, ice packs, reusable ice
Axes/Hatchets 27112005A0000 Axes/Hatchets
Bath Mats/rugs 52101507A0000 A small mat/rug used to cover portion of bathroom floor.
Bath towels 52121700A0000 Towels used for individual drying of persons, including bath towels, beach towels, wash cloths, hand towels, fact towels, sport towels, etc.
Bathroom Faucets - WaterSense 30181702A0001 WaterSense labeled bathroom sink faucets and accessories.
Bedding 52121500A0000 Bedclothes items including sheets, pillow cases, bedspreads, comforters, blankets, throws, duvet covers, pillow shams, bed skirts, mattress pad, mattress toppers, and pillows.
Boilers - Energy Star 40102004A0001 Domestic gas or oil boilers for space or water heating carrying an Energy Star rating.
Bookbags/Backpacks - Student 53121603A0001 Bags/packs designed to carry students’ books during the school day. This category does not include backpags for traveling, hiking, camping, etc.
Books 81100 Books, printed
Bottled coffee - containing milk or milk substitute 50201708A0002 Ready to drink coffee based beverage containing milk or milk substitute.
Bottled coffee - no milk - sweetened 50201708A0001 Ready to drink coffee based beverage not containing milk, containing natural or artificial sweetener.
Bottled coffee - no milk - unsweetened 50201708A0000 Ready to drink coffee based beverage containing neither milk nor natural or artificial sweeteners.
Bottled tea - carbonated - sweetened 50201712A0002 Ready to drink carbonated beverage containing tea with natural or artificial sweeteners.
Bottled tea - carbonated - unsweetened 50201712A0001 Ready to drink carbonated beverage containing tea and without any natural or artificial sweeteners.
Bottled tea - non-carbonated - sweetened 50201712A0003 Ready to drink non-carbonated beverage containing tea with natural or artificial sweeteners.
Bottled tea - non-carbonated - unsweetened 50201712A0000 Ready to drink non-carbonated beverage containing tea without natural or artificial sweeteners.
Bottled Water 40060 Bottled water for human consumption.
Bottled Water 50202301A0000 Bottled Water for human consumption, unsweetened, non-carbonated. Does not include distilled water.
Bottled Water - Carbonated - Sweetened 50202301A0004 Bottled Water for human consumption, containing natural or artificial sweeteners, carbonated.
Bottled Water - Carbonated Artificially 50202301A0002 Bottled Water for human consumption, unsweetened, carbonated artificially during bottling process. Includes carbonated waters containing only natural flavors or essences.
Bottled Water - Carbonated Naturally 50202301A0003 Bottled Water for human consumption, unsweetened, carbonated naturally. Includes carbonated waters containing only natural flavors or essences.
Bottled Water - Flavored 50202301A0001 Bottled Water for human consumption, containing natural or artificial sweeteners, non-carbonated.
Calculators 44101807A0000 Calculators
Can opener - manual 52151605A0001 Non-electric can opener
Candles 39112604A0001 Candles to be used a light source.
Candy 40010 Candy
Carbon Monoxide Detectors 46191509A0001 Carbon Monoxide Detectors
Ceiling fans - Energy Star 40101609A0000 Ceiling Fans carrying an Energy Star rating.
Chainsaw accessories 27112038A0001 Chainsaw accessories include chains, lubricants, motor oil, chain sharpeners, bars, wrenches, carrying cases, repair parts, safety apparel.
Client or server programming services 81111506A0000 Client or server programming services
Clothes drying machine - Energy Star 52141602A0000 Domestic clothes drying appliances carrying Energy Star rating.
Clothes Washing Machine - Energy Star 52141601A0000 Domestic clothes washing appliances carrying Energy Star rating.
Clothing 20010 All human wearing apparel suitable for general use
Clothing - Adult diapers 53102306A0000 Clothing - Adult diapers
Clothing - Ambulance officers uniforms 53102709A0000 Clothing - Ambulance officers uniforms
Clothing - Anti cut gloves 46181536A0001 Clothing - Anti cut gloves
Clothing - Anti vibratory gloves 46181539A0001 Clothing - Anti vibratory gloves
Clothing - Armbands 53102508A0000 Clothing - Armbands
Clothing - Athletic footwear 53111900A0000 Clothing - Athletic footwear
Clothing - Athletic supporter 49161517A0001 Clothing - Athletic supporter
Clothing - Athletic wear 53102900A0000 Clothing - Athletic wear
Clothing - Ballet or tap shoes 53111900A0001 Clothing - Ballet or tap shoes
Clothing - Bandannas 53102511A0000 Clothing - Bandannas
Clothing - Baseball batting gloves 49211606A0001 Clothing - Baseball batting gloves
Clothing - Bath robes 53102606A0000 Clothing - Bath robes
Clothing - Belt Buckle 53102501A0001 Clothing - Belt Buckle
Clothing - Belts or suspenders 53102501A0000 Clothing - Belts or suspenders
Clothing - Bib 53102521A0000 Clothing - Bib
Clothing - Body shaping garments 53102307A0000 Clothing - Body shaping garments
Clothing - Boots 53111500A0000 Clothing - Boots
Clothing - Bowling gloves 49211606A0002 Clothing - Bowling gloves
Clothing - Bowling shoes 53111900A0003 Clothing - Bowling shoes
Clothing - Boxing gloves 49171600A0000 Clothing - Boxing gloves
Clothing - Brassieres 53102304A0000 Clothing - Brassieres
Clothing - Bridal Gown 53101801A0004 Clothing - Bridal Gown
Clothing - Bullet proof vests 46181502A0001 Clothing - Bullet proof vests
Clothing - Buttons 53141505A0000 Clothing - Buttons
Clothing - Caps 53102516A0000 Clothing - Caps
Clothing - Chemical resistant gloves 46181541A0001 Clothing - Chemical resistant gloves
Clothing - Chevrons 53102518A0000 Clothing - Chevrons
Clothing - Clasps 53141507A0000 Clothing - Clasps
Clothing - Cleanroom apparel 46181512A0001 Clothing - Cleanroom apparel
Clothing - Cleanroom footwear 46181603A0001 Clothing - Cleanroom footwear
Clothing - Cleated or spiked shoes 53111900A0002 Clothing - Cleated or spiked shoes
Clothing - Coats or jackets 53101800A0000 Clothing - Coats or jackets
Clothing - Cooling vest 46181554A0001 Clothing - Cooling vest
Clothing - Corporate uniforms 53102710A0000 Clothing - Corporate uniforms
Clothing - Costume 60141401A0000 Clothing - Costume
Clothing - Costume Mask 60122800A0000 Clothing - Costume Mask
Clothing - Customs uniforms 53102702A0000 Clothing - Customs uniforms
Clothing - Diaper liners 53102308A0000 Clothing - Diaper liners
Clothing - Disposable work coat 53103201A0000 Clothing - Disposable work coat
Clothing - Disposable youth training pants 53102311A0000 Clothing - Disposable youth training pants
Clothing - Doctors coat 53102707A0000 Clothing - Doctors coat
Clothing - Dresses or skirts or saris or kimonos 53102000A0000 Clothing - Dresses or skirts or saris or kimonos
Clothing - Elbow protectors 46181514A0001 Clothing - Elbow protectors
Clothing - Eye shield garters 46181809A0001 Clothing - Eye shield garters
Clothing - Eye shields 46181803A0001 Clothing - Eye shields
Clothing - Fabric dye 60105810A0000 Clothing - Clothing - Fabric dye
Clothing - Fabric for use in clothing 11160000A0000 Clothing - Fabric for use in clothing
Clothing - Face protection kit 46181709A0001 Clothing - Face protection kit
Clothing - Facial shields 46181702A0001 Clothing - Facial shields
Clothing - Facial shields parts or accessories 46181707A0001 Clothing - Facial shields parts or accessories
Clothing - Fire retardant apparel 46181508A0001 Clothing - Fire retardant apparel
Clothing - Fire retardant footwear 46181601A0001 Clothing - Fire retardant footwear
Clothing - Firefighter uniform 53102718A0000 Clothing - Firefighter uniform
Clothing - Folkloric clothing 53102200A0000 Clothing - Folkloric clothing
Clothing - Football receiver gloves 49211606A0004 Clothing - Football receiver gloves
Clothing - Footwear covers 46181606A0001 Clothing - Footwear covers
Clothing - Formal Dress 53101801A0002 Clothing - Formal Dress
Clothing - Fur Coat or Jacket 53101800A0001 Clothing - Fur Coat or Jacket
Clothing - Fur Ear muffs or scarves 53102502A0001 Clothing - Fur Ear muffs or scarves
Clothing - Fur Gloves 53102503A0001 Clothing - Fur Gloves
Clothing - Fur Hat 53102504A0001 Clothing - Fur Hat
Clothing - Fur Poncho or Cape 53101806A0001 Clothing - Fur Poncho or Cape
Clothing - Fur Vest 53103100A0001 Clothing - Fur Vest
Clothing - Garters 53102509A0000 Clothing - Garters
Clothing - Gloves or mittens 53102504A0000 Clothing - Gloves or mittens
Clothing - Goggle protective covers 46181808A0001 Clothing - Goggle protective covers
Clothing - Goggles 46181804A0001 Clothing - Goggles
Clothing - Golf gloves 49211606A0000 Clothing - Golf gloves
Clothing - Golf shoes 53111900A0004 Clothing - Golf shoes
Clothing - Gorgets 53102519A0000 Clothing - Gorgets
Clothing - Handkerchiefs 53102512A0000 Clothing - Handkerchiefs
Clothing - Hard hats 46181701A0001 Clothing - Hard hats
Clothing - Hats 53102503A0000 Clothing - Hats
Clothing - Hazardous material protective apparel 46181509A0001 Clothing - Hazardous material protective apparel
Clothing - Hazardous material protective footwear 46181602A0001 Clothing - Hazardous material protective footwear
Clothing - Heat resistant clothing 46181518A0001 Clothing - Heat resistant clothing
Clothing - Heel pads 53112003A0000 Clothing - Heel pads
Clothing - Helmet parts or accessories 46181706A0001 Clothing - Helmet parts or accessories
Clothing - Ice Skates 49151602A0000 Clothing - Ice Skates
Clothing - Infant diapers 53102305A0000 Clothing - Infant diapers
Clothing - Infant swaddles or buntings or receiving blankets 53102608A0000 Clothing - Infant swaddles or buntings or receiving blankets
Clothing - Institutional food preparation or service attire 53102704A0000 Clothing - Institutional food preparation or service attire
Clothing - Insulated clothing for cold environments 46181529A0001 Clothing - Insulated clothing for cold environments
Clothing - Insulated cold weather shoe 46181610A0000 Clothing - Insulated cold weather shoe
Clothing - Insulated gloves 46181537A0001 Clothing - Insulated gloves
Clothing - Insulated or flotation suits 46181517A0001 Clothing - Insulated or flotation suits
Clothing - Judicial robe 53102714A0000 Clothing - Judicial robe
Clothing - Lab coats 46181532A0000 Clothing - Lab coats
Clothing - Leg protectors 46181520A0001 Clothing - Leg protectors
Clothing - Life vests or preservers 46161604A0000 Clothing - Life vests or preservers
Clothing - Military boot 46181612A0000 Clothing - Military boot
Clothing - Military uniforms 53102701A0000 Clothing - Military uniforms
Clothing - Motorcycle helmets 46181705A0001 Clothing - Motorcycle helmets
Clothing - Mountain climbing boot 46181613A0000 Clothing - Mountain climbing boot
Clothing - Mouth guards 42152402A0001 Clothing - Mouth guards
Clothing - Neck gaitor 46181549A0001 Clothing - Neck gaitor
Clothing - Nurses uniforms 53102708A0000 Clothing - Nurses uniforms
Clothing - Overalls or coveralls 53102100A0000 Clothing - Overalls or coveralls
Clothing - Overshoes 53112000A0000 Clothing - Overshoes
Clothing - Pajamas or nightshirts or robes 53102600A0000 Clothing - Pajamas or nightshirts or robes
Clothing - Panty hose 53102403A0000 Clothing - Panty hose
Clothing - Paramedic uniforms 53102712A0000 Clothing - Paramedic uniforms
Clothing - Police uniforms 53102703A0000 Clothing - Police uniforms
Clothing - Poncho 53101806A0000 Clothing - Poncho
Clothing - Prison officer uniform 53102715A0000 Clothing - Prison officer uniform
Clothing - Prisoner uniform 53102716A0000 Clothing - Prisoner uniform
Clothing - Prom Dress 53101801A0003 Clothing - Prom Dress
Clothing - Protective aprons 46181501A0001 Clothing - Protective aprons
Clothing - Protective clogs 46181607A0000 Clothing - Protective clogs
Clothing - Protective coats 46181533A0001 Clothing - Protective coats
Clothing - Protective coveralls 46181503A0001 Clothing - Protective coveralls
Clothing - Protective finger cots 46181530A0001 Clothing - Protective finger cots
Clothing - Protective frock 46181528A0001 Clothing - Protective frock
Clothing - Protective gloves 46181504A0001 Clothing - Protective gloves
Clothing - Protective hair net 46181708A0001 Clothing - Protective hair net
Clothing - Protective hood 46181710A0001 Clothing - Protective hood
Clothing - Protective insole 46181609A0000 Clothing - Protective insole
Clothing - Protective knee pads 46181505A0001 Clothing - Protective knee pads
Clothing - Protective lens 46181811A0001 Clothing - Protective lens
Clothing - Protective mesh jacket 46181551A0001 Clothing - Protective mesh jacket
Clothing - Protective mittens 46181542A0001 Clothing - Protective mittens
Clothing - Protective pants 46181527A0001 Clothing - Protective pants
Clothing - Protective ponchos 46181506A0001 Clothing - Protective ponchos
Clothing - Protective sandals 46181608A0000 Clothing - Protective sandals
Clothing - Protective scarf 46181550A0001 Clothing - Protective scarf
Clothing - Protective shirts 46181526A0001 Clothing - Protective shirts
Clothing - Protective socks or hosiery 46181535A0001 Clothing - Protective socks or hosiery
Clothing - Protective wear dispenser 46181553A0001 Clothing - Protective wear dispenser
Clothing - Protective wristbands 46181534A0001 Clothing - Protective wristbands
Clothing - Reflective apparel or accessories 46181531A0001 Clothing - Reflective apparel or accessories
Clothing - Roller skates or roller blades 49221509A0000 Clothing - Roller skates or roller blades
Clothing - Safety boots 46181604A0000 Clothing - Safety boots
Clothing - Safety glasses 46181802A0001 Clothing - Safety glasses
Clothing - Safety helmets 46181704A0001 Clothing - Safety helmets
Clothing - Safety hoods 46181522A0001 Clothing - Safety hoods
Clothing - Safety shoes 46181605A0000 Clothing - Safety shoes
Clothing - Safety sleeves 46181516A0001 Clothing - Safety sleeves
Clothing - Safety vests 46181507A0001 Clothing - Safety vests
Clothing - Salon smocks 53102711A0000 Clothing - Salon smocks
Clothing - Sandals 53111800A0000 Clothing - Sandals
Clothing - School uniforms 53102705A0000 Clothing - School uniforms
Clothing - Security uniforms 53102706A0000 Clothing - Security uniforms
Clothing - Sequins for use in clothing 60123900A0000 Clothing - Sequins for use in clothing
Clothing - Shin guards 49161525A0001 Clothing - Shin guards
Clothing - Shirts 53101600A0000 Clothing - Shirts
Clothing - Shoelaces 53112002A0000 Clothing - Shoelaces
Clothing - Shoes 53111600A0000 Clothing - Shoes
Clothing - Shoulder boards or epaulettes 53102520A0000 Clothing - Shoulder boards or epaulettes
Clothing - Shoulder pads for sports 46181506A0002 Clothing - Shoulder pads for sports
Clothing - Shower Cap 53131601A0000 Clothing - Shower Cap
Clothing - Ski boots 53111900A0005 Clothing - Ski boots
Clothing - Slacks or trousers or shorts 53101500A0000 Clothing - Slacks or trousers or shorts
Clothing - Slippers 53111700A0000 Clothing - Slippers
Clothing - Slips 53102302A0000 Clothing - Slips
Clothing - Snaps 53141506A0000 Clothing - Snaps
Clothing - Socks 53102402A0000 Clothing - Socks
Clothing - Sport uniform 53102717A0000 Clothing - Sport uniform
Clothing - Stockings 53102401A0000 Clothing - Stockings
Clothing - Suits 53101900A0000 Clothing - Suits
Clothing - Sweat bands 53102506A0000 Clothing - Sweat bands
Clothing - Sweaters 53101700A0000 Clothing - Sweaters
Clothing - Swim goggles or swim fins 49141606A0000 Clothing - Swim goggles or swim fins
Clothing - Swimwear 20041 Bathing suits and swim suits
Clothing - Swimwear 53102800A0000 Clothing - Swimwear
Clothing - Synthetic Fur Coat or Jacket 53101800A0002 Clothing - Synthetic Fur Coat or Jacket
Clothing - Synthetic Fur Ear muffs or scarves 53102502A0002 Clothing - Synthetic Fur Ear muffs or scarves
Clothing - Synthetic Fur Gloves 53102503A0002 Clothing - Synthetic Fur Gloves
Clothing - Synthetic Fur Hat 53102504A0002 Clothing - Synthetic Fur Hat
Clothing - Synthetic Fur Poncho or Cape 53101806A0002 Clothing - Synthetic Fur Poncho or Cape
Clothing - Synthetic Fur Vest 53103100A0002 Clothing - Synthetic Fur Vest
Clothing - T-Shirts 53103000A0000 Clothing - T-Shirts
Clothing - Thermal gloves 46181538A0001 Clothing - Thermal gloves
Clothing - Ties or scarves or mufflers 53102502A0000 Clothing - Ties or scarves or mufflers
Clothing - Tights 53102404A0000 Clothing - Tights
Clothing - Tuxedo or Formalwear 53101801A0001 Clothing - Tuxedo or Formalwear
Clothing - Underpants 53102303A0000 Clothing - Underpants
Clothing - Undershirts 53102301A0000 Clothing - Undershirts
Clothing - Ushers uniforms 53102713A0000 Clothing - Ushers uniforms
Clothing - Vest or waistcoats 53103100A0000 Clothing - Vest or waistcoats
Clothing - Waterproof boot 46181611A0000 Clothing - Waterproof boot
Clothing - Waterproof cap 46181546A0000 Clothing - Waterproof cap
Clothing - Waterproof cap cover 46181547A0001 Clothing - Waterproof cap cover
Clothing - Waterproof jacket or raincoat 46181543A0000 Clothing - Waterproof jacket or raincoat
Clothing - Waterproof suit 46181545A0001 Clothing - Waterproof suit
Clothing - Waterproof trousers or pants 46181544A0001 Clothing - Waterproof trousers or pants
Clothing - Welder bib 46181548A0001 Clothing - Welder bib
Clothing - Welder gloves 46181540A0001 Clothing - Welder gloves
Clothing - Welders helmet 46181711A0001 Clothing - Welders helmet
Clothing - Welding masks 46181703A0001 Clothing - Welding masks
Clothing - Wetsuit 49141506A0000 Clothing - Wetsuit
Clothing - Yarn 11151700A0000 Clothing - Clothing - Yarn
Clothing - Zippers 53141503A0000 Clothing - Zippers
Cloud-based business process as a service - Business Use 81162300A9000 Cloud-based business process as a service - Business Use
Cloud-based business process as a service - Personal Use 81162300A0000 Cloud-based business process as a service
Cloud-based infrastructure as a service (IaaS) - Business Use 81162200A9000 Cloud-based infrastructure as a service (IaaS) - Business Use
Cloud-based infrastructure as a service (IaaS) - Personal Use 81162200A0000 Cloud-based Infrastructure as a service (IaaS) - Personal Use
Cloud-based platform as a service (PaaS) - Business Use 81162100A9000 Cloud-based platform as a service (PaaS) - Business Use
Cloud-based platform as a service (PaaS) - Personal Use 81162100A0000 Cloud-based platform as a service (PaaS) - Personal Use
Cloud-based software as a service (SaaS) - Business Use 81162000A9000 Cloud-based software as a service (SaaS) - Business Use
Cloud-based software as a service (SaaS) - Personal Use 81162000A0000 Cloud-based software as a service (SaaS) - Personal Use
Co-location service 81111814A0000 Co-location service
Compact Fluorescent Light Bulbs - Energy Star 39101619A0001 Compact Fluorescent light (CFL) bulbs carrying an Energy Star rating.
Computer Batteries 26111711A0001 Computer Batteries
Computer Cables 43202222A0001 Cables with industry standard connection and termination configurations used to connect various peripherals and equipment to computers.
Computer Drives 43201800A0001 Storage drives, hard drives, Zip drives, etc.
Computer graphics service 81111512A0000 Computer graphics service
Computer Keyboards 43211706A0000 Computer Keyboards
Computer Microphones 43211719A0000 Computer Microphones
Computer Monitor/Displays 43211900A0000 Computer Monitor/Displays
Computer Mouse/Pointing Devices 43211708A0000 Computer Mouse/Pointing Devices
Computer or network or internet security 81111801A0000 Computer or network or internet security
Computer Printer 43212100A0001 Computer Printer
Computer programmers 81111600A0000 Computer programmers
Computer Speakers 43211607A0000 Computer Speakers
Computer Storage Media 43202000A0000 Removable storage media such as compact disks, flash drives, thumb drives, flash memory cards.
Content or data classification services 81112009A0000 Content or data classification services
Content or data standardization services 81112007A0000 Content or data standardization services
Cosmetics - Beautifying 53131619A0001 Articles intended to be rubbed, poured, sprinkled, or sprayed on, introduced into, or otherwise applied to the human body or any part thereof for beautifying, promoting attractiveness, or altering the appearance. This category supports only the following items: Acrylic fingernail glue, Acrylic fingernails, Artificial eyelashes, Blush, Bronzer, Body glitter, Concealer, Eyelash glue, Finger/toenail decorations, Finger/toenail polish, Nail polish remover, Hair coloring, Hair mousse/gel, Hair oil, Hair spray, Hair relaxer, Hair wave treatment, Hair wax, Lip gloss, Lip liner, Lipstick, Liquid foundation, Makeup, Mascara, Nail polish remover, Powder foundation, Cologne, Perfume.
Crib bumpers/liners 56101804A0001 A bumper/liner that borders the interior walls/slats of the crib to help protect the baby.
Daily Planners 44112004A0001 A calendar based notebook to aid in outlining one’s daily appointments, classes, activities, etc.
Data center services 81112003A0000 Data center services
Data conversion service 81112010A0000 Data conversion service
Data processing or preparation services 81112002A0000 Data processing or preparation services
Data storage service 81112006A0000 Data storage service
Database analysis service 81111806A0000 Database analysis service
Database design 81111704A0000 Database design
Database information retrieval 81111901A0000 Database information retrieval
Dehumidifier - Energy Star 40101902A0000 Domestic appliance carrying an Energy Star Rating which reduces and maintains the level of humidity in the air.
Demining geographical or geospatial information system GIS 81111709A0000 Demining geographical or geospatial information system GIS
Dictionaries/Thesauruses 55101526A0001 Reference printed material commonly used by a student in a course of study as a reference and to learn the subject being taught.
Digital Goods 31000 Digital products transferred electronically, meaning obtained by the purchaser by means other than tangible storage media.
Disaster recovery services 81112004A0000 Disaster recovery services
Dish towels 52121601A0000 Dish towels used for kitchenware drying.
Dishwashers - Energy Star 52141505A0000 Domestic dish washing appliances carrying Energy Star rating.
Docking Stations 43211602A0000 A docking station is a hardware frame and set of electrical connection interfaces that enable a notebook computer to effectively serve as a desktop computer.
Document scanning service 81112005A0000 Document scanning service
Dry Cleaning Services 19006 Services provided in the cleaning of clothing and/or fabrics.
Duct Tape 31201501A0000 Duct Tape
E-Book Readers 43211519A0000 A portable electronic device for reading digital books and periodicals.
Electronic content bundle - Delivered electronically with less than permanent rights of usage and streamed 55111500A9220 Electronic content bundle - Delivered electronically with less than permanent rights of usage and streamed
Electronic content bundle - Delivered electronically with permanent rights of usage and streamed 55111500A9210 Electronic content bundle - Delivered electronically with permanent rights of usage and streamed
Electronic data interchange EDI design 81111703A0000 Electronic data interchange EDI design
Electronic publications and music - Delivered electronically with less than permanent rights of usage 55111500A1220 Electronic publications and music - Delivered electronically with less than permanent rights of usage
Electronic publications and music - Delivered electronically with permanent rights of usage 55111500A1210 Electronic publications and music - Delivered electronically with permanent rights of usage
Electronic publications and music - Streamed 55111500A1500 Electronic publications and music - Streamed
Electronic software documentation or user manuals - Custom, electronic delivery 55111601A2200 Electronic software documentation or user manuals - For custom software & delivered electronically
Electronic software documentation or user manuals - Custom, load and leave delivery 55111601A2300 Electronic software documentation or user manuals - For custom software & delivered by load and leave
Electronic software documentation or user manuals - Custom, tangible media 55111601A2100 Electronic software documentation or user manuals - For custom software & delivered on tangible media
Electronic software documentation or user manuals - Prewritten, electronic delivery 55111601A1200 Electronic software documentation or user manuals - For prewritten software & delivered electronically
Electronic software documentation or user manuals - Prewritten, load and leave delivery 55111601A1300 Electronic software documentation or user manuals - For prewritten software & delivered by load and leave
Electronic software documentation or user manuals - Prewritten, tangible media 55111601A1100 Electronic software documentation or user manuals - For prewritten software & delivered on tangible media
Emergency/rescue ladder 30191501A0001 Ladder used for home emergency evacuation.
Energy Beverages - Carbonated - with Supplement Facts Label 50202309A0001 Carbonated beverages marketed as energy drinks, carrying a Supplement Facts Label, that contain a blend of energy enhancing vitamins, minerals, herbals, stimulants, etc.
Energy Beverages - Non-Carbonated - with Supplement Facts Label 50202309A0000 Non-carbonated beverages marketed as energy drinks, carrying a Supplement Facts Label, that contain a blend of energy enhancing vitamins, minerals, herbals, stimulants, etc.
ERP or database applications programming services 81111507A0000 ERP or database applications programming services
Fire Extinguishers 46191601A0000 Fire Extinguishers
Firearm Accessories 46101506A0001 Firearm accessories including repair parts, cleaning products, holsters, mounted safety equipment, choke tubes, scopes, shooting tripod/bipod/monopod, shooting bags/pouches, sights, etc.
Firearms 46101500A0001 Firearms, limited to pistols, revolvers, rifles, and shotguns.
Food & Groceries 40030 Food for humans consumption, unprepared
Food and Beverage - Alcoholic beverages - Beer/Malt Beverages 50202201A0000 Food and Beverage - Alcoholic beverages - Beer/Malt Beverages
Food and Beverage - Alcoholic beverages - Spirits 50202206A0000 Food and Beverage - Alcoholic beverages - Spirits
Food and Beverage - Alcoholic beverages - Wine 50202203A0000 Food and Beverage - Wine
Food and Beverage - Baby foods and formulas 42231800A0000 Food and Beverage - Baby foods and formulas
Food and Beverage - Bread and Flour Products 50180000A0000 Food and Beverage - Bread and Flour Products
Food and Beverage - Butter, Margarine, Shortening and Cooking Oils 50151500A0000 Food and Beverage - Butter, Margarine, Shortening and Cooking Oils
Food and Beverage - Candy 50161800A0000 Food and Beverage - Candy
Food and Beverage - Candy containing flour as an ingredient 50161800A0001 Food and Beverage - Candy containing flour as an ingredient
Food and Beverage - Cheese 50131800A0000 Food and Beverage - Cheese
Food and Beverage - Cocoa and Cocoa products 50161511A0000 Food and Beverage - Cocoa and Cocoa products
Food and Beverage - Coffee, coffee substitutes and tea 50201700A0000 Food and Beverage - Coffee, coffee substitutes and tea
Food and Beverage - Cooking Ingredients 50181700A0000 Food and Beverage - Cooking Ingredients
Food and Beverage - Cooking spices 50171500A0000 Food and Beverage - Cooking spices
Food and Beverage - Dried fruit, unsweetened 50320000A0000 Food and Beverage - Dried fruit, unsweetened
Food and Beverage - Eggs and egg products 50131600A0000 Food and Beverage - Eggs and egg products
Food and Beverage - Fish and seafood 50121500A0000 Food and Beverage - Fish and seafood
Food and Beverage - Food and Food Ingredients for Home Consumption 50000000A0000 Food and Beverage - Food and Food Ingredients for Home Consumption
Food and Beverage - Foods for Immediate Consumption 90100000A0001 Food and Beverage - Foods for Immediate Consumption
Food and Beverage - Fruit 50300000A0000 Food and Beverage - Fruit
Food and Beverage - Grains, Rice, Cereal 50221200A0000 Food and Beverage - Grains, Rice, Cereal
Food and Beverage - Granola Bars, Cereal Bars, Energy Bars, Protein Bars containing flour 50221202A0001 Food and Beverage - Granola Bars, Cereal Bars, Energy Bars, Protein Bars containing flour
Food and Beverage - Granola Bars, Cereal Bars, Energy Bars, Protein Bars containing no flour 50221202A0002 Food and Beverage - Granola Bars, Cereal Bars, Energy Bars, Protein Bars containing no flour
Food and Beverage - Honey, Maple Syrup 50161509A0000 Food and Beverage - Honey, Maple Syrup
Food and Beverage - Ice Cream, packaged 50192303A0000 Food and Beverage - Ice Cream, packaged
Food and Beverage - Ice Cream, sold in container less than one pint 50192304A0000 Food and Beverage - Ice Cream, sold in container less than one pint
Food and Beverage - Ice cubes 50202302A0000 Food and Beverage - Ice cubes
Food and Beverage - Jams and Jellies 50192401A0000 Food and Beverage - Jams and Jellies
Food and Beverage - Jello and pudding mixes 50192404A0000 Food and Beverage - Jello and pudding mixes
Food and Beverage - Meat and meat products 50110000A0000 Food and Beverage - Meat and meat products
Food and Beverage - Meat Sticks, Meat Jerky 50112000A0000 Food and Beverage - Meat Sticks, Meat Jerky
Food and Beverage - Milk and milk products 50131700A0000 Food and Beverage - Milk and milk products
Food and Beverage - Milk Substitutes 50151515A9000 Food and Beverage - Milk Substitutes
Food and Beverage - Non-Alcoholic Beer, Wine 50202300A0001 Food and Beverage - Non-Alcoholic Beer, Wine
Food and Beverage - Nut Butters 50480000A9000 Food and Beverage - Nut Butters
Food and Beverage - Nuts and seeds 50101716A0000 Food and Beverage - Nuts and seeds
Food and Beverage - Nuts and seeds that have been processed or treated by salting, spicing, smoking, roasting, or other means 50101716A0001 Food and Beverage - Processed Nuts and Seeds
Food and Beverage - Snack Foods 50192100A0000 Food and Beverage - Snack Foods
Food and Beverage - Sugar and Sugar Substitutes 50161900A0000 Food and Beverage - Sugar and Sugar Substitutes
Food and Beverage - Vegetables 50400000A0000 Food and Beverage - Vegetables
Food and Beverage - Vitamins and Supplements - labeled with nutritional facts 50501500A0001 Food and Beverage - Vitamins and Supplements - labeled with nutritional facts
Food and Beverage - Vitamins and Supplements - labeled with supplement facts 50501500A0000 Food and Beverage - Vitamins and Supplements
Food and Beverage - Yogurt 50131800A0001 Food and Beverage - Yogurt
Food Storage Cooler 52152002A0001 Non-electric food or beverage cooler.
Food/TPP Bundle - with Food 90% or more 50193400A0000 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising less 90% or more of the overall value of the bundle.
Food/TPP Bundle - with Food 90% or more - Food is all Candy 50193400A0001 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising 90% or more of the overall value of the bundle, where all food consists of candy (not containing flour).
Food/TPP Bundle - with Food between 50% and 75% 50193400A0002 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising between 50% and 75% of the overall value of the bundle.
Food/TPP Bundle - with Food between 50% and 75% - Food is all Candy 50193400A0003 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising between 50% and 75% of the overall value of the bundle, where all food consists of candy (not containing flour).
Food/TPP Bundle - with Food between 76% and 89% 50193400A0004 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising between 76% and 89% of the overall value of the bundle.
Food/TPP Bundle - with Food between 76% and 89% - Food is all Candy 50193400A0005 Food bundle or basket containing food staples combined with tangible personal property, with the food comprising between 76% and 89% of the overall value of the bundle, where all food consists of candy (not containing flour).
Food/TPP Bundle - with Food less than 50% 50193400A0006 Food/TPP Bundle - with Food less than 50%
Freezers- Energy Star 52141506A0000 Domestic freezers carrying Energy Star rating.
Furnaces - Energy Star 40101805A0000 Domestic gas or oil furnaces carrying an Energy Star rating.
Garden chainsaw 27112038A0000 Gas-powered chainsaw.
General Services 19000 Miscellaneous services which are not subject to a service-specific tax levy. This category will only treat services as taxable if the jurisdiction taxes services generally.
Gift Cards 14111803A0001 Gift Cards
Globes - Student 60104414A0001 A globe that could be used by a student in a course of study as a reference and to learn the subject being taught.
Graphing Calculators 44101808A0001 A handheld computer that is capable of plotting graphs, solving simultaneous equations, and performing other tasks with variables.
Ground Anchor Systems and Tie-down Kits 31162108A0000 Ground anchor systems and tie down kits for securing property against severe weather.
Gun Cases 46101801A0000 Hard and soft cases designed specifically for firearms equipment
Hairdressing Services 19008 Services provided to cut and style human hair.
Hardware as a service (HaaS) 81161900A0000 Hardware as a service (HaaS)
Headphones/Earbuds 52161514A0000 Headphones/Earbuds
Hearing Protection Earmuffs 46181902A0001 Protective earmuffs to muffle the sound of gunfire.
Heat Pumps - Energy Star 40101806A0000 Domestic air source heat pumps carrying Energy Star rating.
Incandescent Light Bulbs - Energy Star 39101612A0001 Standard incandescent light bulbs carrying an Energy Star rating.
Information management system for mine action IMSMA 81111710A0000 Information management system for mine action IMSMA
Installation Services 10040 Installation services separately stated from sales of tangible personal property.
Internet cloud storage service 81111513A0000 Internet cloud storage service
Internet or intranet client application development services 81111509A0000 Internet or intranet client application development services
Internet or intranet server application development services 81111510A0000 Internet or intranet server application development services
Irrigation Controls - WaterSense 21102503A0001 WaterSense labeled irrigation controllers, which act like a thermostat for your sprinkler system telling it when to turn on and off, use local weather and landscape conditions to tailor watering schedules to actual conditions on the site.
Landscape Soil, Mulch, Compost - Residential 11121700A0001 Landscape soil, mulch, compost - residential
LED Bulbs - Energy Star 39101628A0001 Light emitting diode (LED) bulbs carrying an Energy Star rating.
Local area network communications design 81111702A0000 Local area network communications design
Local area network LAN maintenance or support 81111803A0000 Local area network LAN maintenance or support
Magazine 81310 Periodicals, printed, sold individually
Magazines & Subscriptions 81300 Periodicals, printed, sold by subscription
Mainframe administration services 81111802A0000 Mainframe administration services
Mainframe software applications design 81111501A0000 Mainframe software applications design
Maps - Student 60103410A0001 A map that could be used by a student in a course of study as a reference and to learn the subject being taught.
Mobile Phone Batteries 43191501A0001 Mobile phone batteries
Mobile Phone Charging Device/cord 43191501A0002 Mobile phone charging device/cord
Modems 43222628A0000 Modems
Motherboards 43201513A0000 A motherboard is the physical component in a computer that contains the computer’s basic circuitry and other components
Musical instruments - Student 60130000A0001 Musical instruments - Student
Network planning services 81111706A0000 Network planning services
Non-Prescription 51010 Drugs for human use without a prescription
Nutritional Supplement/protein drinks, shakes - contains milk 50501703A0001 Ready to drink beverages, containing milk, formulated and labled for their nutritional value, such as increased caloric or protein intake.
Nutritional Supplement/protein drinks, shakes - contains no milk 50501703A0000 Ready to drink beverages, not containing milk, formulated and labled for their nutritional value, such as increased caloric or protein intake and containing natrual or artificial sweeteners.
Online data processing service 81112001A0000 Online data processing service
Online database information retrieval service 81111902A0000 Online database information retrieval service
Operating system programming services 81111505A0000 Operating system programming services
Padlocks - Student 46171501A0001 Portable locks used by students in a school setting to prevent use, theft, vandalism or harm.
Parking Services 19002 Service of providing usage of a parking space.
Personal computer PC application design 81111502A0000 Personal computer PC application design
Personal Computers 43211500A0001 Personal computers, including laptops, tablets, desktops.
Port Replicators 43211603A0000 A port replicator is an attachment for a notebook computer that allows a number of devices such as a printer, large monitor, and keyboard to be simultaneously connected.
Portable Fuel Container 24111808A0001 Portable fuel container
Portable Generator 26111604A0001 Portable generator used to provide light or communications or power appliances during a power outage.
Portable Light Sources 39111610A0000 Portable self-powered or battery powered light sources, including flashlights, lanterns, emergency glow sticks or light sticks.
Portable Radios 43191510A0000 Portable self-powered or battery powered radio, two-way radio, weatherband radio.
Powdered Drink Mixes - to be mixed with milk 50202311A0001 Powdered mixes to be reconstituted into a drinkable beverage using milk or a milk substitute.
Powdered Drink Mixes - to be mixed with water 50202311A0000 Powdered mixes to be reconstituted into a drinkable beverage using water.
Power cords 26121636A0000 Power cords
Prepared Foods 41000 Ready to eat foods intended to be consumed on site by humans. Foods not considered to be Food & Grocery (not food for home consumption or food which requires further preparation to consume).
Prescription 51020 Drugs for human use with a prescription
Printer Ink 44103105A0000 Printer Ink
Printer Paper 14111507A0000 Printer Paper
Printing Services 19009 Services provided to apply graphics and/or text to paper or other substrates which do not involve an exchange of tangible personal property.
Professional Services 19005 Professional services which are not subject to a service-specific tax levy.
Programmable Wall Thermostat - Energy Star 41112209A0001 An in home programmable thermostat, such as a WiFi enabled smart thermostat, carrying an Energy Star rating.
Proprietary or licensed systems maintenance or support 81111805A0000 Proprietary or licensed systems maintenance or support
Protein Powder 50501703A0002 Nutritional supplement in powder form, dairy based or plant based, focused on increasing ones intake of protein for various benefits.
Push pins/tacks 44122106A0000 Pins/tacks to secure papers, pictures, calendars, etc. to bulletin boards, walls, etc.
Quality assurance services 81111819A0000 Quality assurance services
Refrigerators - Energy Star 52141501A0000 Domestic standard size refrigerators carrying Energy Star rating.
Religious books 81120 Religious books and manuals, printed
Repair Services 19007 Services provided to restore tangible personal property to working order or optimal functionality.
Ropes and Cords 31151500A0000 Ropes and Cords
Routers 43222609A0000 Routers
Scanners 43211711A0000 Scanners
School Art Supplies 60121200A0001 An item commonly used by a student in a course of study for artwork. This category is limited to the following items…clay and glazes, paints, paintbrushes for artwork, sketch and drawing pads, watercolors.
School Supplies 44121600A0001 An item commonly used by a student in a course of study. This category is limited to the following items…binders, blackboard chalk, cellophane tape, compasses, composition books, crayons, erasers, folders, glue/paste/glue sticks, highlighters, index cards, index card boxes, legal pads, lunch boxes, markers, notebooks, paper ((copy, graph, tracing, manila, colored, construction, notebook), pencils, pencil boxes, pencil sharpeners, pens, posterboard, protractors, rulers, scissors, writing tablets.
Sheet music - Student 55101514A0000 Sheet music - Student
Shower Curtain or Liner 30181607A0000 Shower curtain/liner used to keep water from escaping a showering area.
Showerheads - WaterSense 30181801A0000 WaterSense labeled showerheads.
Smoke Detectors 46191501A0000 Smoke Detectors
Soft Drinks 40050 Soft drinks. Soda and similar drinks. Does not include water, juice, or milk.
Soft Drinks - Carbonated - 1 -9% vegetable juice 50202306A0002 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 1 - 9% natural vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 1-9% fruit juice 50202306A0001 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 1 - 9% natural fruit juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 10-24% fruit juice 50202306A0003 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 10 - 24% natural fruit juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 10-24% vegetable juice 50202306A0004 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 10 - 24% natural vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 100% fruit or vegetable juice 50202306A0011 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 100% natural fruit or vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 25-50% fruit juice 50202306A0005 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 25 - 50% natural fruit juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 25-50% vegetable juice 50202306A0006 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 25 - 50% natural vegetable juice. This does not flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 51-69% fruit juice 50202306A0007 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 51 - 69% natural fruit juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 51-69% vegetable juice 50202306A0008 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 51 - 69% natural vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 70-99% fruit juice 50202306A0009 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 70 - 99% natural fruit juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - 70-99% vegetable juice 50202306A0010 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 70 - 99% natural vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Carbonated - No fruit or vegetable juice 50202306A0000 Carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and zero natural fruit or vegetable juice. This does not include flavored carbonated water. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 1 -9% vegetable juice 50202304A0003 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 1 - 9% natural vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 1-9% fruit juice 50202304A0002 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 1 - 9% natural fruit juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 10-24% fruit juice 50202304A0004 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 10 - 24% natural fruit juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 10-24% vegetable juice 50202304A0005 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 10 - 24% natural vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 100% fruit or vegetable juice 50202304A0000 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 100% natural fruit or vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 25-50% fruit juice 50202304A0006 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 25 - 50% natural fruit juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 25-50% vegetable juice 50202304A0007 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 25 - 50% natural vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 51-69% fruit juice 50202304A0008 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 51 - 69% natural fruit juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 51-69% vegetable juice 50202304A0009 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 51 - 69% natural vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 70-99% fruit juice 50202304A0010 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 70 - 99% natural fruit juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - 70-99% vegetable juice 50202304A0011 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and 70 - 99% natural vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Soft Drinks - Non-Carbonated - No fruit or vegetable juice 50202304A0001 Non-carbonated nonalcoholic beverages that contain natural or artificial sweeteners, and zero natural fruit or vegetable juice. This does not include flavored water. This does include sweetened cocktail mixes that can be combined with alcohol. This does include beverages marketed as energy drinks that carry a Nutrition Facts label and contain a blend of energy enhancing ingredients.
Software - Custom, electronic delivery 43230000A2200 Software - Custom & delivered electronically
Software - Custom, electronic delivery - Business Use 43230000A9201 Software - Custom, electronic delivery - Business Use
Software - Custom, load and leave delivery 43230000A2300 Software - Custom & delivered by load & leave
Software - Custom, tangible media 43230000A2100 Software - Custom & delivered on tangible media
Software - Prewritten, delivered by digital keycode printed on tangible media 43230000A1400 Software - Prewritten & delivered by digital keycode printed on tangible media
Software - Prewritten, electronic delivery 43230000A1200 Software - Prewritten & delivered electronically
Software - Prewritten, electronic delivery - Business Use 43230000A9200 Software - Prewritten, electronic delivery - Business Use
Software - Prewritten, Electronic delivery - Non-recreational 43230000A1102 Canned software delivered electronically that is used for non-recreational purposes, such as Antivirus, Database, Educational, Financial, Word processing, etc.
Software - Prewritten, load and leave delivery 43230000A1300 Software - Prewritten & delivered by load and leave
Software - Prewritten, tangible media 43230000A1100 Software - Prewritten & delivered on tangible media
Software - Prewritten, tangible media - Non-recreational 43230000A1101 Canned software on tangible media that is used for non-recreational purposes, such as Antivirus, Database, Educational, Financial, Word processing, etc.
Software as a Service 30070 Pre-written software, delivered electronically, but access remotely.
Software coding service 81111810A0000 Software coding service
Software maintenance and support - Mandatory, custom, electronic delivery 81112200A2210 Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered electronically
Software maintenance and support - Mandatory, custom, load and leave delivery 81112200A2310 Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered by load and leave
Software maintenance and support - Mandatory, custom, tangible media 81112200A2110 Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered on tangible media
Software maintenance and support - Mandatory, prewritten, electronic delivery 81112200A1210 Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered electronically
Software maintenance and support - Mandatory, prewritten, load and leave delivery 81112200A1310 Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered by load and leave
Software maintenance and support - Mandatory, prewritten, tangible media 81112200A1110 Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered on tangible media
Software maintenance and support - Optional maintenance and support charges for custom software including items delivered on tangible media (includes support services only - no updates/upgrades) 81112200A2122 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered on tangible media (includes support services only - no updates/upgrades)
Software maintenance and support - Optional, custom, electronic delivery (incl. updates/upgrades) 81112200A2221 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered electronically (includes software updates/upgrades)
Software maintenance and support - Optional, custom, electronic delivery (support services only) 81112200A2222 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered electronically (includes support services only - no updates/upgrades)
Software maintenance and support - Optional, custom, load and leave delivery (incl. updates/upgrades) 81112200A2321 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered by load and leave (includes software updates/upgrades)
Software maintenance and support - Optional, custom, load and leave delivery (support services only) 81112200A2322 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered by load and leave (includes support services only - no updates/upgrades)
Software maintenance and support - Optional, custom, tangible media (incl. updates/upgrades) 81112200A2121 Software maintenance and support - Optional maintenance and support charges for custom software including items delivered on tangible media (includes software updates/upgrades)
Software maintenance and support - Optional, prewritten, electronic delivery (incl. updates/upgrades) 81112200A1221 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered electronically (includes software updates/upgrades)
Software maintenance and support - Optional, prewritten, electronic delivery (support services only) 81112200A1222 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered electronically (includes support services only - no updates/upgrades)
Software maintenance and support - Optional, prewritten, load and leave delivery (incl. updates/upgrades) 81112200A1321 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered by load and leave (includes software updates/upgrades)
Software maintenance and support - Optional, prewritten, load and leave delivery (support services only) 81112200A1322 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered by load and leave (includes support services only - no updates/upgrades)
Software maintenance and support - Optional, prewritten, tangible media (incl. updates/upgrades) 81112200A1121 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered on tangible media (includes software updates/upgrades)
Software maintenance and support - Optional, prewritten, tangible media (support services only) 81112200A1122 Software maintenance and support - Optional maintenance and support charges for prewritten software including items delivered on tangible media (includes support services only - no updates/upgrades)
Sound Cards 43201502A0000 A sound card is an expansion component used in computers to receive and send audio.
Spray Water Sprinkler Bodies - WaterSense 21101803A0001 WaterSense labeled sprinkler body is the exterior shell that connects to the irrigation system piping and houses the spray nozzle that applies water on the landscape.
Staplers/Staples 44121615A0000 A device that joins pages of paper or similar material by fastening a thin metal staple through the sheets and folding the ends underneath.
Storm shutters/window protection devices 30151801A0001 Plywood, window film, storm shutters, hurricane shutters or other materials specifically designed to protect windows.
Supplements 40020 Non-food dietary supplements
System analysis service 81111808A0000 System analysis service
System installation service 81111809A0000 System installation service
System or application programming management service 81111511A0000 System or application programming management service
System usability services 81111820A0000 System usability services
Systems architecture 81111705A0000 Systems architecture
Systems integration design 81111503A0000 Systems integration design
Systems planning services 81111707A0000 Systems planning services
Tarpaulins and Weatherproof Sheeting 24141506A0000 Tarps, plastic sheeting, plastic drop cloths, waterproof sheeting.
Technical support or help desk services 81111811A0000 Technical support or help desk services
Textbook 81110 Textbooks, printed
Toilets - WaterSense 30181505A0000 WaterSense labeled toilets.
Training Services 19004 Services provided to educate users on the proper use of a product.
Urinals - WaterSense 30181506A0000 WaterSense labeled urinals.
Video/Graphics Card 43201401A0000 An expansion card that allows the computer to send graphical information to a video display device such as a monitor, TV, or projector. Video cards are often used by gamers in place of integrated graphics due to their extra processing power and video ram.
Water Conserving Products 21102500A0001 Water conserving products are for conserving or retaining groundwater; recharging water tables; or decreasing ambient air temperature, and so limiting water evaporation. Examples include soil sufactants, a soaker or drip-irrigation hose, a moisture control for a sprinkler or irrigation system, a rain barrel or an alternative rain and moisture collection system, a permeable ground cover surface that allows water to reach underground basins, aquifers or water collection points.
Water heater - Energy Star 40101825A0000 Domestic water heater carrying Energy Star rating.
Water storage container 24111810A0001 Non-electric water container to store water for emergency usage.
Web Camera 45121520A0000 A webcam is a video camera that feeds or streams an image or video in real time to or through a computer to a computer network, such as the Internet. Webcams are typically small cameras that sit on a desk, attach to a user’s monitor, or are built into the hardware
Wide area network communications design 81111701A0000 Wide area network communications design
Wide area network WAN maintenance or support 81111804A0000 Wide area network WAN maintenance or support

Attributes

Parameter Type Description
product_tax_code string Tax code of the given product category.
name string Name of the given product category.
description string Description of the given product category.

Taxes

post Calculate sales tax for an order

Definition

client.tax_for_order
client.tax_for_order
client.taxForOrder();
$client->taxForOrder();
client.TaxForOrder();
client.taxForOrder();
client.TaxForOrder()
POST https://api.taxjar.com/v2/taxes

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '92093',
  :from_state => 'CA',
  :from_city => 'La Jolla',
  :from_street => '9500 Gilman Drive',
  :to_country => 'US',
  :to_zip => '90002',
  :to_state => 'CA',
  :to_city => 'Los Angeles',
  :to_street => '1335 E 103rd St',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'US',
      :zip => '92093',
      :state => 'CA',
      :city => 'La Jolla',
      :street => '9500 Gilman Drive',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :product_tax_code => '20010',
      :unit_price => 15,
      :discount => 0
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '92093',
  'from_state': 'CA',
  'from_city': 'La Jolla',
  'from_street': '9500 Gilman Drive',
  'to_country': 'US',
  'to_zip': '90002',
  'to_state': 'CA',
  'to_city': 'Los Angeles',
  'to_street': '1335 E 103rd St',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'US',
      'zip': '92093',
      'state': 'CA',
      'city': 'La Jolla',
      'street': '9500 Gilman Drive'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'product_tax_code': '20010',
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '92093',
  from_state: 'CA',
  from_city: 'La Jolla',
  from_street: '9500 Gilman Drive',
  to_country: 'US',
  to_zip: '90002',
  to_state: 'CA',
  to_city: 'Los Angeles',
  to_street: '1335 E 103rd St',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'US',
      zip: '92093',
      state: 'CA',
      city: 'La Jolla',
      street: '9500 Gilman Drive'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      product_tax_code: '20010',
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '92093',
  'from_state' => 'CA',
  'from_city' => 'La Jolla',
  'from_street' => '9500 Gilman Drive',
  'to_country' => 'US',
  'to_zip' => '90002',
  'to_state' => 'CA',
  'to_city' => 'Los Angeles',
  'to_street' => '1335 E 103rd St',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'US',
      'zip' => '92093',
      'state' => 'CA',
      'city' => 'La Jolla',
      'street' => '9500 Gilman Drive',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'product_tax_code' => '20010',
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "92093",
  from_state = "CA",
  from_city = "La Jolla",
  from_street = "9500 Gilman Drive",
  to_country = "US",
  to_zip = "90002",
  to_state = "CA",
  to_city = "Los Angeles",
  to_street = "1335 E 103rd St",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "US",
      zip = "92093",
      state = "CA",
      city = "La Jolla",
      street = "9500 Gilman Drive",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      product_tax_code = "20010",
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "92093");
            params.put("from_state", "CA");
            params.put("from_city", "La Jolla");
            params.put("from_street", "9500 Gilman Drive");
            params.put("to_country", "US");
            params.put("to_zip", "90002");
            params.put("to_state", "CA");
            params.put("to_city", "Los Angeles");
            params.put("to_street", "1335 E 103rd St");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "US");
            nexusAddress.put("zip", "92093");
            nexusAddress.put("state", "CA");
            nexusAddress.put("city", "La Jolla");
            nexusAddress.put("street", "9500 Gilman Drive");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("product_tax_code", "20010");
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "US",
        FromZip:        "92093",
        FromState:      "CA",
        FromCity:       "La Jolla",
        FromStreet:     "9500 Gilman Drive",
        ToCountry:      "US",
        ToZip:          "90002",
        ToState:        "CA",
        ToCity:         "Los Angeles",
        ToStreet:       "1335 E 103rd St",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress {
            {
                ID:      "Main Location",
                Country: "US",
                Zip:     "92093",
                State:   "CA",
                City:    "La Jolla",
                Street:  "9500 Gilman Drive",
            },
        },
        LineItems: []taxjar.TaxLineItem {
            {
                ID:             "1",
                Quantity:       1,
                ProductTaxCode: "20010",
                UnitPrice:      15,
                Discount:       0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "US",
    "from_zip": "92093",
    "from_state": "CA",
    "from_city": "La Jolla",
    "from_street": "9500 Gilman Drive",
    "to_country": "US",
    "to_zip": "90002",
    "to_state": "CA",
    "to_city": "Los Angeles",
    "to_street": "1335 E 103rd St",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "US",
        "zip": "92093",
        "state": "CA",
        "city": "La Jolla",
        "street": "9500 Gilman Drive"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "product_tax_code": "20010",
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: Canada

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'CA',
  :from_zip => 'V6G 3E2',
  :from_state => 'BC',
  :from_city => 'Vancouver',
  :from_street => '845 Avison Way',
  :to_country => 'CA',
  :to_zip => 'M5V 2T6',
  :to_state => 'ON',
  :to_city => 'Toronto',
  :to_street => '301 Front St W',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'CA',
      :zip => 'V6G 3E2',
      :state => 'BC',
      :city => 'Vancouver',
      :street => '845 Avison Way',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :unit_price => 15,
      :discount => 0
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'CA',
  'from_zip': 'V6G 3E2',
  'from_state': 'BC',
  'from_city': 'Vancouver',
  'from_street': '845 Avison Way',
  'to_country': 'CA',
  'to_zip': 'M5V 2T6',
  'to_state': 'ON',
  'to_city': 'Toronto',
  'to_street': '301 Front St W',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'CA',
      'zip': 'V6G 3E2',
      'state': 'BC',
      'city': 'Vancouver',
      'street': '845 Avison Way'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'CA',
  from_zip: 'V6G 3E2',
  from_state: 'BC',
  from_city: 'Vancouver',
  from_street: '845 Avison Way',
  to_country: 'CA',
  to_zip: 'M5V 2T6',
  to_state: 'ON',
  to_city: 'Toronto',
  to_street: '301 Front St W',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'CA',
      zip: 'V6G 3E2',
      state: 'BC',
      city: 'Vancouver',
      street: '845 Avison Way'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'CA',
  'from_zip' => 'V6G 3E2',
  'from_state' => 'BC',
  'from_city' => 'Vancouver',
  'from_street' => '845 Avison Way',
  'to_country' => 'CA',
  'to_zip' => 'M5V 2T6',
  'to_state' => 'ON',
  'to_city' => 'Toronto',
  'to_street' => '301 Front St W',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'CA',
      'zip' => 'V6G 3E2',
      'state' => 'BC',
      'city' => 'Vancouver',
      'street' => '845 Avison Way',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "CA",
  from_zip = "V6G 3E2",
  from_state = "BC",
  from_city = "Vancouver",
  from_street = "845 Avison Way",
  to_country = "CA",
  to_zip = "M5V 2T6",
  to_state = "ON",
  to_city = "Toronto",
  to_street = "301 Front St W",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "US",
      zip = "V6G 3E2",
      state = "BC",
      city = "Vancouver",
      street = "845 Avison Way",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CanadaTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "CA");
            params.put("from_zip", "V6G 3E2");
            params.put("from_state", "BC");
            params.put("from_city", "Vancouver");
            params.put("from_street", "845 Avison Way");
            params.put("to_country", "CA");
            params.put("to_zip", "M5V 2T6");
            params.put("to_state", "ON");
            params.put("to_city", "Toronto");
            params.put("to_street", "301 Front St W");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "US");
            nexusAddress.put("zip", "V6G 3E2");
            nexusAddress.put("state", "BC");
            nexusAddress.put("city", "Vancouver");
            nexusAddress.put("street", "845 Avison Way");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "CA",
        FromZip:        "V6G 3E2",
        FromState:      "BC",
        FromCity:       "Vancouver",
        FromStreet:     "845 Avison Way",
        ToCountry:      "CA",
        ToZip:          "M5V 2T6",
        ToState:        "ON",
        ToCity:         "Toronto",
        ToStreet:       "301 Front St W",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress{
            {
                ID:      "Main Location",
                Country: "US",
                Zip:     "V6G 3E2",
                State:   "BC",
                City:    "Vancouver",
                Street:  "845 Avison Way",
            },
        },
        LineItems: []taxjar.TaxLineItem{
            {
                ID:        "1",
                Quantity:  1,
                UnitPrice: 15,
                Discount:  0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "CA",
    "from_zip": "V6G 3E2",
    "from_state": "BC",
    "from_city": "Vancouver",
    "from_street": "845 Avison Way",
    "to_country": "CA",
    "to_zip": "M5V 2T6",
    "to_state": "ON",
    "to_city": "Toronto",
    "to_street": "301 Front St W",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "CA",
        "zip": "V6G 3E2",
        "state": "BC",
        "city": "Vancouver",
        "street": "845 Avison Way"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: Australia

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'AU',
  :from_zip => 'NSW 2000',
  :from_city => 'Sydney',
  :from_street => '483 George St',
  :to_country => 'AU',
  :to_zip => 'VIC 3002',
  :to_city => 'Richmond',
  :to_street => 'Brunton Ave',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'AU',
      :zip => 'NSW 2000',
      :city => 'Sydney',
      :street => '483 George St',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :unit_price => 15,
      :discount => 0
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'AU',
  'from_zip': 'NSW 2000',
  'from_city': 'Sydney',
  'from_street': '483 George St',
  'to_country': 'AU',
  'to_zip': 'VIC 3002',
  'to_city': 'Richmond',
  'to_street': 'Brunton Ave',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'AU',
      'zip': 'NSW 2000',
      'city': 'Sydney',
      'street': '483 George St'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'AU',
  from_zip: 'NSW 2000',
  from_city: 'Sydney',
  from_street: '483 George St',
  to_country: 'AU',
  to_zip: 'VIC 3002',
  to_city: 'Richmond',
  to_street: 'Brunton Ave',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'AU',
      zip: 'NSW 2000',
      city: 'Sydney',
      street: '483 George St'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'AU',
  'from_zip' => 'NSW 2000',
  'from_city' => 'Sydney',
  'from_street' => '483 George St',
  'to_country' => 'AU',
  'to_zip' => 'VIC 3002',
  'to_city' => 'Richmond',
  'to_street' => 'Brunton Ave',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'AU',
      'zip' => 'NSW 2000',
      'city' => 'Sydney',
      'street' => '483 George St',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "AU",
  from_zip = "NSW 2000",
  from_city = "Sydney",
  from_street = "483 George St",
  to_country = "AU",
  to_zip = "VIC 3002",
  to_city = "Richmond",
  to_street = "Brunton Ave",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "AU",
      zip = "NSW 2000",
      city = "Sydney",
      street = "483 George St",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class AustraliaTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "AU");
            params.put("from_zip", "NSW 2000");
            params.put("from_city", "Sydney");
            params.put("from_street", "483 George St");
            params.put("to_country", "AU");
            params.put("to_zip", "VIC 3002");
            params.put("to_city", "Richmond");
            params.put("to_street", "Brunton Ave");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "AU");
            nexusAddress.put("zip", "NSW 2000");
            nexusAddress.put("city", "Sydney");
            nexusAddress.put("street", "483 George St");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "AU",
        FromZip:        "NSW 2000",
        FromCity:       "Sydney",
        FromStreet:     "483 George St",
        ToCountry:      "AU",
        ToZip:          "VIC 3002",
        ToCity:         "Richmond",
        ToStreet:       "Brunton Ave",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress{
            {
                ID:      "Main Location",
                Country: "AU",
                Zip:     "NSW 2000",
                City:    "Sydney",
                Street:  "483 George St",
            },
        },
        LineItem: []taxjar.TaxLineItem {
            {
                ID:        "1",
                Quantity:  1,
                UnitPrice: 15,
                Discount:  0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "AU",
    "from_zip": "NSW 2000",
    "from_city": "Sydney",
    "from_street": "483 George St",
    "to_country": "AU",
    "to_zip": "VIC 3002",
    "to_city": "Richmond",
    "to_street": "Brunton Ave",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "AU",
        "zip": "NSW 2000",
        "city": "Sydney",
        "street": "483 George St"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: European Union

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'FR',
  :from_zip => '75008',
  :from_city => 'Paris',
  :from_street => '55 Rue du Faubourg Saint-Honoré',
  :to_country => 'FR',
  :to_zip => '13281',
  :to_city => 'Marseille',
  :to_street => 'Rue Fort du Sanctuaire',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'FR',
      :zip => '75008',
      :city => 'Paris',
      :street => '55 Rue du Faubourg Saint-Honoré',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :unit_price => 15,
      :discount => 0
    }
  ]
})
# coding=utf-8
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'FR',
  'from_zip': '75008',
  'from_city': 'Paris',
  'from_street': '55 Rue du Faubourg Saint-Honoré',
  'to_country': 'FR',
  'to_zip': '13281',
  'to_city': 'Marseille',
  'to_street': 'Rue Fort du Sanctuaire',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'FR',
      'zip': '75008',
      'city': 'Paris',
      'street': '55 Rue du Faubourg Saint-Honoré'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'FR',
  from_zip: '75008',
  from_city: 'Paris',
  from_street: '55 Rue du Faubourg Saint-Honoré',
  to_country: 'FR',
  to_zip: '13281',
  to_city: 'Marseille',
  to_street: 'Rue Fort du Sanctuaire',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'CA',
      zip: '75008',
      city: 'Paris',
      street: '55 Rue du Faubourg Saint-Honoré'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'FR',
  'from_zip' => '75008',
  'from_city' => 'Paris',
  'from_street' => '55 Rue du Faubourg Saint-Honoré',
  'to_country' => 'FR',
  'to_zip' => '13281',
  'to_city' => 'Marseille',
  'to_street' => 'Rue Fort du Sanctuaire',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'FR',
      'zip' => '75008',
      'city' => 'Paris',
      'street' => '55 Rue du Faubourg Saint-Honoré',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "FR",
  from_zip = "75008",
  from_city = "Paris",
  from_street = "55 Rue du Faubourg Saint-Honoré",
  to_country = "FR",
  to_zip = "13281",
  to_city = "Marseille",
  to_street = "Rue Fort du Sanctuaire",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "FR",
      zip = "75008",
      city = "Paris",
      street = "55 Rue du Faubourg Saint-Honoré",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class EuropeanUnionTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "FR");
            params.put("from_zip", "75008");
            params.put("from_city", "Paris");
            params.put("from_street", "55 Rue du Faubourg Saint-Honoré");
            params.put("to_country", "FR");
            params.put("to_zip", "13281");
            params.put("to_city", "Marseille");
            params.put("to_street", "Rue Fort du Sanctuaire");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "FR");
            nexusAddress.put("zip", "75008");
            nexusAddress.put("city", "Paris");
            nexusAddress.put("street", "55 Rue du Faubourg Saint-Honoré");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "FR",
        FromZip:        "75008",
        FromCity:       "Paris",
        FromStreet:     "55 Rue du Faubourg Saint-Honoré",
        ToCountry:      "FR",
        ToZip:          "13281",
        ToCity:         "Marseille",
        ToStreet:       "Rue Fort du Sanctuaire",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress{
            {
                ID:      "Main Location",
                Country: "FR",
                Zip:     "75008",
                City:    "Paris",
                Street:  "55 Rue du Faubourg Saint-Honoré",
            },
        },
        LineItems: []taxjar.TaxLineItem{
            {
                ID:        "1",
                Quantity:  1,
                UnitPrice: 15,
                Discount:  0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "FR",
    "from_zip": "75008",
    "from_city": "Paris",
    "from_street": "55 Rue du Faubourg Saint-Honoré",
    "to_country": "FR",
    "to_zip": "13281",
    "to_city": "Marseille",
    "to_street": "Rue Fort du Sanctuaire",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "FR",
        "zip": "75008",
        "city": "Paris",
        "street": "55 Rue du Faubourg Saint-Honoré"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: Origin-Based Sourcing Calculate sales tax for origin-based states such as Texas. In origin-based states, sales tax should be collected based on where you, the seller, are located. If shipping from out of state, destination-based sourcing may apply. Review our state guides to learn how to collect sales tax where you have nexus.

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '78701',
  :from_state => 'TX',
  :from_city => 'Austin',
  :from_street => '1100 Congress Ave',
  :to_country => 'US',
  :to_zip => '77058',
  :to_state => 'TX',
  :to_city => 'Houston',
  :to_street => '1601 E NASA Pkwy',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'US',
      :zip => '78701',
      :state => 'TX',
      :city => 'Austin',
      :street => '1100 Congress Ave',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :unit_price => 15,
      :discount => 0
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '78701',
  'from_state': 'TX',
  'from_city': 'Austin',
  'from_street': '1100 Congress Ave',
  'to_country': 'US',
  'to_zip': '77058',
  'to_state': 'TX',
  'to_city': 'Houston',
  'to_street': '1601 E NASA Pkwy',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'US',
      'zip': '78701',
      'state': 'TX',
      'city': 'Austin',
      'street': '1100 Congress Ave'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '78701',
  from_state: 'TX',
  from_city: 'Austin',
  from_street: '1100 Congress Ave',
  to_country: 'US',
  to_zip: '77058',
  to_state: 'TX',
  to_city: 'Houston',
  to_street: '1601 E NASA Pkwy',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'US',
      zip: '78701',
      state: 'TX',
      city: 'Austin',
      street: '1100 Congress Ave'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '78701',
  'from_state' => 'TX',
  'from_city' => 'Austin',
  'from_street' => '1100 Congress Ave',
  'to_country' => 'US',
  'to_zip' => '77058',
  'to_state' => 'TX',
  'to_city' => 'Houston',
  'to_street' => '1601 E NASA Pkwy',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'US',
      'zip' => '78701',
      'state' => 'TX',
      'city' => 'Austin',
      'street' => '1100 Congress Ave',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "78701",
  from_state = "TX",
  from_city = "Austin",
  from_street = "1100 Congress Ave",
  to_country = "US",
  to_zip = "77058",
  to_state = "TX",
  to_city = "Houston",
  to_street = "1601 E NASA Pkwy",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "US",
      zip = "78701",
      state = "TX",
      city = "Austin",
      street = "1100 Congress Ave",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class OriginBasedSourcingTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "78701");
            params.put("from_state", "TX");
            params.put("from_city", "Austin");
            params.put("from_street", "1100 Congress Ave");
            params.put("to_country", "US");
            params.put("to_zip", "77058");
            params.put("to_state", "TX");
            params.put("to_city", "Houston");
            params.put("to_street", "1601 E NASA Pkwy");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "US");
            nexusAddress.put("zip", "78701");
            nexusAddress.put("state", "TX");
            nexusAddress.put("city", "Austin");
            nexusAddress.put("street", "1100 Congress Ave");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "US",
        FromZip:        "78701",
        FromState:      "TX",
        FromCity:       "Austin",
        FromStreet:     "1100 Congress Ave",
        ToCountry:      "US",
        ToZip:          "77058",
        ToState:        "TX",
        ToCity:         "Houston",
        ToStreet:       "1601 E NASA Pkwy",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress{
            {
                ID:      "Main Location",
                Country: "US",
                Zip:     "78701",
                State:   "TX",
                City:    "Austin",
                Street:  "1100 Congress Ave",
            },
        },
        LineItems: []taxjar.TaxLineItem{
            {
                ID:        "1",
                Quantity:  1,
                UnitPrice: 15,
                Discount:  0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "US",
    "from_zip": "78701",
    "from_state": "TX",
    "from_city": "Austin",
    "from_street": "1100 Congress Ave",
    "to_country": "US",
    "to_zip": "77058",
    "to_state": "TX",
    "to_city": "Houston",
    "to_street": "1601 E NASA Pkwy",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "US",
        "zip": "78701",
        "state": "TX",
        "city": "Austin",
        "street": "1100 Congress Ave"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: Shipping Exemptions If separately stated, shipping charges aren’t taxable in states such as California and Massachusetts. They are taxable if you include the charge as part of the price of the item.

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '02110',
  :from_state => 'MA',
  :from_city => 'Boston',
  :from_street => '1 Central Wharf',
  :to_country => 'US',
  :to_zip => '01608',
  :to_state => 'MA',
  :to_city => 'Worcester',
  :to_street => '455 Main St',
  :amount => 15,
  :shipping => 1.5,
  :nexus_addresses => [
    {
      :id => 'Main Location',
      :country => 'US',
      :zip => '02110',
      :state => 'MA',
      :city => 'Boston',
      :street => '1 Central Wharf',
    }
  ],
  :line_items => [
    {
      :id => '1',
      :quantity => 1,
      :unit_price => 15,
      :discount => 0
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '02110',
  'from_state': 'MA',
  'from_city': 'Boston',
  'from_street': '1 Central Wharf',
  'to_country': 'US',
  'to_zip': '01608',
  'to_state': 'MA',
  'to_city': 'Worcester',
  'to_street': '455 Main St',
  'amount': 15,
  'shipping': 1.5,
  'nexus_addresses': [
    {
      'id': 'Main Location',
      'country': 'US',
      'zip': '02110',
      'state': 'MA',
      'city': 'Boston',
      'street': '1 Central Wharf'
    }
  ],
  'line_items': [
    {
      'id': '1',
      'quantity': 1,
      'unit_price': 15,
      'discount': 0
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '02110',
  from_state: 'MA',
  from_city: 'Boston',
  from_street: '1 Central Wharf',
  to_country: 'US',
  to_zip: '01608',
  to_state: 'MA',
  to_city: 'Worcester',
  to_street: '455 Main St',
  amount: 15,
  shipping: 1.5,
  nexus_addresses: [
    {
      id: 'Main Location',
      country: 'US',
      zip: '02110',
      state: 'MA',
      city: 'Boston',
      street: '1 Central Wharf'
    }
  ],
  line_items: [
    {
      id: '1',
      quantity: 1,
      unit_price: 15,
      discount: 0
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '02110',
  'from_state' => 'MA',
  'from_city' => 'Boston',
  'from_street' => '1 Central Wharf',
  'to_country' => 'US',
  'to_zip' => '01608',
  'to_state' => 'MA',
  'to_city' => 'Worcester',
  'to_street' => '455 Main St',
  'amount' => 15,
  'shipping' => 1.5,
  'nexus_addresses' => [
    [
      'id' => 'Main Location',
      'country' => 'US',
      'zip' => '02110',
      'state' => 'MA',
      'city' => 'Boston',
      'street' => '1 Central Wharf',
    ]
  ],
  'line_items' => [
    [
      'id' => '1',
      'quantity' => 1,
      'unit_price' => 15,
      'discount' => 0
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "02110",
  from_state = "MA",
  from_city = "Boston",
  from_street = "1 Central Wharf",
  to_country = "US",
  to_zip = "01608",
  to_state = "MA",
  to_city = "Worcester",
  to_street = "455 Main St",
  amount = 15,
  shipping = 1.5,
  nexus_addresses = new[] {
    new {
      id = "Main Location",
      country = "US",
      zip = "02110",
      state = "MA",
      city = "Boston",
      street = "1 Central Wharf",
    }
  },
  line_items = new[] {
    new {
      id = "1",
      quantity = 1,
      unit_price = 15,
      discount = 0
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ShippingExemptionTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "02110");
            params.put("from_state", "MA");
            params.put("from_city", "Boston");
            params.put("from_street", "1 Central Wharf");
            params.put("to_country", "US");
            params.put("to_zip", "01608");
            params.put("to_state", "MA");
            params.put("to_city", "Worcester");
            params.put("to_street", "455 Main St");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            List<Map> nexusAddresses = new ArrayList();
            Map<String, Object> nexusAddress = new HashMap<>();
            nexusAddress.put("country", "US");
            nexusAddress.put("zip", "02110");
            nexusAddress.put("state", "MA");
            nexusAddress.put("city", "Boston");
            nexusAddress.put("street", "1 Central Wharf");
            nexusAddresses.add(nexusAddress);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("id", 1);
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItems.add(lineItem);

            params.put("nexus_addresses", nexusAddresses);
            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry:    "US",
        FromZip:        "02110",
        FromState:      "MA",
        FromCity:       "Boston",
        FromStreet:     "1 Central Wharf",
        ToCountry:      "US",
        ToZip:          "01608",
        ToState:        "MA",
        ToCity:         "Worcester",
        ToStreet:       "455 Main St",
        Amount:         15,
        Shipping:       1.5,
        NexusAddresses: []taxjar.NexusAddress{
            {
                ID:      "Main Location",
                Country: "US",
                Zip:     "02110",
                State:   "MA",
                City:    "Boston",
                Street:  "1 Central Wharf",
            }
        },
        LineItems: []taxjar.TaxLineItem{
            {
                ID:        "1",
                Quantity:  1,
                UnitPrice: 15,
                Discount:  0,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_country": "US",
    "from_zip": "02110",
    "from_state": "MA",
    "from_city": "Boston",
    "from_street": "1 Central Wharf",
    "to_country": "US",
    "to_zip": "01608",
    "to_state": "MA",
    "to_city": "Worcester",
    "to_street": "455 Main St",
    "amount": 15,
    "shipping": 1.5,
    "nexus_addresses": [
      {
        "id": "Main Location",
        "country": "US",
        "zip": "02110",
        "state": "MA",
        "city": "Boston",
        "street": "1 Central Wharf"
      }
    ],
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "unit_price": 15,
        "discount": 0
      }
    ]
  }'

Request Scenario: Clothing Exemptions Clothing items sold in New York under $110 are exempt from the state tax rate, but only exempt from county taxes in certain jurisdictions. We also handle clothing exemptions in states such as Pennsylvania and New Jersey.

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '12054',
  :from_state => 'NY',
  :from_city => 'Delmar',
  :to_country => 'US',
  :to_zip => '10541',
  :to_state => 'NY',
  :to_city => 'Mahopac',
  :amount => 29.94,
  :shipping => 7.99,
  :line_items => [
    {
      :quantity => 1,
      :unit_price => 19.99,
      :product_tax_code => '20010'
    },
    {
      :quantity => 1,
      :unit_price => 9.95,
      :product_tax_code => '20010'
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '12044',
  'from_state': 'NY',
  'from_city': 'Delmar',
  'to_country': 'US',
  'to_zip': '10541',
  'to_state': 'NY',
  'to_city': 'Mahopac',
  'amount': 29.94,
  'shipping': 7.99,
  'line_items': [
    {
      'quantity': 1,
      'unit_price': 19.99,
      'product_tax_code': '20010'
    },
    {
      'quantity': 1,
      'unit_price': 9.95,
      'product_tax_code': '20010'
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '12054',
  from_state: 'NY',
  from_city: 'Delmar',
  to_country: 'US',
  to_zip: '10541',
  to_state: 'NY',
  to_city: 'Mahopac',
  amount: 29.94,
  shipping: 7.99,
  line_items: [
    {
      quantity: 1,
      unit_price: 19.99,
      product_tax_code: '20010'
    },
    {
      quantity: 1,
      unit_price: 9.95,
      product_tax_code: '20010'
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '12054',
  'from_state' => 'NY',
  'from_city' => 'Delmar',
  'to_country' => 'US',
  'to_zip' => '10541',
  'to_state' => 'NY',
  'to_city' => 'Mahopac',
  'amount' => 29.94,
  'shipping' => 7.99,
  'line_items' => [
    [
      'quantity' => 1,
      'unit_price' => 19.99,
      'product_tax_code' => '20010'
    ],
    [
      'quantity' => 1,
      'unit_price' => 9.95,
      'product_tax_code' => '20010'
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "12054",
  from_state = "NY",
  from_city = "Delmar",
  to_country = "US",
  to_zip = "10541",
  to_state = "NY",
  to_city = "Mahopac",
  amount = 29.94,
  shipping = 7.99,
  line_items = new[] {
    new {
      quantity = 1,
      unit_price = 19.99,
      product_tax_code = "20010"
    },
    new {
      quantity = 1,
      unit_price = 9.95,
      product_tax_code = "20010"
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ClothingExemptionTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "12054");
            params.put("from_state", "NY");
            params.put("from_city", "Delmar");
            params.put("to_country", "US");
            params.put("to_zip", "10541");
            params.put("to_state", "NY");
            params.put("to_city", "Mahopac");
            params.put("amount", 29.94);
            params.put("shipping", 7.99);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 19.99);
            lineItem.put("product_tax_code", "20010");
            lineItems.add(lineItem);
            Map<String, Object> lineItem2 = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 9.95);
            lineItem.put("product_tax_code", "20010");
            lineItems.add(lineItem2);

            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry: "US",
        FromZip:     "12054",
        FromState:   "NY",
        FromCity:    "Delmar",
        ToCountry:   "US",
        ToZip:       "10541",
        ToState:     "NY",
        ToCity:      "Mahopac",
        Amount:      29.94,
        Shipping:    7.99,
        LineItems:   []taxjar.TaxLineItem{
            {
                Quantity:       1,
                UnitPrice:      19.99,
                ProductTaxCode: "20010",
            },
            {
                Quantity:       1,
                UnitPrice:      9.95,
                ProductTaxCode: "20010",
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_city": "Delmar",
    "from_state": "NY",
    "from_zip": "12054",
    "from_country": "US",
    "to_city": "Mahopac",
    "to_state": "NY",
    "to_zip": "10541",
    "to_country": "US",
    "amount": 29.94,
    "shipping": 7.99,
    "line_items": [
      {
        "quantity": 1,
        "unit_price": 19.99,
        "product_tax_code": "20010"
      },
      {
        "quantity": 1,
        "unit_price": 9.95,
        "product_tax_code": "20010"
      }
    ]
  }'

Request Scenario: Food & Grocery Exemptions Food and grocery items are exempt from all sales tax in states such as California, New York, and Texas.

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '94133',
  :from_state => 'CA',
  :from_city => 'San Francisco',
  :to_country => 'US',
  :to_zip => '90071',
  :to_state => 'CA',
  :to_city => 'Los Angeles',
  :amount => 29.94,
  :shipping => 7.99,
  :line_items => [
    {
      :quantity => 1,
      :unit_price => 19.99,
      :product_tax_code => '40030'
    },
    {
      :quantity => 1,
      :unit_price => 9.95,
      :product_tax_code => '40030'
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '94133',
  'from_state': 'CA',
  'from_city': 'San Francisco',
  'to_country': 'US',
  'to_zip': '90071',
  'to_state': 'CA',
  'to_city': 'Los Angeles',
  'amount': 29.94,
  'shipping': 7.99,
  'line_items': [
    {
      'quantity': 1,
      'unit_price': 19.99,
      'product_tax_code': '40030'
    },
    {
      'quantity': 1,
      'unit_price': 9.95,
      'product_tax_code': '40030'
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '94133',
  from_state: 'CA',
  from_city: 'San Francisco',
  to_country: 'US',
  to_zip: '90071',
  to_state: 'CA',
  to_city: 'Los Angeles',
  amount: 29.94,
  shipping: 7.99,
  line_items: [
    {
      quantity: 1,
      unit_price: 19.99,
      product_tax_code: '40030'
    },
    {
      quantity: 1,
      unit_price: 9.95,
      product_tax_code: '40030'
    }
  ]
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '94133',
  'from_state' => 'CA',
  'from_city' => 'San Francisco',
  'to_country' => 'US',
  'to_zip' => '90071',
  'to_state' => 'CA',
  'to_city' => 'Los Angeles',
  'amount' => 29.94,
  'shipping' => 7.99,
  'line_items' => [
    [
      'quantity' => 1,
      'unit_price' => 19.99,
      'product_tax_code' => '40030'
    ],
    [
      'quantity' => 1,
      'unit_price' => 9.95,
      'product_tax_code' => '40030'
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "94133",
  from_state = "CA",
  from_city = "San Francisco",
  to_country = "US",
  to_zip = "90071",
  to_state = "CA",
  to_city = "Los Angeles",
  amount = 29.94,
  shipping = 7.99,
  line_items = new[] {
    new {
      quantity = 1,
      unit_price = 19.99,
      product_tax_code = "40030"
    },
    new {
      quantity = 1,
      unit_price = 9.95,
      product_tax_code = "40030"
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FoodGroceryExemptionTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "94133");
            params.put("from_state", "CA");
            params.put("from_city", "San Francisco");
            params.put("to_country", "US");
            params.put("to_zip", "90071");
            params.put("to_state", "CA");
            params.put("to_city", "Los Angeles");
            params.put("amount", 29.94);
            params.put("shipping", 7.99);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 19.99);
            lineItem.put("product_tax_code", "20010");
            lineItems.add(lineItem);
            Map<String, Object> lineItem2 = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("unit_price", 9.95);
            lineItem.put("product_tax_code", "20010");
            lineItems.add(lineItem2);

            params.put("line_items", lineItems);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry: "US",
        FromZip:     "94133",
        FromState:   "CA",
        FromCity:    "San Francisco",
        ToCountry:   "US",
        ToZip:       "90071",
        ToState:     "CA",
        ToCity:      "Los Angeles",
        Amount:      29.94,
        Shipping:    7.99,
        LineItems:   []taxjar.TaxLineItem{
            {
                Quantity:       1,
                UnitPrice:      19.99,
                ProductTaxCode: "40030",
            },
            {
                Quantity:       1,
                UnitPrice:      9.95,
                ProductTaxCode: "40030",
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_city": "San Francisco",
    "from_state": "CA",
    "from_zip": "94133",
    "from_country": "US",
    "to_city": "Los Angeles",
    "to_state": "CA",
    "to_zip": "90071",
    "to_country": "US",
    "amount": 29.94,
    "shipping": 7.99,
    "line_items": [
      {
        "quantity": 1,
        "unit_price": 19.99,
        "product_tax_code": "40030"
      },
      {
        "quantity": 1,
        "unit_price": 9.95,
        "product_tax_code": "40030"
      }
    ]
  }'

Request Scenario: No Nexus For interstate transactions, nexus won’t trigger for the destination state unless you provide the destination state via nexus_addresses[] or have the destination state on file in your TaxJar account.

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.tax_for_order({
  :from_country => 'US',
  :from_zip => '33018',
  :from_state => 'FL',
  :from_city => 'Miami',
  :to_country => 'US',
  :to_zip => '97035',
  :to_state => 'OR',
  :to_city => 'Portland',
  :amount => 15,
  :shipping => 1.5
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.tax_for_order({
  'from_country': 'US',
  'from_zip': '33018',
  'from_state': 'FL',
  'from_city': 'Miami',
  'to_country': 'US',
  'to_zip': '97035',
  'to_state': 'OR',
  'to_city': 'Portland',
  'amount': 15,
  'shipping': 1.5
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.taxForOrder({
  from_country: 'US',
  from_zip: '33018',
  from_state: 'FL',
  from_city: 'Miami',
  to_country: 'US',
  to_zip: '97035',
  to_state: 'OR',
  to_city: 'Portland',
  amount: 15,
  shipping: 1.5
}).then(res => {
  res.tax; // Tax object
  res.tax.amount_to_collect; // Amount to collect
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order_taxes = $client->taxForOrder([
  'from_country' => 'US',
  'from_zip' => '33018',
  'from_state' => 'FL',
  'from_city' => 'Miami',
  'to_country' => 'US',
  'to_zip' => '97035',
  'to_state' => 'OR',
  'to_city' => 'Portland',
  'amount' => 15,
  'shipping' => 1.5
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var rates = client.TaxForOrder(new {
  from_country = "US",
  from_zip = "33018",
  from_state = "FL",
  from_city = "Miami",
  to_country = "US",
  to_zip = "97305",
  to_state = "OR",
  to_city = "Portland",
  amount = 15,
  shipping = 1.5
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.taxes.TaxResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class NoNexusTaxExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("from_country", "US");
            params.put("from_zip", "33018");
            params.put("from_state", "FL");
            params.put("from_city", "Miami");
            params.put("to_country", "US");
            params.put("to_zip", "97305");
            params.put("to_state", "OR");
            params.put("to_city", "Portland");
            params.put("amount", 15);
            params.put("shipping", 1.5);

            TaxResponse res = client.taxForOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.TaxForOrder(taxjar.TaxForOrderParams{
        FromCountry: "US",
        FromZip:     "33018",
        FromState:   "FL",
        FromCity:    "Miami",
        ToCountry:   "US",
        ToZip:       "97305",
        ToState:     "OR",
        ToCity:      "Portland",
        Amount:      15,
        Shipping:    1.5,
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Tax)
    }
}
$ curl https://api.taxjar.com/v2/taxes \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "from_city": "Miami",
    "from_state": "FL",
    "from_zip": "33018",
    "from_country": "US",
    "to_city": "Portland",
    "to_state": "OR",
    "to_zip": "97035",
    "to_country": "US",
    "amount": 15,
    "shipping": 1.5
  }'

Response Example

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 15,
    "amount_to_collect": 1.35,
    "rate": 0.09,
    "has_nexus": true,
    "freight_taxable": false,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "US",
      "state": "CA",
      "county": "LOS ANGELES",
      "city": "LOS ANGELES"
    },
    "breakdown": {
      "taxable_amount": 15,
      "tax_collectable": 1.35,
      "combined_tax_rate": 0.09,
      "state_taxable_amount": 15,
      "state_tax_rate": 0.0625,
      "state_tax_collectable": 0.94,
      "county_taxable_amount": 15,
      "county_tax_rate": 0.0025,
      "county_tax_collectable": 0.04,
      "city_taxable_amount": 0,
      "city_tax_rate": 0,
      "city_tax_collectable": 0,
      "special_district_taxable_amount": 15,
      "special_tax_rate": 0.025,
      "special_district_tax_collectable": 0.38,
      "line_items": [
        {
          "id": "1",
          "taxable_amount": 15,
          "tax_collectable": 1.35,
          "combined_tax_rate": 0.09,
          "state_taxable_amount": 15,
          "state_sales_tax_rate": 0.0625,
          "state_amount": 0.94,
          "county_taxable_amount": 15,
          "county_tax_rate": 0.0025,
          "county_amount": 0.04,
          "city_taxable_amount": 0,
          "city_tax_rate": 0,
          "city_amount": 0,
          "special_district_taxable_amount": 15,
          "special_tax_rate": 0.025,
          "special_district_amount": 0.38
        }
      ]
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 15.0,
  :amount_to_collect => 1.35,
  :rate => 0.09,
  :has_nexus => true,
  :freight_taxable => false,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'US',
    :state => 'CA',
    :county => 'LOS ANGELES',
    :city => 'LOS ANGELES'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 15.0,
    :tax_collectable => 1.35,
    :combined_tax_rate => 0.09,
    :state_taxable_amount => 15.0,
    :state_tax_rate => 0.0625,
    :state_tax_collectable => 0.94,
    :county_taxable_amount => 15.0,
    :county_tax_rate => 0.0025,
    :county_tax_collectable => 0.04,
    :city_taxable_amount => 0.0,
    :city_tax_rate => 0.0,
    :city_tax_collectable => 0.0,
    :special_district_taxable_amount => 15.0,
    :special_tax_rate => 0.025,
    :special_district_tax_collectable => 0.38,
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 1.35,
        :combined_tax_rate => 0.09,
        :state_taxable_amount => 15.0,
        :state_sales_tax_rate => 0.065,
        :state_amount => 0.94,
        :county_taxable_amount => 15.0,
        :county_tax_rate => 0.0025,
        :county_amount => 0.04,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 15.0,
        :special_tax_rate => 0.025,
        :special_district_amount => 0.38
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'special_district_taxable_amount': 15.0,
    'city_tax_rate': 0.0,
    'county_tax_collectable': 0.15,
    'county_taxable_amount': 15.0,
    'special_district_tax_collectable': 0.23,
    'line_items': [<TaxJarBreakdownLineItem {
      'special_district_taxable_amount': 15.0,
      'city_tax_rate': 0.0,
      'county_taxable_amount': 15.0,
      'special_district_amount': 0.23,
      'state_sales_tax_rate': 0.0625,
      'state_amount': 0.94,
      'city_taxable_amount': 0.0,
      'taxable_amount': 15.0,
      'special_tax_rate': 0.015,
      'state_taxable_amount': 15.0,
      'combined_tax_rate': 0.0875,
      'county_tax_rate': 0.01,
      'city_amount': 0.0,
      'county_amount': 0.15,
      'id': '1',
      'tax_collectable': 1.31
    }>],
    'taxable_amount': 15.0,
    'state_taxable_amount': 15.0,
    'combined_tax_rate': 0.0875,
    'state_tax_collectable': 0.94,
    'state_tax_rate': 0.0625,
    'city_tax_collectable': 0.0,
    'county_tax_rate': 0.01,
    'special_tax_rate': 0.015,
    'city_taxable_amount': 0.0,
    'tax_collectable': 1.31
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'US',
    'state': 'CA',
    'county': 'LOS ANGELES',
    'city': 'LOS ANGELES'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 1.5,
  'taxable_amount': 15.0,
  'rate': 0.0875,
  'freight_taxable': False,
  'amount_to_collect': 1.31,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    15,
        AmountToCollect:  1.35,
        Rate:             0.09,
        HasNexus:         true,
        FreightTaxable:   false,
        TaxSource:        "destination",
        Jurisdictions:    taxjar.Jurisdictions{
            Country: "US",
            State:   "CA",
            County:  "LOS ANGELES",
            City:    "LOS ANGELES",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:                 15,
            TaxCollectable:                1.35,
            CombinedTaxRate:               0.09,
            StateTaxableAmount:            15,
            StateTaxRate:                  0.0625,
            StateTaxCollectable:           0.94,
            CountyTaxableAmount:           15,
            CountyTaxRate:                 0.0025,
            CountyTaxCollectable:          0.04,
            CityTaxableAmount:             0,
            CityTaxRate:                   0,
            CityTaxCollectable:            0,
            SpecialDistrictTaxableAmount:  15,
            SpecialTaxRate:                0.025,
            SpecialDistrictTaxCollectable: 0.38,
            LineItems:                     []taxjar.LineItemBreakdown{
                {
                    ID:                           "1",
                    TaxableAmount:                15,
                    TaxCollectable:               1.35,
                    CombinedTaxRate:              0.09,
                    StateTaxableAmount:           15,
                    StateSalesTaxRate:            0.0625,
                    StateAmount:                  0.94,
                    CountyTaxableAmount:          15,
                    CountyTaxRate:                0.0025,
                    CountyAmount:                 0.04,
                    CityTaxableAmount:            0,
                    CityTaxRate:                  0,
                    CityAmount:                   0,
                    SpecialDistrictTaxableAmount: 15,
                    SpecialTaxRate:               0.025,
                    SpecialDistrictAmount:       0.38,
                },
            },
        },
    },
}

Response Scenario: Canada

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 16.5,
    "amount_to_collect": 2.15,
    "rate": 0.13,
    "has_nexus": true,
    "freight_taxable": true,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "CA",
      "state": "ON",
      "city": "TORONTO"
    },
    "breakdown": {
      "combined_tax_rate": 0.13,
      "gst": 0.83,
      "gst_tax_rate": 0.05,
      "gst_taxable_amount": 16.5,
      "line_items": [
        {
          "combined_tax_rate": 0.13,
          "gst": 0.75,
          "gst_tax_rate": 0.05,
          "gst_taxable_amount": 15,
          "id": "1",
          "pst": 1.2,
          "pst_tax_rate": 0.08,
          "pst_taxable_amount": 15,
          "qst": 0,
          "qst_tax_rate": 0,
          "qst_taxable_amount": 0,
          "tax_collectable": 1.95,
          "taxable_amount": 15
        }
      ],
      "pst": 1.32,
      "pst_tax_rate": 0.08,
      "pst_taxable_amount": 16.5,
      "qst": 0,
      "qst_tax_rate": 0,
      "qst_taxable_amount": 0,
      "shipping": {
        "combined_tax_rate": 0.13,
        "gst": 0.08,
        "gst_tax_rate": 0.05,
        "gst_taxable_amount": 1.5,
        "pst": 0.12,
        "pst_tax_rate": 0.08,
        "pst_taxable_amount": 1.5,
        "qst": 0,
        "qst_tax_rate": 0,
        "qst_taxable_amount": 0,
        "tax_collectable": 0.2,
        "taxable_amount": 1.5
      },
      "tax_collectable": 2.15,
      "taxable_amount": 16.5
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 16.5,
  :amount_to_collect => 2.15,
  :rate => 0.13,
  :has_nexus => true,
  :freight_taxable => true,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'CA',
    :state => 'ON',
    :city => 'TORONTO'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 16.5,
    :tax_collectable => 2.15,
    :combined_tax_rate => 0.13,
    :gst_taxable_amount => 16.5,
    :gst_tax_rate => 0.05,
    :gst => 0.83,
    :pst_taxable_amount => 16.5,
    :pst_tax_rate => 0.08,
    :pst => 1.32,
    :qst_taxable_amount => 0.0,
    :qst_tax_rate => 0.0,
    :qst => 0.0,
    :shipping => {
      :taxable_amount => 1.5,
      :tax_collectable => 0.2,
      :combined_tax_rate => 0.13,
      :gst_taxable_amount => 1.5,
      :gst_tax_rate => 0.05,
      :gst => 0.08,
      :pst_taxable_amount => 1.5,
      :pst_tax_rate => 0.08,
      :pst => 0.12,
      :qst_taxable_amount => 0.0,
      :qst_tax_rate => 0.0,
      :qst => 0.0
    },
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 1.95,
        :combined_tax_rate => 0.13,
        :gst_taxable_amount => 15.0,
        :gst_tax_rate => 0.05,
        :gst => 0.75,
        :pst_taxable_amount => 15.0,
        :pst_tax_rate => 0.08,
        :pst => 1.2,
        :qst_taxable_amount => 0.0,
        :qst_tax_rate => 0.0,
        :qst => 0.0
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'line_items': [
      <TaxJarBreakdownLineItem {
        'gst': 0.75,
        'pst_tax_rate': 0.08,
        'gst_tax_rate': 0.05,
        'taxable_amount': 15.0,
        'gst_taxable_amount': 15.0,
        'qst_taxable_amount': 0.0,
        'pst_taxable_amount': 15.0,
        'combined_tax_rate': 0.13,
        'qst': 0.0,
        'qst_tax_rate': 0.0,
        'id': '1',
        'pst': 1.2,
        'tax_collectable': 1.95
      }>
    ],
    'gst': 0.83,
    'pst_tax_rate': 0.08,
    'gst_tax_rate': 0.05,
    'shipping': {
      'gst': 0.08,
      'pst_tax_rate': 0.08,
      'gst_tax_rate': 0.05,
      'taxable_amount': 1.5,
      'gst_taxable_amount': 1.5,
      'qst_taxable_amount': 0.0,
      'pst_taxable_amount': 1.5,
      'combined_tax_rate': 0.13,
      'qst': 0.0,
      'qst_tax_rate': 0.0,
      'pst': 0.12,
      'tax_collectable': 0.2
    },
    'taxable_amount': 16.5,
    'gst_taxable_amount': 16.5,
    'qst_taxable_amount': 0.0,
    'pst_taxable_amount': 16.5,
    'combined_tax_rate': 0.13,
    'qst': 0.0,
    'qst_tax_rate': 0.0,
    'pst': 1.32,
    'tax_collectable': 2.15
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'CA',
    'state': 'ON',
    'city': 'TORONTO'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 1.5,
  'taxable_amount': 16.5,
  'rate': 0.13,
  'freight_taxable': True,
  'amount_to_collect': 2.15,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    16.5,
        AmountToCollect:  2.15,
        Rate:             0.13,
        HasNexus:         true,
        FreightTaxable:   true,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "CA",
            State:   "ON",
            City:    "TORONTO",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:    16.5,
            TaxCollectable:   2.15,
            CombinedTaxRate:  0.13,
            GSTTaxableAmount: 16.5,
            GSTTaxRate:       0.05,
            GST:              0.83,
            PSTTaxableAmount: 16.5,
            PSTTaxRate:       0.08,
            PST:              1.32,
            QSTTaxableAmount: 0.0,
            QSTTaxRate:       0.0,
            QST:              0.0,
            Shipping: taxjar.Shipping{
                TaxableAmount:    1.5,
                TaxCollectable:   0.2,
                CombinedTaxRate:  0.13,
                GSTTaxableAmount: 1.5,
                GSTTaxRate:       0.05,
                GST:              0.08,
                PSTTaxableAmount: 1.5,
                PSTTaxRate:       0.08,
                PST:              0.12,
                QSTTaxableAmount: 0.0,
                QSTTaxRate:       0.0,
                QST:              0.0,
            },
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:               "1",
                    TaxableAmount:    15.0,
                    TaxCollectable:   1.95,
                    CombinedTaxRate:  0.13,
                    GSTTaxableAmount: 15.0,
                    GSTTaxRate:       0.05,
                    GST:              0.75,
                    PSTTaxableAmount: 15.0,
                    PSTTaxRate:       0.08,
                    PST:              1.2,
                    QSTTaxableAmount: 0.0,
                    QSTTaxRate:       0.0,
                    QST:              0.0,
                },
            },
        },
    },
}

Response Scenario: Australia

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 16.5,
    "amount_to_collect": 1.65,
    "rate": 0.1,
    "has_nexus": true,
    "freight_taxable": true,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "AU"
    },
    "breakdown": {
      "combined_tax_rate": 0.1,
      "country_tax_collectable": 1.65,
      "country_tax_rate": 0.1,
      "country_taxable_amount": 16.5,
      "line_items": [
        {
          "combined_tax_rate": 0.1,
          "country_tax_collectable": 1.5,
          "country_tax_rate": 0.1,
          "country_taxable_amount": 15,
          "id": "1",
          "tax_collectable": 1.5,
          "taxable_amount": 15
        }
      ],
      "shipping": {
        "combined_tax_rate": 0.1,
        "country_tax_collectable": 0.15,
        "country_tax_rate": 0.1,
        "country_taxable_amount": 1.5,
        "tax_collectable": 0.15,
        "taxable_amount": 1.5
      },
      "tax_collectable": 1.65,
      "taxable_amount": 16.5
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 16.5,
  :amount_to_collect => 1.65,
  :rate => 0.1,
  :has_nexus => true,
  :freight_taxable => true,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'AU'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 16.5,
    :tax_collectable => 1.65,
    :combined_tax_rate => 0.1,
    :country_taxable_amount => 16.5,
    :country_tax_rate => 0.1,
    :country_tax_collectable => 1.65,
    :shipping => {
      :taxable_amount => 1.5,
      :tax_collectable => 0.15,
      :combined_tax_rate => 0.1,
      :country_taxable_amount => 1.5,
      :country_tax_rate => 0.1,
      :country_tax_collectable => 0.15
    },
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 1.5,
        :combined_tax_rate => 0.1,
        :country_taxable_amount => 15.0,
        :country_tax_rate => 0.1,
        :country_tax_collectable => 1.5
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'line_items': [
      <TaxJarBreakdownLineItem {
        'country_tax_collectable': 1.5,
        'country_taxable_amount': 15.0,
        'taxable_amount': 15.0,
        'combined_tax_rate': 0.1,
        'id': '1',
        'country_tax_rate': 0.1,
        'tax_collectable': 1.5
      }>
    ],
    'country_tax_collectable': 1.65,
    'shipping': {
      'country_tax_collectable': 0.15,
      'country_tax_rate': 0.1,
      'taxable_amount': 1.5,
      'combined_tax_rate': 0.1,
      'country_taxable_amount': 1.5,
      'tax_collectable': 0.15
    },
    'country_tax_rate': 0.1,
    'taxable_amount': 16.5,
    'combined_tax_rate': 0.1,
    'country_taxable_amount': 16.5,
    'tax_collectable': 1.65
  >},
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'AU'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 1.5,
  'taxable_amount': 16.5,
  'rate': 0.1,
  'freight_taxable': True,
  'amount_to_collect': 1.65,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    16.5,
        AmountToCollect:  1.65,
        Rate:             0.1,
        HasNexus:         true,
        FreightTaxable:   true,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "AU",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:         16.5,
            TaxCollectable:        1.65,
            CombinedTaxRate:       0.1,
            CountryTaxableAmount:  16.5,
            CountryTaxRate:        0.1,
            CountryTaxCollectable: 1.65,
            Shipping: taxjar.Shipping{
                TaxableAmount:         1.5,
                TaxCollectable:        0.15,
                CombinedTaxRate:       0.1,
                CountryTaxableAmount:  1.5,
                CountryTaxRate:        0.1,
                CountryTaxCollectable: 0.15,
            },
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:                    "1",
                    TaxableAmount:         15.0,
                    TaxCollectable:        1.5,
                    CombinedTaxRate:       0.1,
                    CountryTaxableAmount:  15.0,
                    CountryTaxRate:        0.1,
                    CountryTaxCollectable: 1.5,
                },
            },
        },
    },
}

Response Scenario: European Union

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 16.5,
    "amount_to_collect": 3.3,
    "rate": 0.2,
    "has_nexus": true,
    "freight_taxable": true,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "FR",
      "city": "MARSEILLE"
    },
    "breakdown": {
      "combined_tax_rate": 0.2,
      "country_tax_collectable": 3.3,
      "country_tax_rate": 0.2,
      "country_taxable_amount": 16.5,
      "line_items": [
        {
          "combined_tax_rate": 0.2,
          "country_tax_collectable": 3,
          "country_tax_rate": 0.2,
          "country_taxable_amount": 15,
          "id": "1",
          "tax_collectable": 3,
          "taxable_amount": 15
        }
      ],
      "shipping": {
        "combined_tax_rate": 0.2,
        "country_tax_collectable": 0.3,
        "country_tax_rate": 0.2,
        "country_taxable_amount": 1.5,
        "tax_collectable": 0.3,
        "taxable_amount": 1.5
      },
      "tax_collectable": 3.3,
      "taxable_amount": 16.5
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 16.5,
  :amount_to_collect => 3.3,
  :rate => 0.2,
  :has_nexus => true,
  :freight_taxable => true,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'FR',
    :city => 'MARSEILLE'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 16.5,
    :tax_collectable => 3.3,
    :combined_tax_rate => 0.2,
    :country_taxable_amount => 16.5,
    :country_tax_rate => 0.2,
    :country_tax_collectable => 3.3,
    :shipping => {
      :taxable_amount => 1.5,
      :tax_collectable => 0.3,
      :combined_tax_rate => 0.2,
      :country_taxable_amount => 1.5,
      :country_tax_rate => 0.2,
      :country_tax_collectable => 0.3
    },
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 3.0,
        :combined_tax_rate => 0.2,
        :country_taxable_amount => 15.0,
        :country_tax_rate => 0.2,
        :country_tax_collectable => 3.0
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'line_items': [
      <TaxJarBreakdownLineItem {
        'country_tax_collectable': 3.0,
        'country_taxable_amount': 15.0,
        'taxable_amount': 15.0,
        'combined_tax_rate': 0.2,
        'id': '1',
        'country_tax_rate': 0.2,
        'tax_collectable': 3.0
      }>
    ],
    'country_tax_collectable': 3.3,
    'shipping': {
      'country_tax_collectable': 0.3,
      'country_tax_rate': 0.2,
      'taxable_amount': 1.5,
      'combined_tax_rate': 0.2,
      'country_taxable_amount': 1.5,
      'tax_collectable': 0.3
    },
    'country_tax_rate': 0.2,
    'taxable_amount': 16.5,
    'combined_tax_rate': 0.2,
    'country_taxable_amount': 16.5,
    'tax_collectable': 3.3
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'FR',
    'city': 'MARSEILLE'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 1.5,
  'taxable_amount': 16.5,
  'rate': 0.2,
  'freight_taxable': True,
  'amount_to_collect': 3.3,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    16.5,
        AmountToCollect:  3.3,
        Rate:             0.2,
        HasNexus:         true,
        FreightTaxable:   true,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "FR",
            City:    "MARSEILLE",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:         16.5,
            TaxCollectable:        3.3,
            CombinedTaxRate:       0.2,
            CountryTaxableAmount:  16.5,
            CountryTaxRate:        0.2,
            CountryTaxCollectable: 3.3,
            Shipping: taxjar.Shipping{
                TaxableAmount:         1.5,
                TaxCollectable:        0.3,
                CombinedTaxRate:       0.2,
                CountryTaxableAmount:  1.5,
                CountryTaxRate:        0.2,
                CountryTaxCollectable: 0.3,
            },
            LineItems: []taxjar.LineItemBreakdown{
                ID:                    "1",
                TaxableAmount:         15.0,
                TaxCollectable:        3.0,
                CombinedTaxRate:       0.2,
                CountryTaxableAmount:  15.0,
                CountryTaxRate:        0.2,
                CountryTaxCollectable: 3.0,
            },
        },
    },
}

Response Scenario: Origin-Based Sourcing

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 16.5,
    "amount_to_collect": 1.36,
    "rate": 0.0825,
    "has_nexus": true,
    "freight_taxable": true,
    "tax_source": "origin",
    "jurisdictions": {
      "country": "US",
      "state": "TX",
      "county": "TRAVIS",
      "city": "AUSTIN"
    },
    "breakdown": {
      "city_tax_collectable": 0.17,
      "city_tax_rate": 0.01,
      "city_taxable_amount": 16.5,
      "combined_tax_rate": 0.0825,
      "county_tax_collectable": 0,
      "county_tax_rate": 0,
      "county_taxable_amount": 0,
      "line_items": [
        {
          "city_amount": 0.15,
          "city_tax_rate": 0.01,
          "city_taxable_amount": 15,
          "combined_tax_rate": 0.0825,
          "county_amount": 0,
          "county_tax_rate": 0,
          "county_taxable_amount": 0,
          "id": "1",
          "special_district_amount": 0.15,
          "special_district_taxable_amount": 15,
          "special_tax_rate": 0.01,
          "state_amount": 0.94,
          "state_sales_tax_rate": 0.0625,
          "state_taxable_amount": 15,
          "tax_collectable": 1.24,
          "taxable_amount": 15
        }
      ],
      "shipping": {
        "city_amount": 0.02,
        "city_tax_rate": 0.01,
        "city_taxable_amount": 1.5,
        "combined_tax_rate": 0.0825,
        "county_amount": 0,
        "county_tax_rate": 0,
        "county_taxable_amount": 0,
        "special_district_amount": 0.02,
        "special_tax_rate": 0.01,
        "special_taxable_amount": 1.5,
        "state_amount": 0.09,
        "state_sales_tax_rate": 0.0625,
        "state_taxable_amount": 1.5,
        "tax_collectable": 0.12,
        "taxable_amount": 1.5
      },
      "special_district_tax_collectable": 0.17,
      "special_district_taxable_amount": 16.5,
      "special_tax_rate": 0.01,
      "state_tax_collectable": 1.03,
      "state_tax_rate": 0.0625,
      "state_taxable_amount": 16.5,
      "tax_collectable": 1.36,
      "taxable_amount": 16.5
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 16.5,
  :amount_to_collect => 1.36,
  :rate => 0.0825,
  :has_nexus => true,
  :freight_taxable => true,
  :tax_source => "origin",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'US',
    :state => 'TX',
    :county => 'TRAVIS',
    :city => 'AUSTIN'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 16.5,
    :tax_collectable => 1.36,
    :combined_tax_rate => 0.0825,
    :state_taxable_amount => 16.5,
    :state_tax_rate => 0.0625,
    :state_tax_collectable => 1.03,
    :county_taxable_amount => 0.0,
    :county_tax_rate => 0.0,
    :county_tax_collectable => 0.0,
    :city_taxable_amount => 16.5,
    :city_tax_rate => 0.01,
    :city_tax_collectable => 0.17,
    :special_district_taxable_amount => 16.5,
    :special_tax_rate => 0.01,
    :special_district_tax_collectable => 0.17,
    :shipping => {
      :taxable_amount => 1.5,
      :tax_collectable => 0.12,
      :combined_tax_rate => 0.0825,
      :state_taxable_amount => 1.5,
      :state_sales_tax_rate => 0.0625,
      :state_amount => 0.09,
      :county_taxable_amount => 0.0,
      :county_tax_rate => 0.0,
      :county_amount => 0.0,
      :city_taxable_amount => 1.5,
      :city_tax_rate => 0.01,
      :city_amount => 0.02,
      :special_taxable_amount => 1.5,
      :special_tax_rate => 0.01,
      :special_district_amount => 0.02
    },
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 1.24,
        :combined_tax_rate => 0.0825,
        :state_taxable_amount => 15.0,
        :state_sales_tax_rate => 0.0625,
        :state_amount => 0.94,
        :county_taxable_amount => 0.0,
        :county_tax_rate => 0.0,
        :county_amount => 0.0,
        :city_taxable_amount => 15.0,
        :city_tax_rate => 0.01,
        :city_amount => 0.15,
        :special_district_taxable_amount => 15.0,
        :special_tax_rate => 0.01,
        :special_district_amount => 0.15
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'special_district_taxable_amount': 16.5,
    'city_tax_rate': 0.01,
    'county_tax_collectable': 0.0,
    'county_taxable_amount': 0.0,
    'special_district_tax_collectable': 0.17,
    'line_items': [
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 15.0,
        'city_tax_rate': 0.01,
        'county_taxable_amount': 0.0,
        'special_district_amount': 0.15,
        'state_sales_tax_rate': 0.0625,
        'state_amount': 0.94,
        'city_taxable_amount': 15.0,
        'taxable_amount': 15.0,
        'special_tax_rate': 0.01,
        'state_taxable_amount': 15.0,
        'combined_tax_rate': 0.0825,
        'county_tax_rate': 0.0,
        'city_amount': 0.15,
        'county_amount': 0.0,
        'id': '1',
        'tax_collectable': 1.24
      }>
    ],
    'shipping': {
      'city_tax_rate': 0.01,
      'county_taxable_amount': 0.0,
      'special_district_amount': 0.02,
      'state_sales_tax_rate': 0.0625,
      'state_amount': 0.09,
      'special_taxable_amount': 1.5,
      'city_amount': 0.02,
      'taxable_amount': 1.5,
      'state_taxable_amount': 1.5,
      'combined_tax_rate': 0.0825,
      'county_tax_rate': 0.0,
      'special_tax_rate': 0.01,
      'county_amount': 0.0,
      'city_taxable_amount': 1.5,
      'tax_collectable': 0.12
    },
    'taxable_amount': 16.5,
    'state_taxable_amount': 16.5,
    'combined_tax_rate': 0.0825,
    'state_tax_collectable': 1.03,
    'state_tax_rate': 0.0625,
    'city_tax_collectable': 0.17,
    'county_tax_rate': 0.0,
    'special_tax_rate': 0.01,
    'city_taxable_amount': 16.5,
    'tax_collectable': 1.36
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'US',
    'state': 'TX',
    'county': 'TRAVIS',
    'city': 'AUSTIN'
  }>,
  'has_nexus': True,
  'tax_source': 'origin',
  'shipping': 1.5,
  'taxable_amount': 16.5,
  'rate': 0.0825,
  'freight_taxable': True,
  'amount_to_collect': 1.36,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    16.5,
        AmountToCollect:  1.36,
        Rate:             0.0825,
        HasNexus:         true,
        FreightTaxable:   true,
        TaxSource:        "origin",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "US",
            State:   "TX",
            County:  "TRAVIS",
            City:    "AUSTIN",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:                 16.5,
            TaxCollectable:                1.36,
            CombinedTaxRate:               0.0825,
            StateTaxableAmount:            16.5,
            StateTaxRate:                  0.0625,
            StateTaxCollectable:           1.03,
            CountyTaxableAmount:           0.0,
            CountyTaxRate:                 0.0,
            CountyTaxCollectable:          0.0,
            CityTaxableAmount:             16.5,
            CityTaxRate:                   0.01,
            CityTaxCollectable:            0.17,
            SpecialDistrictTaxableAmount:  16.5,
            SpecialTaxRate:                0.01,
            SpecialDistrictTaxCollectable: 0.17,
            Shipping: taxjar.Shipping{
                TaxableAmount:         1.5,
                TaxCollectable:        0.12,
                CombinedTaxRate:       0.0825,
                StateTaxableAmount:    1.5,
                StateSalesTaxRate:     0.0625,
                StateAmount:           0.09,
                CountyTaxableAmount:   0.0,
                CountyTaxRate:         0.0,
                CountyAmount:          0.0,
                CityTaxableAmount:     1.5,
                CityTaxRate:           0.01,
                CityAmount:            0.02,
                SpecialTaxableAmount:  1.5,
                SpecialTaxRate:        0.01,
                SpecialDistrictAmount: 0.02,
            },
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:                           "1",
                    TaxableAmount:                15.0,
                    TaxCollectable:               1.24,
                    CombinedTaxRate:              0.0825,
                    StateTaxableAmount:           15.0,
                    StateSalesTaxRate:            0.0625,
                    StateAmount:                  0.94,
                    CountyTaxableAmount:          0.0,
                    CountyTaxRate:                0.0,
                    CountyAmount:                 0.0,
                    CityTaxableAmount:            15.0,
                    CityTaxRate:                  0.01,
                    CityAmount:                   0.15,
                    SpecialDistrictTaxableAmount: 15.0,
                    SpecialTaxRate:               0.01,
                    SpecialDistrictAmount:        0.15,
                },
            },
        },
    },
}

Response Scenario: Shipping Exemptions

{
  "tax": {
    "order_total_amount": 16.5,
    "shipping": 1.5,
    "taxable_amount": 15,
    "amount_to_collect": 0.94,
    "rate": 0.0625,
    "has_nexus": true,
    "freight_taxable": false,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "US",
      "state": "MA",
      "county": "WORCESTER",
      "city": "WORCESTER"
    },
    "breakdown": {
      "city_tax_collectable": 0,
      "city_tax_rate": 0,
      "city_taxable_amount": 0,
      "combined_tax_rate": 0.0625,
      "county_tax_collectable": 0,
      "county_tax_rate": 0,
      "county_taxable_amount": 0,
      "line_items": [
        {
          "city_amount": 0,
          "city_tax_rate": 0,
          "city_taxable_amount": 0,
          "combined_tax_rate": 0.0625,
          "county_amount": 0,
          "county_tax_rate": 0,
          "county_taxable_amount": 0,
          "id": "1",
          "special_district_amount": 0,
          "special_district_taxable_amount": 0,
          "special_tax_rate": 0,
          "state_amount": 0.94,
          "state_sales_tax_rate": 0.0625,
          "state_taxable_amount": 15,
          "tax_collectable": 0.94,
          "taxable_amount": 15
        }
      ],
      "special_district_tax_collectable": 0,
      "special_district_taxable_amount": 0,
      "special_tax_rate": 0,
      "state_tax_collectable": 0.94,
      "state_tax_rate": 0.0625,
      "state_taxable_amount": 15,
      "tax_collectable": 0.94,
      "taxable_amount": 15
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 16.5,
  :shipping => 1.5,
  :taxable_amount => 15.0,
  :amount_to_collect => 0.94,
  :rate => 0.0625,
  :has_nexus => true,
  :freight_taxable => false,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'US',
    :state => 'MA',
    :county => 'WORCESTER',
    :city => 'WORCESTER'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 15.0,
    :tax_collectable => 0.94,
    :combined_tax_rate => 0.0625,
    :state_taxable_amount => 15.0,
    :state_tax_rate => 0.0625,
    :state_tax_collectable => 0.94,
    :county_taxable_amount => 0.0,
    :county_tax_rate => 0.0,
    :county_tax_collectable => 0.0,
    :city_taxable_amount => 0.0,
    :city_tax_rate => 0.0,
    :city_tax_collectable => 0.0,
    :special_district_taxable_amount => 0.0,
    :special_tax_rate => 0.0,
    :special_district_tax_collectable => 0.0,
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 15.0,
        :tax_collectable => 0.94,
        :combined_tax_rate => 0.0625,
        :state_taxable_amount => 15.0,
        :state_sales_tax_rate => 0.0625,
        :state_amount => 0.94,
        :county_taxable_amount => 0.0,
        :county_tax_rate => 0.0,
        :county_amount => 0.0,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 0.0,
        :special_tax_rate => 0.0,
        :special_district_amount => 0.0
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'special_district_taxable_amount': 0.0,
    'city_tax_rate': 0.0,
    'county_tax_collectable': 0.0,
    'county_taxable_amount': 0.0,
    'special_district_tax_collectable': 0.0,
    'line_items': [
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 0.0,
        'city_tax_rate': 0.0,
        'county_taxable_amount': 0.0,
        'special_district_amount': 0.0,
        'state_sales_tax_rate': 0.0625,
        'state_amount': 0.94,
        'city_taxable_amount': 0.0,
        'taxable_amount': 15.0,
        'special_tax_rate': 0.0,
        'state_taxable_amount': 15.0,
        'combined_tax_rate': 0.0625,
        'county_tax_rate': 0.0,
        'city_amount': 0.0,
        'county_amount': 0.0,
        'id': '1',
        'tax_collectable': 0.94
      }>
    ],
    'taxable_amount': 15.0,
    'state_taxable_amount': 15.0,
    'combined_tax_rate': 0.0625,
    'state_tax_collectable': 0.94,
    'state_tax_rate': 0.0625,
    'city_tax_collectable': 0.0,
    'county_tax_rate': 0.0,
    'special_tax_rate': 0.0,
    'city_taxable_amount': 0.0,
    'tax_collectable': 0.94
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'US',
    'state': 'MA',
    'county': 'WORCESTER',
    'city': 'WORCESTER'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 1.5,
  'taxable_amount': 15.0,
  'rate': 0.0625,
  'freight_taxable': False,
  'amount_to_collect': 0.94,
  'order_total_amount': 16.5
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 16.5,
        Shipping:         1.5,
        TaxableAmount:    15.0,
        AmountToCollect:  0.94,
        Rate:             0.0625,
        HasNexus:         true,
        FreightTaxable:   false,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "US",
            State:   "MA",
            County:  "WORCESTER",
            City:    "WORCESTER",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:                 15.0,
            TaxCollectable:                0.94,
            CombinedTaxRate:               0.0625,
            StateTaxableAmount:            15.0,
            StateTaxRate:                  0.0625,
            StateTaxCollectable:           0.94,
            CountyTaxableAmount:           0.0,
            CountyTaxRate:                 0.0,
            CountyTaxCollectable:          0.0,
            CityTaxableAmount:             0.0,
            CityTaxRate:                   0.0,
            CityTaxCollectable:            0.0,
            SpecialDistrictTaxableAmount:  0.0,
            SpecialTaxRate:                0.0,
            SpecialDistrictTaxCollectable: 0.0,
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:                           "1",
                    TaxableAmount:                15.0,
                    TaxCollectable:               0.94,
                    CombinedTaxRate:              0.0625,
                    StateTaxableAmount:           15.0,
                    StateSalesTaxRate:            0.0625,
                    StateAmount:                  0.94,
                    CountyTaxableAmount:          0.0,
                    CountyTaxRate:                0.0,
                    CountyAmount:                 0.0,
                    CityTaxableAmount:            0.0,
                    CityTaxRate:                  0.0,
                    CityAmount:                   0.0,
                    SpecialDistrictTaxableAmount: 0.0,
                    SpecialTaxRate:               0.0,
                    SpecialDistrictAmount:        0.0,
                },
            },
        },
    },
}

Response Scenario: Clothing Exemptions

{
  "tax": {
    "order_total_amount": 37.93,
    "shipping": 7.99,
    "taxable_amount": 37.93,
    "amount_to_collect": 1.98,
    "rate": 0.05218,
    "has_nexus": true,
    "freight_taxable": true,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "US",
      "state": "NY",
      "county": "PUTNAM",
      "city": "MAHOPAC"
    },
    "breakdown": {
      "city_tax_collectable": 0,
      "city_tax_rate": 0,
      "city_taxable_amount": 0,
      "combined_tax_rate": 0.05218,
      "county_tax_collectable": 1.52,
      "county_tax_rate": 0.04,
      "county_taxable_amount": 37.93,
      "line_items": [
        {
          "city_amount": 0,
          "city_tax_rate": 0,
          "city_taxable_amount": 0,
          "combined_tax_rate": 0.04375,
          "county_amount": 0.8,
          "county_tax_rate": 0.04,
          "county_taxable_amount": 19.99,
          "id": "1",
          "special_district_amount": 0.07,
          "special_district_taxable_amount": 19.99,
          "special_tax_rate": 0.00375,
          "state_amount": 0,
          "state_sales_tax_rate": 0,
          "state_taxable_amount": 0,
          "tax_collectable": 0.87,
          "taxable_amount": 19.99
        },
        {
          "city_amount": 0,
          "city_tax_rate": 0,
          "city_taxable_amount": 0,
          "combined_tax_rate": 0.04375,
          "county_amount": 0.4,
          "county_tax_rate": 0.04,
          "county_taxable_amount": 9.95,
          "id": "2",
          "special_district_amount": 0.04,
          "special_district_taxable_amount": 9.95,
          "special_tax_rate": 0.00375,
          "state_amount": 0,
          "state_sales_tax_rate": 0,
          "state_taxable_amount": 0,
          "tax_collectable": 0.44,
          "taxable_amount": 9.95
        }
      ],
      "shipping": {
        "city_amount": 0,
        "city_tax_rate": 0,
        "city_taxable_amount": 0,
        "combined_tax_rate": 0.08375,
        "county_amount": 0.32,
        "county_tax_rate": 0.04,
        "county_taxable_amount": 7.99,
        "special_district_amount": 0.03,
        "special_tax_rate": 0.00375,
        "special_taxable_amount": 7.99,
        "state_amount": 0.32,
        "state_sales_tax_rate": 0.04,
        "state_taxable_amount": 7.99,
        "tax_collectable": 0.67,
        "taxable_amount": 7.99
      },
      "special_district_tax_collectable": 0.14,
      "special_district_taxable_amount": 37.93,
      "special_tax_rate": 0.00375,
      "state_tax_collectable": 0.32,
      "state_tax_rate": 0.04,
      "state_taxable_amount": 7.99,
      "tax_collectable": 1.98,
      "taxable_amount": 37.93
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 37.93,
  :shipping => 7.99,
  :taxable_amount => 37.93,
  :amount_to_collect => 1.98,
  :rate => 0.05218,
  :has_nexus => true,
  :freight_taxable => true,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'US',
    :state => 'NY',
    :county => 'PUTNAM',
    :city => 'MAHOPAC'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 37.93,
    :tax_collectable => 1.98,
    :combined_tax_rate => 0.05218,
    :state_taxable_amount => 7.99,
    :state_tax_rate => 0.04,
    :state_tax_collectable => 0.32,
    :county_taxable_amount => 37.93,
    :county_tax_rate => 0.04,
    :county_tax_collectable => 1.52,
    :city_taxable_amount => 0.0,
    :city_tax_rate => 0.0,
    :city_tax_collectable => 0.0,
    :special_district_taxable_amount => 37.93,
    :special_tax_rate => 0.00375,
    :special_district_tax_collectable => 0.14,
    :shipping => {
      :taxable_amount => 7.99,
      :tax_collectable => 0.67,
      :combined_tax_rate => 0.08375,
      :state_taxable_amount => 7.99,
      :state_sales_tax_rate => 0.04,
      :state_amount => 0.32,
      :county_taxable_amount => 7.99,
      :county_tax_rate => 0.04,
      :county_amount => 0.32,
      :city_taxable_amount => 0.0,
      :city_tax_rate => 0.0,
      :city_amount => 0.0,
      :special_taxable_amount => 7.99,
      :special_tax_rate => 0.00375,
      :special_district_amount => 0.03
    },
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 19.99,
        :tax_collectable => 0.87,
        :combined_tax_rate => 0.04375,
        :state_taxable_amount => 0.0,
        :state_sales_tax_rate => 0.0,
        :state_amount => 0.0,
        :county_taxable_amount => 19.99,
        :county_tax_rate => 0.04,
        :county_amount => 0.8,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 19.99,
        :special_tax_rate => 0.00375,
        :special_district_amount => 0.07
      }>,
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "2",
        :taxable_amount => 9.95,
        :tax_collectable => 0.44,
        :combined_tax_rate => 0.04375,
        :state_taxable_amount => 0.0,
        :state_sales_tax_rate => 0.0,
        :state_amount => 0.0,
        :county_taxable_amount => 9.95,
        :county_tax_rate => 0.04,
        :county_amount => 0.4,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 9.95,
        :special_tax_rate => 0.00375,
        :special_district_amount => 0.04
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'special_district_taxable_amount': 37.93,
    'city_tax_rate': 0.0,
    'county_tax_collectable': 1.52,
    'county_taxable_amount': 37.93,
    'special_district_tax_collectable': 0.14,
    'line_items': [
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 19.99,
        'city_tax_rate': 0.0,
        'county_taxable_amount': 19.99,
        'special_district_amount': 0.07,
        'state_sales_tax_rate': 0.0,
        'state_amount': 0.0,
        'city_taxable_amount': 0.0,
        'taxable_amount': 19.99,
        'special_tax_rate': 0.00375,
        'state_taxable_amount': 0.0,
        'combined_tax_rate': 0.04375,
        'county_tax_rate': 0.04,
        'city_amount': 0.0,
        'county_amount': 0.8,
        'id': '1',
        'tax_collectable': 0.87
      }>,
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 9.95,
        'city_tax_rate': 0.0,
        'county_taxable_amount': 9.95,
        'special_district_amount': 0.04,
        'state_sales_tax_rate': 0.0,
        'state_amount': 0.0,
        'city_taxable_amount': 0.0,
        'taxable_amount': 9.95,
        'special_tax_rate': 0.00375,
        'state_taxable_amount': 0.0,
        'combined_tax_rate': 0.04375,
        'county_tax_rate': 0.04,
        'city_amount': 0.0,
        'county_amount': 0.4,
        'id': '2',
        'tax_collectable': 0.44
      }>
    ],
    'shipping': {
      'city_tax_rate': 0.0,
      'county_taxable_amount': 7.99,
      'special_district_amount': 0.03,
      'state_sales_tax_rate': 0.04,
      'state_amount': 0.32,
      'special_taxable_amount': 7.99,
      'city_amount': 0.0,
      'taxable_amount': 7.99,
      'state_taxable_amount': 7.99,
      'combined_tax_rate': 0.08375,
      'county_tax_rate': 0.04,
      'special_tax_rate': 0.00375,
      'county_amount': 0.32,
      'city_taxable_amount': 0.0,
      'tax_collectable': 0.67
    },
    'taxable_amount': 37.93,
    'state_taxable_amount': 7.99,
    'combined_tax_rate': 0.05218,
    'state_tax_collectable': 0.32,
    'state_tax_rate': 0.04,
    'city_tax_collectable': 0.0,
    'county_tax_rate': 0.04,
    'special_tax_rate': 0.00375,
    'city_taxable_amount': 0.0,
    'tax_collectable': 1.98
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'US',
    'state': 'NY',
    'county': 'PUTNAM',
    'city': 'MAHOPAC'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 7.99,
  'taxable_amount': 37.93,
  'rate': 0.05218,
  'freight_taxable': True,
  'amount_to_collect': 1.98,
  'order_total_amount': 37.93
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 37.93,
        Shipping:         7.99,
        TaxableAmount:    37.93,
        AmountToCollect:  1.98,
        Rate:             0.05218,
        HasNexus:         true,
        FreightTaxable:   true,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "US",
            State:   "NY",
            County   "PUTNAM",
            City:    "MAHOPAC",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:                 37.93,
            TaxCollectable:                1.98,
            CombinedTaxRate:               0.05218,
            StateTaxableAmount:            7.99,
            StateTaxRate:                  0.04,
            StateTaxCollectable:           0.32,
            CountyTaxableAmount:           37.93,
            CountyTaxRate:                 0.04,
            CountyTaxCollectable:          1.52,
            CityTaxableAmount:             0.0,
            CityTaxRate:                   0.0,
            CityTaxCollectable:            0.0,
            SpecialDistrictTaxableAmount:  37.93,
            SpecialTaxRate:                0.00375,
            SpecialDistrictTaxCollectable: 0.14,
            Shipping: taxjar.Shipping{
                TaxableAmount:         7.99,
                TaxCollectable:        0.67,
                CombinedTaxRate:       0.08375,
                StateTaxableAmount:    7.99,
                StateSalesTaxRate:     0.04,
                StateAmount:           0.32,
                CountyTaxableAmount:   7.99,
                CountyTaxRate:         0.04,
                CountyAmount:          0.32,
                CityTaxableAmount:     0.0,
                CityTaxRate:           0.0,
                CityAmount:            0.0,
                SpecialTaxableAmount:  7.99,
                SpecialTaxRate:        0.00375,
                SpecialDistrictAmount: 0.03,
            },
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:                           "1",
                    TaxableAmount:                19.99,
                    TaxCollectable:               0.87,
                    CombinedTaxRate:              0.04375,
                    StateTaxableAmount:           0.0,
                    StateSalesTaxRate:            0.0,
                    StateAmount:                  0.0,
                    CountyTaxableAmount:          19.99,
                    CountyTaxRate:                0.04,
                    CountyAmount:                 0.8,
                    CityTaxableAmount:            0.0,
                    CityTaxRate:                  0.0,
                    CityAmount:                   0.0,
                    SpecialDistrictTaxableAmount: 19.99,
                    SpecialTaxRate:               0.00375,
                    SpecialDistrictAmount:        0.07,
                },
                {
                    ID:                           "2",
                    TaxableAmount:                9.95,
                    TaxCollectable:               0.44,
                    CombinedTaxRate:              0.04375,
                    StateTaxableAmount:           0.0,
                    StateSalesTaxRate:            0.0,
                    StateAmount:                  0.0,
                    CountyTaxableAmount:          9.95,
                    CountyTaxRate:                0.04,
                    CountyAmount:                 0.4,
                    CityTaxableAmount:            0.0,
                    CityTaxRate:                  0.0,
                    CityAmount:                   0.0,
                    SpecialDistrictTaxableAmount: 9.95,
                    SpecialTaxRate:               0.00375,
                    SpecialDistrictAmount:        0.04,
                },
            },
        },
    },
}

Response Scenario: Food & Grocery Exemptions

{
  "tax": {
    "order_total_amount": 37.93,
    "shipping": 7.99,
    "taxable_amount": 0,
    "amount_to_collect": 0,
    "rate": 0,
    "has_nexus": true,
    "freight_taxable": false,
    "tax_source": "destination",
    "jurisdictions": {
      "country": "US",
      "state": "CA",
      "county": "LOS ANGELES",
      "city": "LOS ANGELES"
    },
    "breakdown": {
      "city_tax_collectable": 0,
      "city_tax_rate": 0,
      "city_taxable_amount": 0,
      "combined_tax_rate": 0,
      "county_tax_collectable": 0,
      "county_tax_rate": 0,
      "county_taxable_amount": 0,
      "line_items": [
        {
          "city_amount": 0,
          "city_tax_rate": 0,
          "city_taxable_amount": 0,
          "combined_tax_rate": 0,
          "county_amount": 0,
          "county_tax_rate": 0,
          "county_taxable_amount": 0,
          "id": "1",
          "special_district_amount": 0,
          "special_district_taxable_amount": 0,
          "special_tax_rate": 0,
          "state_amount": 0,
          "state_sales_tax_rate": 0,
          "state_taxable_amount": 0,
          "tax_collectable": 0,
          "taxable_amount": 0
        },
        {
          "city_amount": 0,
          "city_tax_rate": 0,
          "city_taxable_amount": 0,
          "combined_tax_rate": 0,
          "county_amount": 0,
          "county_tax_rate": 0,
          "county_taxable_amount": 0,
          "id": "2",
          "special_district_amount": 0,
          "special_district_taxable_amount": 0,
          "special_tax_rate": 0,
          "state_amount": 0,
          "state_sales_tax_rate": 0,
          "state_taxable_amount": 0,
          "tax_collectable": 0,
          "taxable_amount": 0
        }
      ],
      "special_district_tax_collectable": 0,
      "special_district_taxable_amount": 0,
      "special_tax_rate": 0,
      "state_tax_collectable": 0,
      "state_tax_rate": 0,
      "state_taxable_amount": 0,
      "tax_collectable": 0,
      "taxable_amount": 0
    }
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :order_total_amount => 37.93,
  :shipping => 7.99,
  :taxable_amount => 0.0,
  :amount_to_collect => 0.0,
  :rate => 0.0,
  :has_nexus => true,
  :freight_taxable => false,
  :tax_source => "destination",
  :jurisdictions => #<Taxjar::Jurisdictions:0x00000a @attrs={
    :country => 'US',
    :state => 'CA',
    :county => 'LOS ANGELES',
    :city => 'LOS ANGELES'
  }>,
  :breakdown => #<Taxjar::Breakdown:0x00000a @attrs={
    :taxable_amount => 0.0,
    :tax_collectable => 0.0,
    :combined_tax_rate => 0.0,
    :state_taxable_amount => 0.0,
    :state_tax_rate => 0.0,
    :state_tax_collectable => 0.0,
    :county_taxable_amount => 0.0,
    :county_tax_rate => 0.0,
    :county_tax_collectable => 0.0,
    :city_taxable_amount => 0.0,
    :city_tax_rate => 0.0,
    :city_tax_collectable => 0.0,
    :special_district_taxable_amount => 0.0,
    :special_tax_rate => 0.0,
    :special_district_tax_collectable => 0.0,
    :line_items => [
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "1",
        :taxable_amount => 0.0,
        :tax_collectable => 0.0,
        :combined_tax_rate => 0.0,
        :state_taxable_amount => 0.0,
        :state_sales_tax_rate => 0.0,
        :state_amount => 0.0,
        :county_taxable_amount => 0.0,
        :county_tax_rate => 0.0,
        :county_amount => 0.0,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 0.0,
        :special_tax_rate => 0.0,
        :special_district_amount => 0.0
      }>,
      #<Taxjar::BreakdownLineItem:0x00000a @attrs={
        :id => "2",
        :taxable_amount => 0.0,
        :tax_collectable => 0.0,
        :combined_tax_rate => 0.0,
        :state_taxable_amount => 0.0,
        :state_sales_tax_rate => 0.0,
        :state_amount => 0.0,
        :county_taxable_amount => 0.0,
        :county_tax_rate => 0.0,
        :county_amount => 0.0,
        :city_taxable_amount => 0.0,
        :city_tax_rate => 0.0,
        :city_amount => 0.0,
        :special_district_taxable_amount => 0.0,
        :special_tax_rate => 0.0,
        :special_district_amount => 0.0
      }>
    ]
  }>
}>
<TaxJarTax {
  'breakdown': <TaxJarBreakdown {
    'special_district_taxable_amount': 0.0,
    'city_tax_rate': 0.0,
    'county_tax_collectable': 0.0,
    'county_taxable_amount': 0.0,
    'special_district_tax_collectable': 0.0,
    'line_items': [
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 0.0,
        'city_tax_rate': 0.0,
        'county_taxable_amount': 0.0,
        'special_district_amount': 0.0,
        'state_sales_tax_rate': 0.0,
        'state_amount': 0.0,
        'city_taxable_amount': 0.0,
        'taxable_amount': 0.0,
        'special_tax_rate': 0.0,
        'state_taxable_amount': 0.0,
        'combined_tax_rate': 0.0,
        'county_tax_rate': 0.0,
        'city_amount': 0.0,
        'county_amount': 0.0,
        'id': '1',
        'tax_collectable': 0.0
      }>,
      <TaxJarBreakdownLineItem {
        'special_district_taxable_amount': 0.0,
        'city_tax_rate': 0.0,
        'county_taxable_amount': 0.0,
        'special_district_amount': 0.0,
        'state_sales_tax_rate': 0.0,
        'state_amount': 0.0,
        'city_taxable_amount': 0.0,
        'taxable_amount': 0.0,
        'special_tax_rate': 0.0,
        'state_taxable_amount': 0.0,
        'combined_tax_rate': 0.0,
        'county_tax_rate': 0.0,
        'city_amount': 0.0,
        'county_amount': 0.0,
        'id': '2',
        'tax_collectable': 0.0
      }>
    ],
    'taxable_amount': 0.0,
    'state_taxable_amount': 0.0,
    'combined_tax_rate': 0.0,
    'state_tax_collectable': 0.0,
    'state_tax_rate': 0.0,
    'city_tax_collectable': 0.0,
    'county_tax_rate': 0.0,
    'special_tax_rate': 0.0,
    'city_taxable_amount': 0.0,
    'tax_collectable': 0.0
  }>,
  'jurisdictions': <TaxJarJurisdictions {
    'country': 'US',
    'state': 'CA',
    'county': 'LOS ANGELES',
    'city': 'LOS ANGELES'
  }>,
  'has_nexus': True,
  'tax_source': 'destination',
  'shipping': 7.99,
  'taxable_amount': 0.0,
  'rate': 0.0,
  'freight_taxable': False,
  'amount_to_collect': 0.0,
  'order_total_amount': 37.93
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        OrderTotalAmount: 37.93,
        Shipping:         7.99,
        TaxableAmount:    0.0,
        AmountToCollect:  0.0,
        Rate:             0.0,
        HasNexus:         true,
        FreightTaxable:   false,
        TaxSource:        "destination",
        Jurisdictions: taxjar.Jurisdictions{
            Country: "US",
            State:   "CA",
            County:  "LOS ANGELES",
            City:    "LOS ANGELES",
        },
        Breakdown: taxjar.Breakdown{
            TaxableAmount:                 0.0,
            TaxCollectable:                0.0,
            CombinedTaxRate:               0.0,
            StateTaxableAmount:            0.0,
            StateTaxRate:                  0.0,
            StateTaxCollectable:           0.0,
            CountyTaxableAmount:           0.0,
            CountyTaxRate:                 0.0,
            CountyTaxCollectable:          0.0,
            CityTaxableAmount:             0.0,
            CityTaxRate:                   0.0,
            CityTaxCollectable:            0.0,
            SpecialDistrictTaxableAmount:  0.0,
            SpecialTaxRate:                0.0,
            SpecialDistrictTaxCollectable: 0.0,
            LineItems: []taxjar.LineItemBreakdown{
                {
                    ID:                           "1",
                    TaxableAmount:                0.0,
                    TaxCollectable:               0.0,
                    CombinedTaxRate:              0.0,
                    StateTaxableAmount:           0.0,
                    StateSalesTaxRate:            0.0,
                    StateAmount:                  0.0,
                    CountyTaxableAmount:          0.0,
                    CountyTaxRate:                0.0,
                    CountyAmount:                 0.0,
                    CityTaxableAmount:            0.0,
                    CityTaxRate:                  0.0,
                    CityAmount:                   0.0,
                    SpecialDistrictTaxableAmount: 0.0,
                    SpecialTaxRate:               0.0,
                    SpecialDistrictAmount:        0.0,
                },
                {
                    ID:                           "2",
                    TaxableAmount:                0.0,
                    TaxCollectable:               0.0,
                    CombinedTaxRate:              0.0,
                    StateTaxableAmount:           0.0,
                    StateSalesTaxRate:            0.0,
                    StateAmount:                  0.0,
                    CountyTaxableAmount:          0.0,
                    CountyTaxRate:                0.0,
                    CountyAmount:                 0.0,
                    CityTaxableAmount:            0.0,
                    CityTaxRate:                  0.0,
                    CityAmount:                   0.0,
                    SpecialDistrictTaxableAmount: 0.0,
                    SpecialTaxRate:               0.0,
                    SpecialDistrictAmount:        0.0,
                },
            },
        },
    },
}

Response Scenario: No Nexus

{
  "tax": {
    "amount_to_collect": 0,
    "freight_taxable": false,
    "has_nexus": false,
    "rate": 0,
    "tax_source": null,
    "taxable_amount": 0
  }
}
#<Taxjar::Tax:0x00000a @attrs={
  :taxable_amount => 0.0,
  :amount_to_collect => 0.0,
  :rate => 0.0,
  :has_nexus => false,
  :freight_taxable => false,
  :tax_source => nil
}>
<TaxJarTax {
  'has_nexus': False,
  'taxable_amount': 0.0,
  'rate': 0.0,
  'freight_taxable': False,
  'amount_to_collect': 0.0
}>
taxjar.TaxForOrderResponse{
    Tax: taxjar.Tax{
        TaxableAmount:   0.0,
        AmountToCollect: 0.0,
        Rate:            0.0,
        HasNexus:        false,
        FreightTaxable:  false,
        TaxSource:       "",
    },
}

Shows the sales tax that should be collected for a given order.

Request

POST https://api.taxjar.com/v2/taxes

Parameters

Parameter Type Required Description
from_country string optional Two-letter ISO country code of the country where the order shipped from. View Note
from_zip string optional Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string optional Two-letter ISO state code where the order shipped from.
from_city string optional City where the order shipped from.
from_street string optional Street address where the order shipped from.
to_country string required Two-letter ISO country code of the country where the order shipped to.
to_zip string conditional Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string conditional Two-letter ISO state code where the order shipped to.
to_city string optional City where the order shipped to.
to_street string optional Street address where the order shipped to. View Note
amount float optional Total amount of the order, excluding shipping. View Note
shipping float required Total amount of shipping for the order.
customer_id string optional Unique identifier of the given customer for exemptions.
exemption_type string optional Type of exemption for the order: wholesale, government, marketplace, other, or non_exempt. View Note
nexus_addresses[][id] string optional Unique identifier of the given nexus address. View Note
nexus_addresses[][country] string conditional Two-letter ISO country code for the nexus address.
nexus_addresses[][zip] string optional Postal code for the nexus address.
nexus_addresses[][state] string conditional Two-letter ISO state code for the nexus address.
nexus_addresses[][city] string optional City for the nexus address.
nexus_addresses[][street] string optional Street address for the nexus address.
line_items[][id] string optional Unique identifier of the given line item. View Note
line_items[][quantity] integer optional Quantity for the item.
line_items[][product_tax_code] string optional Product tax code for the item. If omitted, the item will remain fully taxable.
line_items[][unit_price] float optional Unit price for the item.
line_items[][discount] float optional Total discount (non-unit) for the item.

Notes

  • Either amount or line_items parameters are required to perform tax calculations.

  • The to_zip parameter is required when to_country is ‘US’.

  • The to_state parameter is required when to_country is 'US’ or 'CA’.

  • Either an address on file, nexus_addresses parameter, or from_ parameters are required to perform tax calculations.

Response

Returns a tax JSON object with sales tax for a given order. If available, returns a breakdown of rates by jurisdiction at the order, shipping, and line item level.

Attributes

Parameter Type Description
order_total_amount float Total amount of the order.
shipping float Total amount of shipping for the order.
taxable_amount float Amount of the order to be taxed.
amount_to_collect float Amount of sales tax to collect.
rate float Overall sales tax rate of the order (amount_to_collect ÷ taxable_amount).
has_nexus bool Whether or not you have nexus for the order based on an address on file, nexus_addresses parameter, or from_ parameters.
freight_taxable bool Freight taxability for the order.
tax_source string Origin-based or destination-based sales tax collection.
exemption_type string Type of exemption for the order: wholesale, government, marketplace, other, or non_exempt. If no customer_id or exemption_type is provided, no exemption_type is returned in the response.
jurisdictions object Jurisdiction names for the order.
breakdown object Breakdown of rates by jurisdiction for the order, shipping, and individual line items. If has_nexus is false or no line items are provided, no breakdown is returned in the response.

  United States Jurisdiction Attributes

Parameter Type Description
country string Two-letter ISO country code for given location.
state string Postal abbreviated state name for given location.
county string County name for given location.
city string City name for given location.

  Canada Jurisdiction Attributes

Parameter Type Description
country string Two-letter ISO country code for given location.
state string Postal abbreviated state name for given location.
city string City name for given location.

  Australia Jurisdiction Attributes

Parameter Type Description
country string Two-letter ISO country code for given location.

  European Union Jurisdiction Attributes

Parameter Type Description
country string Two-letter ISO country code for given location.
city string City name for given location.

  United States Breakdown Attributes

Parameter Type Description
taxable_amount float Total amount of the order to be taxed.
tax_collectable float Total amount of sales tax to collect.
combined_tax_rate float Overall sales tax rate of the breakdown which includes state, county, city and district tax for the order and shipping if applicable.
state_taxable_amount float Amount of the order to be taxed at the state tax rate.
state_tax_rate float State sales tax rate for given location.
state_tax_collectable float Amount of sales tax to collect for the state.
county_taxable_amount float Amount of the order to be taxed at the county tax rate.
county_tax_rate float County sales tax rate for given location.
county_tax_collectable float Amount of sales tax to collect for the county.
city_taxable_amount float Amount of the order to be taxed at the city tax rate.
city_tax_rate float City sales tax rate for given location.
city_tax_collectable float Amount of sales tax to collect for the city.
special_district_taxable_amount float Amount of the order to be taxed at the special district tax rate.
special_tax_rate float Special district sales tax rate for given location.
special_district_tax_collectable float Amount of sales tax to collect for the special district.
shipping object Breakdown of shipping rates if applicable.
line_items object Breakdown of rates by line item if applicable.

  Canada Breakdown Attributes

Parameter Type Description
gst_taxable_amount float Amount of the order to be taxed at the GST rate.
gst_tax_rate float Goods and services tax rate for given location.
gst float Amount of goods and services tax to collect for given location.
pst_taxable_amount float Amount of the order to be taxed at the PST rate.
pst_tax_rate float Provincial sales tax rate for given location.
pst float Amount of provincial sales tax to collect for given location.
qst_taxable_amount float Amount of the order to be taxed at the QST rate.
qst_tax_rate float Quebec sales tax rate for given location.
qst float Amount of Quebec sales tax to collect for given location.
shipping object Breakdown of shipping rates if applicable.
line_items object Breakdown of rates by line item if applicable.

  International Breakdown Attributes

Parameter Type Description
country_taxable_amount float Amount of the order to be taxed at the country tax rate.
country_tax_rate float Country sales tax rate for given location
country_tax_collectable float Amount of sales tax to collect for the country.
shipping object Breakdown of shipping rates if applicable.
line_items object Breakdown of rates by line item if applicable.

Transactions

Manage your transactions for automated sales tax reporting and filing in TaxJar. These endpoints only affect orders and refunds created specifically through the API, not transactions from other channels.

We currently support reporting and filing in the United States.

get List order transactions

Definition

client.list_orders
client.list_orders
client.listOrders();
$client->listOrders();
client.ListOrders();
client.listOrders();
client.ListOrders()
GET https://api.taxjar.com/v2/transactions/orders

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

orders = client.list_orders({
  :from_transaction_date => '2015/05/01',
  :to_transaction_date => '2015/05/31'
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

orders = client.list_orders({
  'from_transaction_date': '2015/05/01',
  'to_transaction_date': '2015/05/31'
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.listOrders({
  from_transaction_date: '2015/05/01',
  to_transaction_date: '2015/05/31'
}).then(res => {
  res.orders; // Array of orders
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$orders = $client->listOrders([
  'from_transaction_date' => '2015/05/01',
  'to_transaction_date' => '2015/05/31'
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var orders = client.ListOrders(new {
    from_transaction_date = "2015/05/01",
    to_transaction_date = "2015/05/31"
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.OrdersResponse;
import java.util.HashMap;
import java.util.Map;

public class ListOrdersExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, String> params = new HashMap<>();
            params.put("from_transaction_date", "2015/05/01");
            params.put("to_transaction_date", "2015/05/31");
            OrdersResponse res = client.listOrders(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.ListOrders(taxjar.ListOrdersParams{
        FromTransactionDate: "2015/05/01",
        ToTransactionDate:   "2015/05/31",
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Orders)
    }
}
$ curl -G https://api.taxjar.com/v2/transactions/orders \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -d from_transaction_date="2015/05/01" \
  -d to_transaction_date="2015/05/31"

Response Example

{
  "orders": [
    "123",
    "456"
  ]
}
["20", "21", "22"]
['20', '21', '22']
taxjar.ListOrdersResponse{
    Orders: []string{"20", "21", "22"}
}

Lists existing order transactions created through the API.

Request

GET https://api.taxjar.com/v2/transactions/orders

Parameters

Parameter Type Required Description
transaction_date date optional The date the transactions were originally recorded. View Note
from_transaction_date date optional Start date of a range for which the transactions were originally recorded.
to_transaction_date date optional End date of a range for which the transactions were originally recorded.
provider string optional Source of where the transactions were originally recorded. Defaults to “api”.

Notes

Use transaction_date to list transactions for a specific date. Otherwise, use from_transaction_date and to_transaction_date for a range of dates.

Response

Returns an orders JSON object with an array of order IDs created through the API.

get Show an order transaction

Definition

client.show_order
client.show_order
client.showOrder();
$client->showOrder();
client.ShowOrder();
client.showOrder();
client.ShowOrder()
GET https://api.taxjar.com/v2/transactions/orders/:transaction_id

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.show_order('123')
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.show_order('123')
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.showOrder('123').then(res => {
  res.order;
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order = $client->showOrder('123');
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var order = client.ShowOrder("123");
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.OrderResponse;

public class ShowOrderExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            OrderResponse res = client.showOrder("123");
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.ShowOrder("123")
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Order)
    }
}
$ curl https://api.taxjar.com/v2/transactions/orders/123 \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214"

Response Example

{
  "order": {
    "transaction_id": "123",
    "user_id": 10649,
    "transaction_date": "2015-05-14T00:00:00Z",
    "provider": "api",
    "to_country": "US",
    "to_zip": "90002",
    "to_state": "CA",
    "to_city": "LOS ANGELES",
    "to_street": "123 Palm Grove Ln",
    "amount": "17.0",
    "shipping": "2.0",
    "sales_tax": "0.95",
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "product_identifier": "12-34243-0",
        "description": "Heavy Widget",
        "unit_price": "15.0",
        "discount": "0.0",
        "sales_tax": "0.95"
      }
    ]
  }
}
#<Taxjar::Order:0x00000a @attrs={
  :transaction_id => "123",
  :user_id => 11836,
  :transaction_date => "2015-05-14T00:00:00Z",
  :transaction_reference_id => nil,
  :provider => "api",
  :from_country => "US",
  :from_zip => 93107,
  :from_state => "CA",
  :from_city => "SANTA BARBARA",
  :from_street => "1281 State St",
  :to_country => "US",
  :to_zip => 90002,
  :to_state => "CA",
  :to_city => "LOS ANGELES",
  :to_street => "123 Palm Grove Ln",
  :amount => 17,
  :shipping => 2,
  :sales_tax => 0.95,
  :line_items => [
    {
      :id => "1",
      :quantity => 1,
      :product_identifier => "12-34243-0",
      :product_tax_code => nil,
      :description => "Heavy Widget",
      :unit_price => 15,
      :discount => 0,
      :sales_tax => 0.95
    }
  ]
}>
<TaxJarOrder {
  'from_state': 'CA',
  'line_items': [<TaxJarLineItem {
    'description': 'Heavy Widget',
    'unit_price': 15,
    'discount': 0,
    'product_identifier': '12-34243-0',
    'sales_tax': 0.95,
    'product_tax_code': None,
    'id': 1,
    'quantity': 1
  }>],
  'user_id': 1,
  'to_zip': '90002',
  'from_street': '1218 State St',
  'from_city': 'SANTA BARBARA',
  'from_zip': '93107',
  'to_country': 'US',
  'shipping': 2,
  'from_country': 'US',
  'to_city': 'LOS ANGELES',
  'to_street': '123 Palm Grove Ln',
  'transaction_date': '2016-03-10T00:00:00.000Z',
  'transaction_reference_id': None,
  'sales_tax': 0.95,
  'amount': 17,
  'transaction_id': '123',
  'to_state': 'CA',
  'provider': 'api'
}>
taxjar.ShowOrderResponse{
    Order: taxjar.Order{
        TransactionID:          "123",
        UserID:                 11836,
        TransactionDate:        "2015-05-14T00:00:00Z",
        TransactionReferenceID: "",
        Provider:               "api",
        FromCountry:            "US",
        FromZip:                "93107",
        FromState:              "CA",
        FromCity:               "SANTA BARBARA",
        FromStreet:             "1281 State St",
        ToCountry:              "US",
        ToZip:                  "90002",
        ToState:                "CA",
        ToCity:                 "LOS ANGELES",
        ToStreet:               "123 Palm Grove Ln",
        Amount:                 17,
        Shipping:               2,
        SalesTax:               0.95,
        LineItems: []taxjar.OrderLineItem{
            {
                ID:                "1",
                Quantity:          1,
                ProductIdentifier: "12-34243-0",
                Description:       "Heavy Widget",
                ProductTaxCode:    "",
                UnitPrice:         15,
                Discount:          0,
                SalesTax:          0.95,
            },
        },
    },
}

Shows an existing order transaction created through the API.

Request

GET https://api.taxjar.com/v2/transactions/orders/:transaction_id

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given order transaction.
provider string optional Source of where the transaction was originally recorded. Defaults to “api”.

Response

Returns an order JSON object with details of a given order transaction created through the API.

Attributes

Parameter Type Description
transaction_id string Unique identifier of the given order transaction.
user_id integer Unique identifier of the user who created the order transaction.
transaction_date datetime The date/time the transaction was originally recorded.
provider string Source of where the transaction was originally recorded.
exemption_type string Type of exemption for the order: wholesale, government, marketplace, other, non_exempt, or null. View Note
from_country string Two-letter ISO country code of the country where the order shipped from.
from_zip string Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string Two-letter ISO state code where the order shipped from.
from_city string City where the order shipped from.
from_street string Street address where the order shipped from.
to_country string Two-letter ISO country code of the country where the order shipped to.
to_zip string Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string Two-letter ISO state code where the order shipped to.
to_city string City where the order shipped to.
to_street string Street address where the order shipped to.
amount float Total amount of the order with shipping, excluding sales tax.
shipping float Total amount of shipping for the order.
sales_tax float Total amount of sales tax collected for the order.
line_items[][id] string Unique identifier of the given line item.
line_items[][quantity] integer Quantity for the item.
line_items[][product_identifier] string Product identifier for the item.
line_items[][description] string Description of the line item (up to 255 characters).
line_items[][product_tax_code] string Product tax code for the item.
line_items[][unit_price] float Unit price for the item in dollars.
line_items[][discount] float Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float Total sales tax collected (non-unit) for the item in dollars.

post Create an order transaction

Definition

client.create_order
client.create_order
client.createOrder();
$client->createOrder();
client.CreateOrder();
client.createOrder();
client.CreateOrder()
POST https://api.taxjar.com/v2/transactions/orders

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.create_order({
  :transaction_id => '123',
  :transaction_date => '2015/05/14',
  :to_country => 'US',
  :to_zip => '90002',
  :to_state => 'CA',
  :to_city => 'Los Angeles',
  :to_street => '123 Palm Grove Ln',
  :amount => 16.5,
  :shipping => 1.5,
  :sales_tax => 0.95,
  :line_items => [
    {
      :quantity => 1,
      :product_identifier => '12-34243-9',
      :description => 'Fuzzy Widget',
      :unit_price => 15,
      :sales_tax => 0.95
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.create_order({
  'transaction_id': '123',
  'transaction_date': '2015/05/14',
  'to_country': 'US',
  'to_zip': '90002',
  'to_state': 'CA',
  'to_city': 'Los Angeles',
  'to_street': '123 Palm Grove Ln',
  'amount': 16.5,
  'shipping': 1.5,
  'sales_tax': 0.95,
  'line_items': [
    {
      'quantity': 1,
      'product_identifier': '12-34243-9',
      'description': 'Fuzzy Widget',
      'unit_price': 15,
      'sales_tax': 0.95
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.createOrder({
  transaction_id: '123',
  transaction_date: '2015/05/14',
  to_country: 'US',
  to_zip: '90002',
  to_state: 'CA',
  to_city: 'Los Angeles',
  to_street: '123 Palm Grove Ln',
  amount: 16.5,
  shipping: 1.5,
  sales_tax: 0.95,
  line_items: [
    {
      quantity: 1,
      product_identifier: '12-34243-9',
      description: 'Fuzzy Widget',
      unit_price: 15,
      sales_tax: 0.95
    }
  ]
}).then(res => {
  res.order; // Order object
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order = $client->createOrder([
  'transaction_id' => '123',
  'transaction_date' => '2015/05/14',
  'to_country' => 'US',
  'to_zip' => '90002',
  'to_state' => 'CA',
  'to_city' => 'Los Angeles',
  'to_street' => '123 Palm Grove Ln',
  'amount' => 16.5,
  'shipping' => 1.5,
  'sales_tax' => 0.95,
  'line_items' => [
    [
      'quantity' => 1,
      'product_identifier' => '12-34243-9',
      'description' => 'Fuzzy Widget',
      'unit_price' => 15,
      'sales_tax' => 0.95
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var order = client.CreateOrder(new {
  transaction_id = "123",
  transaction_date = "2015/05/04",
  to_country = "US",
  to_state = "CA",
  to_zip = "90002",
  to_city = "Los Angeles",
  to_street = "123 Palm Grove Ln",
  amount = 16.5,
  shipping = 1.5,
  sales_tax = 0.95,
  line_items = new[] {
    new {
      quantity = 1,
      product_identifier = "12-34243-0",
      description = "Heavy Widget",
      unit_price = 15,
      sales_tax = 0.95
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.OrderResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CreateOrderExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("transaction_id", "123");
            params.put("transaction_date", "2015/05/04");
            params.put("to_country", "US");
            params.put("to_zip", "90002");
            params.put("to_city", "Los Angeles");
            params.put("to_street", "123 Palm Grove Ln");
            params.put("amount", 16.5);
            params.put("shipping", 1.5);
            params.put("sales_tax", 0.95);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("product_identifier", "12-34243-0");
            lineItem.put("description", "Heavy Widget");
            lineItem.put("unit_price", 15);
            lineItem.put("sales_tax", 0.95);
            lineItems.add(lineItem);

            params.put("line_items", lineItems);

            OrderResponse res = client.createOrder(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.CreateOrder(taxjar.CreateOrderParams{
        TransactionID:   "123",
        TransactionDate: "2015/05/14",
        ToCountry:       "US",
        ToZip:           "90002",
        ToState:         "CA",
        ToCity:          "Los Angeles",
        ToStreet:        "123 Palm Grove Ln",
        Amount:          16.5,
        Shipping:        1.5,
        SalesTax:        0.95,
        LineItems: []taxjar.OrderLineItem{
            {
                Quantity:          1,
                ProductIdentifier: "12-34243-9",
                Description:       "Fuzzy Widget",
                UnitPrice:         15,
                SalesTax:          0.95,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Order)
    }
}
$ curl https://api.taxjar.com/v2/transactions/orders \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "123",
    "transaction_date": "2015/05/14",
    "to_street": "123 Palm Grove Ln",
    "to_city": "Los Angeles",
    "to_state": "CA",
    "to_zip": "90002",
    "to_country": "US",
    "amount": 16.5,
    "shipping": 1.5,
    "sales_tax": 0.95,
    "line_items": [
      {
        "quantity": 1,
        "product_identifier": "12-34234-9",
        "description": "Fuzzy Widget",
        "unit_price": 15,
        "sales_tax": 0.95
      }
    ]
  }'

Response Example

{
  "order": {
    "transaction_id": "123",
    "user_id": 10649,
    "transaction_date": "2015-05-14T00:00:00Z",
    "provider": "api",
    "to_country": "US",
    "to_zip": "90002",
    "to_state": "CA",
    "to_city": "LOS ANGELES",
    "to_street": "123 Palm Grove Ln",
    "amount": "16.5",
    "shipping": "1.5",
    "sales_tax": "0.95",
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "product_identifier": "12-34243-9",
        "description": "Fuzzy Widget",
        "unit_price": "15.0",
        "discount": "0.0",
        "sales_tax": "0.95"
      }
    ]
  }
}
#<Taxjar::Order:0x00000a @attrs={
  :transaction_id => 20,
  :user_id => 11836,
  :transaction_date => "2015-05-14T00:00:00Z",
  :transaction_reference_id => nil,
  :provider => "api",
  :from_country => "US",
  :from_zip => 93101,
  :from_state => "CA",
  :from_city => "SANTA BARBARA",
  :from_street => "1218 State St",
  :to_country => "US",
  :to_zip => 90002,
  :to_state => "CA",
  :to_city => "LOS ANGELES",
  :to_street => "123 Palm Grove Ln",
  :amount => 16.5,
  :shipping => 1.5,
  :sales_tax => 0.95,
  :line_items => [
    {
      :id => "1",
      :quantity => 1,
      :product_identifier => "12-34243-9",
      :product_tax_code => nil,
      :description => "Fuzzy Widget",
      :unit_price => 15,
      :discount => 0,
      :sales_tax => 0.95
    }
  ]
}>
<TaxJarOrder {
  'from_state': 'CA',
  'line_items': [<TaxJarLineItem {
    'description': 'Fuzzy Widget',
    'unit_price': 15,
    'discount': 0,
    'product_identifier': '12-34243-9',
    'sales_tax': 0.95,
    'product_tax_code': None,
    'id': 1,
    'quantity': 1
  }>],
  'user_id': 11836,
  'to_zip': '90002',
  'from_street': '1218 State St',
  'from_city': 'SANTA BARBARA',
  'from_zip': '93101',
  'to_country': 'US',
  'shipping': 1.5,
  'from_country': 'US',
  'to_city': 'LOS ANGELES',
  'to_street': '123 Palm Grove Ln',
  'transaction_date': '2015-05-14T00:00:00Z',
  'transaction_reference_id': None,
  'sales_tax': 0.95,
  'amount': 16.5,
  'transaction_id': '20',
  'to_state': 'CA',
  'provider': 'api'
}>
taxjar.CreateOrderResponse{
    Order: taxjar.Order{
        TransactionID:          "20",
        UserID:                 11836,
        TransactionDate:        "2015-05-14T00:00:00Z",
        TransactionReferenceID: "",
        Provider:               "api",
        FromCountry:            "US",
        FromZip:                "93101",
        FromState:              "CA",
        FromCity:               "SANTA BARBARA",
        FromStreet:             "1218 State St",
        ToCountry:              "US",
        ToZip:                  "90002",
        ToState:                "CA",
        ToCity:                 "LOS ANGELES",
        ToStreet:               "123 Palm Grove Ln",
        Amount:                 16.5,
        Shipping:               1.5,
        SalesTax:               0.95,
        LineItems: []taxjar.OrderLineItem{
            {
                ID:                "1",
                Quantity:          1,
                ProductIdentifier: "12-34243-9",
                Description:       "Fuzzy Widget",
                UnitPrice:         15,
                Discount:          0,
                SalesTax:          0.95,
            },
        },
    },
}

Creates a new order transaction.

Request

POST https://api.taxjar.com/v2/transactions/orders

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given order transaction. View Note
transaction_date datetime required The date/time the transaction was originally recorded. View Note
provider string optional Source of where the transaction was originally recorded. Defaults to “api”. View Note
from_country string optional Two-letter ISO country code of the country where the order shipped from. View Note
from_zip string optional Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string optional Two-letter ISO state code where the order shipped from.
from_city string optional City where the order shipped from.
from_street string optional Street address where the order shipped from.
to_country string required Two-letter ISO country code of the country where the order shipped to.
to_zip string required Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string required Two-letter ISO state code where the order shipped to.
to_city string optional City where the order shipped to.
to_street string optional Street address where the order shipped to.
amount float required Total amount of the order with shipping, excluding sales tax in dollars.
shipping float required Total amount of shipping for the order in dollars.
sales_tax float required Total amount of sales tax collected for the order in dollars.
customer_id string optional Unique identifier of the given customer for exemptions.
exemption_type string optional Type of exemption for the order: wholesale, government, marketplace, other, or non_exempt. View Note
line_items[][id] string optional Unique identifier of the given line item.
line_items[][quantity] integer optional Quantity for the item.
line_items[][product_identifier] string optional Product identifier for the item.
line_items[][description] string optional Description of the line item (up to 255 characters).
line_items[][product_tax_code] string optional Product tax code for the item. If omitted, the item will remain fully taxable.
line_items[][unit_price] float optional Unit price for the item in dollars.
line_items[][discount] float optional Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float conditional Total sales tax collected (non-unit) for the item in dollars.

Notes

  • Either an address on file or from_ parameters are required to create order transactions.

  • The transaction_id should only include alphanumeric characters, underscores, and dashes.

  • The transaction_date may be a date ‘2015-05-25’, an ISO UTC date/time '2015-05-25T13:05:45’, or an ISO date/time with zone offset '2015-05-25T13:05:45-05:00’.

  • We recommend passing positive values for monetary amounts when creating or updating order transactions. Values will be signed automatically regardless of what you send in. Do not update existing orders with negative amounts to indicate a refund. Instead, create a refund transaction.

Response

Returns an order JSON object with details of the new order transaction.

Attributes

Parameter Type Description
transaction_id string Unique identifier of the given order transaction.
user_id integer Unique identifier of the user who created the order transaction.
transaction_date datetime The date/time the transaction was originally recorded.
provider string Source of where the transaction was originally recorded.
exemption_type string Type of exemption for the order: wholesale, government, marketplace, other, non_exempt, or null. View Note
from_country string Two-letter ISO country code of the country where the order shipped from.
from_zip string Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string Two-letter ISO state code where the order shipped from.
from_city string City where the order shipped from.
from_street string Street address where the order shipped from.
to_country string Two-letter ISO country code of the country where the order shipped to.
to_zip string Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string Two-letter ISO state code where the order shipped to.
to_city string City where the order shipped to.
to_street string Street address where the order shipped to.
amount float Total amount of the order with shipping, excluding sales tax.
shipping float Total amount of shipping for the order.
sales_tax float Total amount of sales tax collected for the order.
line_items[][id] string Unique identifier of the given line item.
line_items[][quantity] integer Quantity for the item.
line_items[][product_identifier] string Product identifier for the item.
line_items[][description] string Description of the line item (up to 255 characters).
line_items[][product_tax_code] string Product tax code for the item.
line_items[][unit_price] float Unit price for the item in dollars.
line_items[][discount] float Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float Total sales tax collected (non-unit) for the item in dollars.

put Update an order transaction

Definition

client.update_order
client.update_order
client.updateOrder();
$client->updateOrder();
client.UpdateOrder();
client.updateOrder();
client.UpdateOrder()
PUT https://api.taxjar.com/v2/transactions/orders/:transaction_id

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.update_order({
  :transaction_id => '123',
  :amount => 17,
  :shipping => 2,
  :line_items => [
    {
      :quantity => 1,
      :product_identifier => '12-34243-0',
      :description => 'Heavy Widget',
      :unit_price => 15,
      :discount => 0,
      :sales_tax => 0.95
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

order = client.update_order('123', {
  'transaction_id': '123',
  'amount': 17,
  'shipping': 2,
  'line_items': [
    {
      'quantity': 1,
      'product_identifier': '12-34243-0',
      'description': 'Heavy Widget',
      'unit_price': 15,
      'discount': 0,
      'sales_tax': 0.95
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.updateOrder({
  transaction_id: '123',
  amount: 17,
  shipping: 2,
  line_items: [
    {
      quantity: 1,
      product_identifier: '12-34243-0',
      description: 'Heavy Widget',
      unit_price: 15,
      discount: 0,
      sales_tax: 0.95
    }
  ]
}).then(res => {
  res.order; // Order object
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$order = $client->updateOrder([
  'transaction_id' => '123',
  'amount' => 17,
  'shipping' => 2,
  'line_items' => [
    [
      'quantity' => 1,
      'product_identifier' => '12-34243-0',
      'description' => 'Heavy Widget',
      'unit_price' => 15,
      'discount' => 0,
      'sales_tax' => 0.95
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var order = client.UpdateOrder(new
{
  transaction_id = "123",
  amount = 17,
  shipping = 2,
  line_items = new[] {
    new {
      quantity = 1,
      product_identifier = "12-34243-0",
      description = "Heavy Widget",
      unit_price = 15,
      discount = 0,
      sales_tax = 0.95
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.OrderResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UpdateOrderExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("transaction_id", "123");
            params.put("amount", 17);
            params.put("shipping", 2);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("product_identifier", "12-34243-0");
            lineItem.put("description", "Heavy Widget");
            lineItem.put("unit_price", 15);
            lineItem.put("discount", 0);
            lineItem.put("sales_tax", 0.95);
            lineItems.add(lineItem);

            params.put("line_items", lineItems);

            OrderResponse res = client.updateOrder("123", params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.UpdateOrder(taxjar.UpdateOrderParams{
        TransactionID: "123",
        Amount:        17,
        Shipping:      2,
        LineItems: []taxjar.OrderLineItem{
            {
                Quantity:          1,
                ProductIdentifier: "12-34243-0",
                Description:       "Heavy Widget",
                UnitPrice:         15,
                Discount:          0,
                SalesTax:          0.95,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Order)
    }
}
$ curl https://api.taxjar.com/v2/transactions/orders/123 \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "123",
    "amount": 17,
    "shipping": 2,
    "line_items": [
      {
        "quantity": 1,
        "product_identifier": "12-34234-0",
        "unit_price": 15,
        "discount": 0,
        "sales_tax": 0.95
      }
    ]
  }' \
  -X PUT

Response Example

{
  "order": {
    "transaction_id": "123",
    "user_id": 10649,
    "transaction_date": "2015-05-14T00:00:00Z",
    "provider": "api",
    "to_country": "US",
    "to_zip": "90002",
    "to_state": "CA",
    "to_city": "LOS ANGELES",
    "to_street": "123 Palm Grove Ln",
    "amount": "17.0",
    "shipping": "2.0",
    "sales_tax": "0.95",
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "product_identifier": "12-34243-0",
        "description": "Heavy Widget",
        "unit_price": "15.0",
        "discount": "0.0",
        "sales_tax": "0.95"
      }
    ]
  }
}
#<Taxjar::Order:0x00000a @attrs={
  :transaction_id => "123",
  :user_id => 11836,
  :transaction_date => "2015-05-14T00:00:00Z",
  :transaction_reference_id => nil,
  :provider => 'api',
  :from_country => "US",
  :from_zip => 93101,
  :from_state => "CA",
  :from_city => "SANTA BARBARA",
  :from_street => "1218 State St",
  :to_country => "US",
  :to_zip => 90002,
  :to_state => "CA",
  :to_city => "LOS ANGELES",
  :to_street => "123 Palm Grove Ln",
  :amount => 17.0,
  :shipping => 2.0,
  :sales_tax => 0.95,
  :line_items => [
    {
      :id => "1",
      :quantity => 1,
      :product_identifier => "12-34243-0",
      :product_tax_code => nil,
      :description => "Heavy Widget",
      :unit_price => 15,
      :discount => 0,
      :sales_tax => 0.95
    }
  ]
}>
<TaxJarOrder {
  'from_state': 'CA',
  'line_items': [<TaxJarLineItem {
    'description': 'Heavy Widget',
    'unit_price': 15,
    'discount': 0,
    'product_identifier': '12-34243-0',
    'sales_tax': 0.95,
    'product_tax_code': None,
    'id': 0,
    'quantity': 1
  }>,
  'user_id': 11836,
  'to_zip': '90002',
  'from_street': '1218 State St',
  'from_city': 'SANTA BARBARA',
  'from_zip': '93101',
  'to_country': 'US',
  'shipping': 2,
  'from_country': 'US',
  'to_city': 'LOS ANGELES',
  'to_street': '123 Palm Grove Ln',
  'transaction_date': '2015-05-14T00:00:00Z',
  'transaction_reference_id': None,
  'sales_tax': 0.95,
  'amount': 17,
  'transaction_id': '123',
  'to_state': 'CA',
  'provider': 'api'
}>
taxjar.UpdateOrderResponse{
    Order: taxjar.Order{
        TransactionID:          "123",
        UserID:                 11836,
        TransactionDate:        "2015-05-14T00:00:00Z",
        TransactionReferenceID: "",
        Provider:               "api",
        FromCountry:            "US",
        FromZip:                "93101",
        FromState:              "CA",
        FromCity:               "SANTA BARBARA",
        FromStreet:             "1218 State St",
        ToCountry:              "US",
        ToZip:                  "90002",
        ToState:                "CA",
        ToCity:                 "LOS ANGELES",
        ToStreet:               "123 Palm Grove Ln",
        Amount:                 17.0,
        Shipping:               2.0,
        SalesTax:               0.95,
        LineItems: []taxjar.OrderLineItem{
            {
                ID:                "1",
                Quantity:          1,
                ProductIdentifier: "12-34243-0",
                Description:       "Heavy Widget",
                UnitPrice:         15,
                Discount:          0,
                SalesTax:          0.95,
            },
        },
    },
}

Updates an existing order transaction created through the API.

Request

PUT https://api.taxjar.com/v2/transactions/orders/:transaction_id

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given order transaction.
transaction_date datetime optional The date/time the transaction was originally recorded. View Note
from_country string optional Two-letter ISO country code of the country where the order shipped from. View Note
from_zip string optional Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string optional Two-letter ISO state code where the order shipped from.
from_city string optional City where the order shipped from.
from_street string optional Street address where the order shipped from.
to_country string optional Two-letter ISO country code of the country where the order shipped to.
to_zip string optional Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string optional Two-letter ISO state code where the order shipped to.
to_city string optional City where the order shipped to.
to_street string optional Street address where the order shipped to.
amount float optional Total amount of the order with shipping, excluding sales tax in dollars.
shipping float optional Total amount of shipping for the order in dollars.
sales_tax float optional Total amount of sales tax collected for the order in dollars.
customer_id string optional Unique identifier of the given customer for exemptions.
exemption_type string optional Type of exemption for the order: wholesale, government, marketplace, other, or non_exempt. View Note
line_items[][id] string optional Unique identifier of the given line item.
line_items[][quantity] integer optional Quantity for the item.
line_items[][product_identifier] string optional Product identifier for the item.
line_items[][description] string optional Description of the line item (up to 255 characters).
line_items[][product_tax_code] string optional Product tax code for the item. If omitted, the item will remain fully taxable.
line_items[][unit_price] float optional Unit price for the item in dollars.
line_items[][discount] float optional Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float optional Total sales tax collected (non-unit) for the item in dollars.

Notes

  • Either an address on file or from_ parameters are required to update order transactions.

  • The transaction_date may be a date '2015-05-25’, an ISO UTC date/time '2015-05-25T13:05:45’, or an ISO date/time with zone offset '2015-05-25T13:05:45-05:00’.

Response

Returns an order JSON object with details of the updated order transaction.

Attributes

Parameter Type Description
transaction_id string Unique identifier of the given order transaction.
user_id integer Unique identifier of the user who created the order transaction.
transaction_date datetime The date/time the transaction was originally recorded.
provider string Source of where the transaction was originally recorded.
exemption_type string Type of exemption for the order: wholesale, government, marketplace, other, non_exempt, or null. View Note
from_country string Two-letter ISO country code of the country where the order shipped from.
from_zip string Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string Two-letter ISO state code where the order shipped from.
from_city string City where the order shipped from.
from_street string Street address where the order shipped from.
to_country string Two-letter ISO country code of the country where the order shipped to.
to_zip string Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string Two-letter ISO state code where the order shipped to.
to_city string City where the order shipped to.
to_street string Street address where the order shipped to.
amount float Total amount of the order with shipping, excluding sales tax.
shipping float Total amount of shipping for the order.
sales_tax float Total amount of sales tax collected for the order.
line_items[][id] string Unique identifier of the given line item.
line_items[][quantity] integer Quantity for the item.
line_items[][product_identifier] string Product identifier for the item.
line_items[][description] string Description of the line item (up to 255 characters).
line_items[][product_tax_code] string Product tax code for the item.
line_items[][unit_price] float Unit price for the item in dollars.
line_items[][discount] float Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float Total sales tax collected (non-unit) for the item in dollars.

delete Delete an order transaction

Definition

client.delete_order
client.delete_order
client.deleteOrder();
$client->deleteOrder();
client.DeleteOrder();
client.deleteOrder();
client.DeleteOrder()
DELETE https://api.taxjar.com/v2/transactions/orders/:transaction_id

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

client.delete_order('123')
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

client.delete_order('123')
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.deleteOrder('123').then(res => {
  res.order; // Order object
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$client->deleteOrder('123');
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var order = client.DeleteOrder("123");
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.OrderResponse;

public class DeleteOrderExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            OrderResponse res = client.deleteOrder("123");
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.DeleteOrder("123")
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Order)
    }
}
$ curl https://api.taxjar.com/v2/transactions/orders/123 \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -X DELETE

Response Example

{
  "order": {
    "transaction_id": "123",
    "user_id": 10649,
    "transaction_date": null,
    "transaction_reference_id": null,
    "provider": "api",
    "from_country": null,
    "from_zip": null,
    "from_state": null,
    "from_city": null,
    "from_street": null,
    "to_country": null,
    "to_zip": null,
    "to_state": null,
    "to_city": null,
    "to_street": null,
    "amount": null,
    "shipping": null,
    "sales_tax": null,
    "line_items": []
  }
}
#<Taxjar::Order:0x00000a @attrs={
  :transaction_id => "123",
  :user_id => 10649,
  :transaction_date => nil,
  :transaction_reference_id => nil,
  :provider => "api",
  :from_country => nil,
  :from_zip => nil,
  :from_state => nil,
  :from_city => nil,
  :from_street => nil,
  :to_country => nil,
  :to_zip => nil,
  :to_state => nil,
  :to_city => nil,
  :to_street => nil,
  :amount => nil,
  :shipping => nil,
  :sales_tax => nil,
  :line_items => []
}>
<TaxJarOrder {
  'from_state': None,
  'line_items': [],
  'user_id': 10649,
  'to_zip': None,
  'from_street': None,
  'from_city': None,
  'from_zip': None,
  'to_country': None,
  'shipping': None,
  'from_country': None,
  'to_city': None,
  'to_street': None,
  'transaction_date': None,
  'transaction_reference_id': None,
  'sales_tax': None,
  'amount': None,
  'transaction_id': '123',
  'to_state': None,
  'provider': 'api'
}>
taxjar.DeleteOrderResponse{
    Order: taxjar.Order{
        TransactionID:          "123",
        UserID:                 10649,
        TransactionDate:        "",
        TransactionReferenceID: "",
        Provider:               "api",
        FromCountry:            "",
        FromZip:                "",
        FromState:              "",
        FromCity:               "",
        FromStreet:             "",
        ToCountry:              "",
        ToZip:                  "",
        ToState:                "",
        ToCity:                 "",
        ToStreet:               "",
        Amount:                 0,
        Shipping:               0,
        SalesTax:               0,
        LineItems: []taxjar.OrderLineItem{},
    },
}

Deletes an existing order transaction created through the API.

Request

DELETE https://api.taxjar.com/v2/transactions/orders/:transaction_id

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given order transaction.
provider string optional Source of where the transaction was originally recorded. Defaults to “api”.

Response

Returns an order JSON object with the deleted order transaction identifiers.

Attributes

Parameter Type Description
transaction_id string Unique identifier of the given order transaction.
user_id integer Unique identifier of the user who created the order transaction.
provider string Source of where the transaction was originally recorded.

get List refund transactions

Definition

client.list_refunds
client.list_refunds
client.listRefunds();
$client->listRefunds();
client.ListRefunds();
client.listRefunds();
client.ListRefunds()
GET https://api.taxjar.com/v2/transactions/refunds

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

refunds = client.list_refunds({
  :from_transaction_date => '2015/05/01',
  :to_transaction_date => '2015/05/31'
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

refunds = client.list_refunds({
  'from_transaction_date': '2015/05/01',
  'to_transaction_date': '2015/05/31'
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.listRefunds({
  from_transaction_date: '2015/05/01',
  to_transaction_date: '2015/05/31'
}).then(res => {
  res.refunds; // Array of refunds
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$refunds = $client->listRefunds([
  'from_transaction_date' => '2015/05/01',
  'to_transaction_date' => '2015/05/31'
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var refunds = client.ListRefunds(new
{
  from_transaction_date = "2015/05/01",
  to_transaction_date = "2015/05/31"
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.RefundsResponse;
import java.util.HashMap;
import java.util.Map;

public class ListRefundsExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, String> params = new HashMap<>();
            params.put("from_transaction_date", "2015/05/01");
            params.put("to_transaction_date", "2015/05/31");
            RefundsResponse res = client.listRefunds(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.ListRefunds(taxjar.ListRefundsParams{
        FromTransactionDate: "2015/05/01",
        ToTransactionDate:   "2015/05/31",
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Refunds)
    }
}
$ curl -G https://api.taxjar.com/v2/transactions/refunds \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -d from_transaction_date="2015/05/01" \
  -d to_transaction_date="2015/05/31"

Response Example

{
  "refunds": [
    "321",
    "654"
  ]
}
["203", "204", "205"]
['203', '204', '205']
taxjar.ListRefundsResponse{
    Refunds: []string{"203", "204", "205"},
}

Lists existing refund transactions created through the API.

Request

GET https://api.taxjar.com/v2/transactions/refunds

Parameters

Parameter Type Required Description
transaction_date date optional The date the transactions were originally recorded. View Note
from_transaction_date date optional The start date of a range for which the transactions were originally recorded.
to_transaction_date date optional The end date of a range for which the transactions were originally recorded.
provider string optional Source of where the transactions were originally recorded. Defaults to “api”.

Notes

Use transaction_date to list transactions for a specific date. Otherwise, use from_transaction_date and to_transaction_date for a range of dates.

Response

Returns a refunds JSON object with an array of refund IDs created through the API.

get Show a refund transaction

Definition

client.show_refund
client.show_refund
client.showRefund();
$client->showRefund();
client.ShowRefund();
client.showRefund();
client.ShowRefund()
GET https://api.taxjar.com/v2/transactions/refunds/:transaction_id

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

refund = client.show_refund('321')
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

refund = client.show_refund('321')
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.showRefund('321').then(res => {
  res.refund;
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$refund = $client->showRefund('321');
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var refund = client.ShowRefund("321");
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.RefundResponse;

public class ShowRefundExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            RefundResponse res = client.showRefund("321");
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}
package main

import (
    "fmt"

    "github.com/taxjar/taxjar-go"
)

func main() {
    client := taxjar.NewClient(taxjar.Config{
        APIKey: "9e0cd62a22f451701f29c3bde214",
    })

    res, err := client.ShowRefund("321")
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Refund)
    }
}
$ curl https://api.taxjar.com/v2/transactions/refunds/321 \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214"

Response Example

{
  "refund": {
    "transaction_id": "321",
    "user_id": 10649,
    "transaction_date": "2015-05-14T00:00:00Z",
    "transaction_reference_id": "123",
    "provider": "api",
    "to_country": "US",
    "to_zip": "90002",
    "to_state": "CA",
    "to_city": "LOS ANGELES",
    "to_street": "123 Palm Grove Ln",
    "amount": "-17.0",
    "shipping": "-2.0",
    "sales_tax": "-0.95",
    "line_items": [
      {
        "id": "1",
        "quantity": 1,
        "product_identifier": "12-34243-0",
        "description": "Heavy Widget",
        "unit_price": "-15.0",
        "discount": "0.0",
        "sales_tax": "-0.95"
      }
    ]
  }
}
#<Taxjar::Refund:0x00000a @attrs={
  :transaction_id => "321",
  :user_id => 11836,
  :transaction_date => "2015-06-14T00:00:00Z",
  :transaction_reference_id => "123",
  :provider => "api",
  :from_country => "US",
  :from_zip => 93107,
  :from_state => "CA",
  :from_city => "SANTA BARBARA",
  :from_street => "1218 State St",
  :to_country => "US",
  :to_zip => 90002,
  :to_state => "CA",
  :to_city => "LOS ANGELES",
  :to_street => "123 Palm Grove Ln",
  :amount => -17.0,
  :shipping => -2.0,
  :sales_tax => -0.95,
  :line_items => [
    {
      :id => "1",
      :quantity => 1,
      :product_identifier => "12-34243-0",
      :product_tax_code => nil,
      :description => "Heavy Widget",
      :unit_price => -15,
      :discount => 0,
      :sales_tax => -0.95
    }
  ]
}>
<TaxJarRefund {
  'from_state': 'CA',
  'line_items': [<TaxJarLineItem {
    'description': 'Heavy Widget',
    'unit_price': -15,
    'discount': 0,
    'product_identifier': '12-34243-0',
    'sales_tax': -0.95,
    'product_tax_code': None,
    'id': 0,
    'quantity': 1
  }>],
  'user_id': 11836,
  'to_zip': '90002',
  'from_street': '1218 State St',
  'from_city': 'SANTA BARBARA',
  'from_zip': 93107,
  'to_country': 'US',
  'shipping': -2,
  'from_country': 'US',
  'to_city': 'LOS ANGELES',
  'to_street': '123 Palm Grove Ln',
  'transaction_date': '2015-06-14T00:00:00Z',
  'transaction_reference_id': '123',
  'sales_tax': -0.95,
  'amount': -17,
  'transaction_id': '321',
  'to_state': 'CA',
  'provider': 'api'
}>
taxjar.ShowRefundResponse{
    Refund: taxjar.Refund{
        TransactionID:          "321",
        UserID:                 11836,
        TransactionDate:        "2015-06-14T00:00:00Z",
        TransactionReferenceID: "123",
        Provider:               "api",
        FromCountry:            "US",
        FromZip:                "93107",
        FromState:              "CA",
        FromCity:               "SANTA BARBARA",
        FromStreet:             "1218 State St",
        ToCountry:              "US",
        ToZip:                  "90002",
        ToState:                "CA",
        ToCity:                 "LOS ANGELES",
        ToStreet:               "123 Palm Grove Ln",
        Amount:                 -17.0,
        Shipping:               -2.0,
        SalesTax:               -0.95,
        LineItems: []taxjar.RefundLineItem{
            {
                ID:                "1",
                Quantity:          1,
                ProductIdentifier: "12-34243-0",
                ProductTaxCode:    "",
                Description:       "Heavy Widget",
                UnitPrice:         -15,
                Discount:          0,
                SalesTax:          -0.95,
            },
        },
    },
}

Shows an existing refund transaction created through the API.

Request

GET https://api.taxjar.com/v2/transactions/refunds/:transaction_id

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given refund transaction.
provider string optional Source of where the transaction was originally recorded. Defaults to “api”.

Response

Returns a refund JSON object with details of a given refund transaction created through the API.

Attributes

Parameter Type Description
transaction_id string Unique identifier of the given refund transaction.
user_id integer Unique identifier of the user who created the refund transaction.
transaction_date datetime The date/time the transaction was originally recorded.
provider string Source of where the transaction was originally recorded.
exemption_type string Type of exemption for the order: wholesale, government, marketplace, other, non_exempt, or null. View Note
from_country string Two-letter ISO country code of the country where the order shipped from.
from_zip string Postal code where the order shipped from (5-Digit ZIP or ZIP+4).
from_state string Two-letter ISO state code where the order shipped from.
from_city string City where the order shipped from.
from_street string Street address where the order shipped from.
to_country string Two-letter ISO country code of the country where the order shipped to.
to_zip string Postal code where the order shipped to (5-Digit ZIP or ZIP+4).
to_state string Two-letter ISO state code where the order shipped to.
to_city string City where the order shipped to.
to_street string Street address where the order shipped to.
amount float Total amount of the refunded order with shipping, excluding sales tax.
shipping float Total amount of shipping for the refunded order.
sales_tax float Total amount of sales tax collected for the refunded order.
line_items[][id] string Unique identifier of the given line item.
line_items[][quantity] integer Quantity for the item.
line_items[][product_identifier] string Product identifier for the item.
line_items[][description] string Description of the line item (up to 255 characters).
line_items[][product_tax_code] string Product tax code for the item.
line_items[][unit_price] float Unit price for the item in dollars.
line_items[][discount] float Total discount (non-unit) for the item in dollars.
line_items[][sales_tax] float Total sales tax collected (non-unit) for the item in dollars.

post Create a refund transaction

Definition

client.create_refund
client.create_refund
client.createRefund();
$client->createRefund();
client.CreateRefund();
client.createRefund();
client.CreateRefund()
POST https://api.taxjar.com/v2/transactions/refunds

Request Example

require "taxjar"
client = Taxjar::Client.new(api_key: "9e0cd62a22f451701f29c3bde214")

order = client.create_refund({
  :transaction_id => '123',
  :transaction_date => '2015/05/14',
  :transaction_reference_id => '123',
  :to_country => 'US',
  :to_zip => '90002',
  :to_state => 'CA',
  :to_city => 'Los Angeles',
  :to_street => '123 Palm Grove Ln',
  :amount => -16.5,
  :shipping => -1.5,
  :sales_tax => -0.95,
  :line_items => [
    {
      :quantity => 1,
      :product_identifier => '12-34243-9',
      :description => 'Fuzzy Widget',
      :unit_price => -15,
      :sales_tax => -0.95
    }
  ]
})
import taxjar
client = taxjar.Client(api_key='9e0cd62a22f451701f29c3bde214')

refund = client.create_refund({
  'transaction_id': '321',
  'transaction_date': '2016-05-14',
  'transaction_reference_id': '123',
  'from_state': 'CA',
  'from_city': 'Santa Barbara',
  'from_street': '1218 State St',
  'from_country': 'US',
  'from_zip': '93101',
  'to_country': 'US',
  'to_state': 'CA',
  'to_city': 'Los Angeles',
  'to_street': '123 Palm Grove Ln',
  'to_zip': '90002',
  'amount': -16.5,
  'shipping': -1.5,
  'sales_tax': -0.95,
  'line_items': [
    {
      'quantity': 1,
      'product_identifier': '12-34243-9',
      'description': 'Fuzzy Widget',
      'unit_price': -15,
      'sales_tax': -0.95
    }
  ]
})
const Taxjar = require('taxjar');

const client = new Taxjar({
  apiKey: '9e0cd62a22f451701f29c3bde214'
});

client.createRefund({
  transaction_id: '123',
  transaction_date: '2015/05/14',
  transaction_reference_id: '123',
  to_country: 'US',
  to_zip: '90002',
  to_state: 'CA',
  to_city: 'Los Angeles',
  to_street: '123 Palm Grove Ln',
  amount: -16.5,
  shipping: -1.5,
  sales_tax: -0.95,
  line_items: [
    {
      quantity: 1,
      product_identifier: '12-34243-9',
      description: 'Fuzzy Widget',
      unit_price: -15,
      sales_tax: -0.95
    }
  ]
}).then(res => {
  res.refund; // Refund object
});
require __DIR__ . '/vendor/autoload.php';
$client = TaxJar\Client::withApiKey("9e0cd62a22f451701f29c3bde214");

$refund = $client->createRefund([
  'transaction_id' => '321',
  'transaction_date' => '2015/05/14',
  'transaction_reference_id' => '123',
  'to_country' => 'US',
  'to_zip' => '90002',
  'to_state' => 'CA',
  'to_city' => 'Los Angeles',
  'to_street' => '123 Palm Grove Ln',
  'amount' => -16.5,
  'shipping' => -1.5,
  'sales_tax' => -0.95,
  'line_items' => [
    [
      'quantity' => 1,
      'product_identifier' => '12-34243-9',
      'description' => 'Fuzzy Widget',
      'unit_price' => -15,
      'sales_tax' => -0.95
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var refund = client.CreateRefund(new
{
  transaction_id = "321",
  transaction_date = "2015/05/04",
  transaction_reference_id = "123",
  to_country = "US",
  to_zip = "90002",
  to_city = "Los Angeles",
  to_street = "123 Palm Grove Ln",
  amount = -16.5,
  shipping = -1.5,
  sales_tax = -0.95,
  line_items = new[] {
    new {
      quantity = 1,
      product_identifier = "12-34243-0",
      description = "Heavy Widget",
      unit_price = -15,
      sales_tax = -0.95
    }
  }
});
import com.taxjar.Taxjar;
import com.taxjar.exception.TaxjarException;
import com.taxjar.model.transactions.RefundResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CreateRefundExample {

    public static void main(String[] args) {
        Taxjar client = new Taxjar("9e0cd62a22f451701f29c3bde214");

        try {
            Map<String, Object> params = new HashMap<>();
            params.put("transaction_id", "321");
            params.put("transaction_date", "2015/05/04");
            params.put("to_country", "US");
            params.put("to_zip", "90002");
            params.put("to_city", "Los Angeles");
            params.put("to_street", "123 Palm Grove Ln");
            params.put("amount", -16.5);
            params.put("shipping", -1.5);
            params.put("sales_tax", -0.95);

            List<Map> lineItems = new ArrayList();
            Map<String, Object> lineItem = new HashMap<>();
            lineItem.put("quantity", 1);
            lineItem.put("product_identifier", "12-34243-0");
            lineItem.put("description", "Heavy Widget");
            lineItem.put("unit_price", -15);
            lineItem.put("sales_tax", -0.95);
            lineItems.add(lineItem);

            params.put("line_items", lineItems);

            RefundResponse res = client.createRefund(params);
        } catch (TaxjarException e) {
            e.printStackTrace();
        }
    }

}