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
Installation Services 10040 Installation services separately stated from sales of tangible personal property.
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.
Advertising Services 19001 Services rendered for advertising which do not include the exchange of tangible personal property.
Parking Services 19002 Service of providing usage of a parking space.
Admission Services 19003 Admission charges associated with entry to an event.
Training Services 19004 Services provided to educate users on the proper use of a product.
Professional Services 19005 Professional services which are not subject to a service-specific tax levy.
Dry Cleaning Services 19006 Services provided in the cleaning of clothing and/or fabrics.
Repair Services 19007 Services provided to restore tangible personal property to working order or optimal functionality.
Hairdressing Services 19008 Services provided to cut and style human hair.
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.
Clothing 20010 All human wearing apparel suitable for general use.
Clothing - Swimwear 20041 Bathing suits and swim suits.
Software as a Service 30070 Pre-written software, delivered electronically, but access remotely.
Digital Goods 31000 Digital products transferred electronically, meaning obtained by the purchaser by means other than tangible storage media.
Candy 40010 Candy and similar items
Supplements 40020 Non-food dietary supplements.
Food & Groceries 40030 Food for humans consumption, unprepared.
Soft Drinks 40050 Soft drinks, soda, and other similar beverages. Does not include fruit juices and water.
Bottled Water 40060 Bottled, drinkable water for human consumption.
Prepared Foods 41000 Foods intended for on-site consumption. Ex. Restaurant meals.
Non-Prescription 51010 Drugs for human use without a prescription.
Prescription 51020 Drugs for human use with a prescription.
Books 81100 Books, printed.
Textbook 81110 Textbooks, printed.
Religious Books 81120 Religious books and manuals, printed.
Magazines & Subscriptions 81300 Periodicals, printed, sold by subscription.
Magazine 81310 Periodicals, printed, sold individually.
Software - Prewritten, electronic delivery 43230000A1200 *(PLUS ONLY)* Software - Prewritten & delivered electronically
Software - Prewritten, load and leave delivery 43230000A1300 *(PLUS ONLY)* Software - Prewritten & delivered by load and leave
Software - Prewritten, delivered by digital keycode printed on tangible media 43230000A1400 *(PLUS ONLY)* Software - Prewritten & delivered by digital keycode printed on tangible media
Software - Custom, tangible media 43230000A2100 *(PLUS ONLY)* Software - Custom & delivered on tangible media
Software - Custom, electronic delivery 43230000A2200 *(PLUS ONLY)* Software - Custom & delivered electronically
Software - Custom, load and leave delivery 43230000A2300 *(PLUS ONLY)* Software - Custom & delivered by load & leave
Electronic publications and music - Delivered electronically with permanent rights of usage 55111500A1210 *(PLUS ONLY)* Electronic publications and music - Delivered electronically with permanent rights of usage
Electronic publications and music - Delivered electronically with less than permanent rights of usage 55111500A1220 *(PLUS ONLY)* Electronic publications and music - Delivered electronically with less than permanent rights of usage
Electronic publications and music - Streamed 55111500A1500 *(PLUS ONLY)* Electronic publications and music - Streamed
Electronic software documentation or user manuals - Prewritten, electronic delivery 55111601A1200 *(PLUS ONLY)* Electronic software documentation or user manuals - For prewritten software & delivered electronically
Electronic software documentation or user manuals - Prewritten, load and leave delivery 55111601A1300 *(PLUS ONLY)* Electronic software documentation or user manuals - For prewritten software & delivered by load and leave
Electronic software documentation or user manuals - Custom, tangible media 55111601A2100 *(PLUS ONLY)* Electronic software documentation or user manuals - For custom software & delivered on tangible media
Electronic software documentation or user manuals - Custom, electronic delivery 55111601A2200 *(PLUS ONLY)* Electronic software documentation or user manuals - For custom software & delivered electronically
Electronic software documentation or user manuals - Custom, load and leave delivery 55111601A2300 *(PLUS ONLY)* Electronic software documentation or user manuals - For custom software & delivered by load and leave
Proprietary or licensed systems maintenance or support 81111805A0000 *(PLUS ONLY)* Proprietary or licensed systems maintenance or support
Cloud-based software as a service (SaaS) 81162000A0000 *(PLUS ONLY)* Cloud-based software as a service (SaaS)
Software - Prewritten, tangible media 43230000A1100 *(PLUS ONLY)* Software - Prewritten & delivered on tangible media
Electronic software documentation or user manuals - Prewritten, tangible media 55111601A1100 *(PLUS ONLY)* Electronic software documentation or user manuals - For prewritten software & delivered on tangible media
Co location service 81111814A0000 *(PLUS ONLY)* Co location service
Data center services 81112003A0000 *(PLUS ONLY)* Data center services
Disaster recovery services 81112004A0000 *(PLUS ONLY)* Disaster recovery services
Mainframe software applications design 81111501A0000 *(PLUS ONLY)* Mainframe software applications design
Personal computer PC application design 81111502A0000 *(PLUS ONLY)* Personal computer PC application design
Systems integration design 81111503A0000 *(PLUS ONLY)* Systems integration design
Application programming services 81111504A0000 *(PLUS ONLY)* Application programming services
Operating system programming services 81111505A0000 *(PLUS ONLY)* Operating system programming services
Client or server programming services 81111506A0000 *(PLUS ONLY)* Client or server programming services
ERP or database applications programming services 81111507A0000 *(PLUS ONLY)* ERP or database applications programming services
Application implementation services 81111508A0000 *(PLUS ONLY)* Application implementation services
Internet or intranet client application development services 81111509A0000 *(PLUS ONLY)* Internet or intranet client application development services
Internet or intranet server application development services 81111510A0000 *(PLUS ONLY)* Internet or intranet server application development services
System or application programming management service 81111511A0000 *(PLUS ONLY)* System or application programming management service
Computer graphics service 81111512A0000 *(PLUS ONLY)* Computer graphics service
Internet cloud storage service 81111513A0000 *(PLUS ONLY)* Internet cloud storage service
Computer programmers 81111600A0000 *(PLUS ONLY)* Computer programmers
Wide area network communications design 81111701A0000 *(PLUS ONLY)* Wide area network communications design
Local area network communications design 81111702A0000 *(PLUS ONLY)* Local area network communications design
Electronic data interchange EDI design 81111703A0000 *(PLUS ONLY)* Electronic data interchange EDI design
Database design 81111704A0000 *(PLUS ONLY)* Database design
Systems architecture 81111705A0000 *(PLUS ONLY)* Systems architecture
Network planning services 81111706A0000 *(PLUS ONLY)* Network planning services
Systems planning services 81111707A0000 *(PLUS ONLY)* Systems planning services
Demining geographical or geospatial information system GIS 81111709A0000 *(PLUS ONLY)* Demining geographical or geospatial information system GIS
Information management system for mine action IMSMA 81111710A0000 *(PLUS ONLY)* Information management system for mine action IMSMA
Computer or network or internet security 81111801A0000 *(PLUS ONLY)* Computer or network or internet security
Mainframe administration services 81111802A0000 *(PLUS ONLY)* Mainframe administration services
Local area network LAN maintenance or support 81111803A0000 *(PLUS ONLY)* Local area network LAN maintenance or support
Wide area network WAN maintenance or support 81111804A0000 *(PLUS ONLY)* Wide area network WAN maintenance or support
Database analysis service 81111806A0000 *(PLUS ONLY)* Database analysis service
System analysis service 81111808A0000 *(PLUS ONLY)* System analysis service
System installation service 81111809A0000 *(PLUS ONLY)* System installation service
Software coding service 81111810A0000 *(PLUS ONLY)* Software coding service
Technical support or help desk services 81111811A0000 *(PLUS ONLY)* Technical support or help desk services
Quality assurance services 81111819A0000 *(PLUS ONLY)* Quality assurance services
System usability services 81111820A0000 *(PLUS ONLY)* System usability services
Database information retrieval 81111901A0000 *(PLUS ONLY)* Database information retrieval
Online database information retrieval service 81111902A0000 *(PLUS ONLY)* Online database information retrieval service
Online data processing service 81112001A0000 *(PLUS ONLY)* Online data processing service
Data processing or preparation services 81112002A0000 *(PLUS ONLY)* Data processing or preparation services
Document scanning service 81112005A0000 *(PLUS ONLY)* Document scanning service
Data storage service 81112006A0000 *(PLUS ONLY)* Data storage service
Content or data standardization services 81112007A0000 *(PLUS ONLY)* Content or data standardization services
Content or data classification services 81112009A0000 *(PLUS ONLY)* Content or data classification services
Data conversion service 81112010A0000 *(PLUS ONLY)* Data conversion service
Software maintenance and support - Mandatory, prewritten, tangible media 81112200A1110 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered on tangible media
Software maintenance and support - Optional, prewritten, tangible media (incl. updates/upgrades) 81112200A1121 *(PLUS ONLY)* 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 *(PLUS ONLY)* 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)
Software maintenance and support - Mandatory, prewritten, electronic delivery 81112200A1210 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered electronically
Software maintenance and support - Optional, prewritten, electronic delivery (incl. updates/upgrades) 81112200A1221 *(PLUS ONLY)* 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 *(PLUS ONLY)* 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 - Mandatory, prewritten, load and leave delivery 81112200A1310 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for prewritten software including items delivered by load and leave
Software maintenance and support - Optional, prewritten, load and leave delivery (incl. updates/upgrades) 81112200A1321 *(PLUS ONLY)* 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 *(PLUS ONLY)* 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 - Mandatory, custom, tangible media 81112200A2110 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered on tangible media
Software maintenance and support - Optional, custom, tangible media (incl. updates/upgrades) 81112200A2121 *(PLUS ONLY)* 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, custom, tangible media (support services only) 81112200A2122 *(PLUS ONLY)* 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 - Mandatory, custom, electronic delivery 81112200A2210 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered electronically
Software maintenance and support - Optional, custom, electronic delivery (incl. updates/upgrades) 81112200A2221 *(PLUS ONLY)* 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 *(PLUS ONLY)* 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 - Mandatory, custom, load and leave delivery 81112200A2310 *(PLUS ONLY)* Software maintenance and support - Mandatory maintenance and support charges for custom software including items delivered by load and leave
Software maintenance and support - Optional, custom, load and leave delivery (incl. updates/upgrades) 81112200A2321 *(PLUS ONLY)* 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 *(PLUS ONLY)* 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)
Cloud-based platform as a service (PaaS) 81162100A0000 *(PLUS ONLY)* Cloud-based platform as a service (PaaS) - Personal Use
Cloud-based infrastructure as a service (IaaS) 81162200A0000 *(PLUS ONLY)* Cloud-based infrastructure as a service (IaaS) - Personal Use
Hardware as a service (HaaS) 81161900A0000 *(PLUS ONLY)* Hardware as a service (HaaS)
Cloud-based business process as a service 81162300A0000 *(PLUS ONLY)* Cloud-based business process as a service
Cloud-based platform as a service (PaaS) - Business Use 81162100A9000 *(PLUS ONLY)* Cloud-based platform as a service (PaaS) - Business Use
Cloud-based infrastructure as a service (IaaS) - Business Use 81162200A9000 *(PLUS ONLY)* Cloud-based infrastructure as a service (IaaS) - Business Use
Cloud-based business process as a service - Business Use 81162300A9000 *(PLUS ONLY)* Cloud-based business process as a service - Business Use
Cloud-based software as a service (SaaS) - Business Use 81162000A9000 *(PLUS ONLY)* Cloud-based software as a service (SaaS) - Business Use
Gift Cards 14111803A0001 *(PLUS ONLY)* Gift Cards
Clothing - Lab coats 46181532A0000 *(PLUS ONLY)* Clothing - Lab coats
Clothing - Waterproof jacket or raincoat 46181543A0000 *(PLUS ONLY)* Clothing - Waterproof jacket or raincoat
Clothing - Waterproof cap 46181546A0000 *(PLUS ONLY)* Clothing - Waterproof cap
Clothing - Safety boots 46181604A0000 *(PLUS ONLY)* Clothing - Safety boots
Clothing - Safety shoes 46181605A0000 *(PLUS ONLY)* Clothing - Safety shoes
Clothing - Protective clogs 46181607A0000 *(PLUS ONLY)* Clothing - Protective clogs
Clothing - Protective sandals 46181608A0000 *(PLUS ONLY)* Clothing - Protective sandals
Clothing - Protective insole 46181609A0000 *(PLUS ONLY)* Clothing - Protective insole
Clothing - Insulated cold weather shoe 46181610A0000 *(PLUS ONLY)* Clothing - Insulated cold weather shoe
Clothing - Waterproof boot 46181611A0000 *(PLUS ONLY)* Clothing - Waterproof boot
Clothing - Military boot 46181612A0000 *(PLUS ONLY)* Clothing - Military boot
Clothing - Mountain climbing boot 46181613A0000 *(PLUS ONLY)* Clothing - Mountain climbing boot
Clothing - Poncho 53101806A0000 *(PLUS ONLY)* Clothing - Poncho
Clothing - Undershirts 53102301A0000 *(PLUS ONLY)* Clothing - Undershirts
Clothing - Slips 53102302A0000 *(PLUS ONLY)* Clothing - Slips
Clothing - Underpants 53102303A0000 *(PLUS ONLY)* Clothing - Underpants
Clothing - Brassieres 53102304A0000 *(PLUS ONLY)* Clothing - Brassieres
Clothing - Infant diapers 53102305A0000 *(PLUS ONLY)* Clothing - Infant diapers
Clothing - Adult diapers 53102306A0000 *(PLUS ONLY)* Clothing - Adult diapers
Clothing - Body shaping garments 53102307A0000 *(PLUS ONLY)* Clothing - Body shaping garments
Clothing - Diaper liners 53102308A0000 *(PLUS ONLY)* Clothing - Diaper liners
Clothing - Disposable youth training pants 53102311A0000 *(PLUS ONLY)* Clothing - Disposable youth training pants
Clothing - Stockings 53102401A0000 *(PLUS ONLY)* Clothing - Stockings
Clothing - Socks 53102402A0000 *(PLUS ONLY)* Clothing - Socks
Clothing - Panty hose 53102403A0000 *(PLUS ONLY)* Clothing - Panty hose
Clothing - Tights 53102404A0000 *(PLUS ONLY)* Clothing - Tights
Clothing - Belts or suspenders 53102501A0000 *(PLUS ONLY)* Clothing - Belts or suspenders
Clothing - Ties or scarves or mufflers 53102502A0000 *(PLUS ONLY)* Clothing - Ties or scarves or mufflers
Clothing - Hats 53102503A0000 *(PLUS ONLY)* Clothing - Hats
Clothing - Gloves or mittens 53102504A0000 *(PLUS ONLY)* Clothing - Gloves or mittens
Clothing - Armbands 53102508A0000 *(PLUS ONLY)* Clothing - Armbands
Clothing - Garters 53102509A0000 *(PLUS ONLY)* Clothing - Garters
Clothing - Bandannas 53102511A0000 *(PLUS ONLY)* Clothing - Bandannas
Clothing - Caps 53102516A0000 *(PLUS ONLY)* Clothing - Caps
Clothing - Bib 53102521A0000 *(PLUS ONLY)* Clothing - Bib
Clothing - Bath robes 53102606A0000 *(PLUS ONLY)* Clothing - Bath robes
Clothing - Infant swaddles or buntings or receiving blankets 53102608A0000 *(PLUS ONLY)* Clothing - Infant swaddles or buntings or receiving blankets
Clothing - Disposable work coat 53103201A0000 *(PLUS ONLY)* Clothing - Disposable work coat
Clothing - Shoelaces 53112002A0000 *(PLUS ONLY)* Clothing - Shoelaces
Clothing - Heel pads 53112003A0000 *(PLUS ONLY)* Clothing - Heel pads
Clothing - Slacks or trousers or shorts 53101500A0000 *(PLUS ONLY)* Clothing - Slacks or trousers or shorts
Clothing - Shirts 53101600A0000 *(PLUS ONLY)* Clothing - Shirts
Clothing - Sweaters 53101700A0000 *(PLUS ONLY)* Clothing - Sweaters
Clothing - Coats or jackets 53101800A0000 *(PLUS ONLY)* Clothing - Coats or jackets
Clothing - Suits 53101900A0000 *(PLUS ONLY)* Clothing - Suits
Clothing - Dresses or skirts or saris or kimonos 53102000A0000 *(PLUS ONLY)* Clothing - Dresses or skirts or saris or kimonos
Clothing - Overalls or coveralls 53102100A0000 *(PLUS ONLY)* Clothing - Overalls or coveralls
Clothing - Folkloric clothing 53102200A0000 *(PLUS ONLY)* Clothing - Folkloric clothing
Clothing - Pajamas or nightshirts or robes 53102600A0000 *(PLUS ONLY)* Clothing - Pajamas or nightshirts or robes
Clothing - Athletic wear 53102900A0000 *(PLUS ONLY)* Clothing - Athletic wear
Clothing - TShirts 53103000A0000 *(PLUS ONLY)* Clothing - TShirts
Clothing - Vest or waistcoats 53103100A0000 *(PLUS ONLY)* Clothing - Vest or waistcoats
Clothing - Boots 53111500A0000 *(PLUS ONLY)* Clothing - Boots
Clothing - Shoes 53111600A0000 *(PLUS ONLY)* Clothing - Shoes
Clothing - Slippers 53111700A0000 *(PLUS ONLY)* Clothing - Slippers
Clothing - Sandals 53111800A0000 *(PLUS ONLY)* Clothing - Sandals
Clothing - Athletic footwear 53111900A0000 *(PLUS ONLY)* Clothing - Athletic footwear
Clothing - Overshoes 53112000A0000 *(PLUS ONLY)* Clothing - Overshoes
Clothing - Swimwear 53102800A0000 *(PLUS ONLY)* Clothing - Swimwear
Clothing - Sweat bands 53102506A0000 *(PLUS ONLY)* Clothing - Sweat bands
Clothing - Tuxedo or Formalwear 53101801A0001 *(PLUS ONLY)* Clothing - Tuxedo or Formalwear
Clothing - Formal Dress 53101801A0002 *(PLUS ONLY)* Clothing - Formal Dress
Clothing - Prom Dress 53101801A0003 *(PLUS ONLY)* Clothing - Prom Dress
Clothing - Bridal Gown 53101801A0004 *(PLUS ONLY)* Clothing - Bridal Gown
Clothing - Protective aprons 46181501A0001 *(PLUS ONLY)* Clothing - Protective aprons
Clothing - Bullet proof vests 46181502A0001 *(PLUS ONLY)* Clothing - Bullet proof vests
Clothing - Protective coveralls 46181503A0001 *(PLUS ONLY)* Clothing - Protective coveralls
Clothing - Protective gloves 46181504A0001 *(PLUS ONLY)* Clothing - Protective gloves
Clothing - Protective knee pads 46181505A0001 *(PLUS ONLY)* Clothing - Protective knee pads
Clothing - Protective ponchos 46181506A0001 *(PLUS ONLY)* Clothing - Protective ponchos
Clothing - Safety vests 46181507A0001 *(PLUS ONLY)* Clothing - Safety vests
Clothing - Fire retardant apparel 46181508A0001 *(PLUS ONLY)* Clothing - Fire retardant apparel
Clothing - Hazardous material protective apparel 46181509A0001 *(PLUS ONLY)* Clothing - Hazardous material protective apparel
Clothing - Cleanroom apparel 46181512A0001 *(PLUS ONLY)* Clothing - Cleanroom apparel
Clothing - Elbow protectors 46181514A0001 *(PLUS ONLY)* Clothing - Elbow protectors
Clothing - Safety sleeves 46181516A0001 *(PLUS ONLY)* Clothing - Safety sleeves
Clothing - Insulated or flotation suits 46181517A0001 *(PLUS ONLY)* Clothing - Insulated or flotation suits
Clothing - Heat resistant clothing 46181518A0001 *(PLUS ONLY)* Clothing - Heat resistant clothing
Clothing - Leg protectors 46181520A0001 *(PLUS ONLY)* Clothing - Leg protectors
Clothing - Safety hoods 46181522A0001 *(PLUS ONLY)* Clothing - Safety hoods
Clothing - Protective shirts 46181526A0001 *(PLUS ONLY)* Clothing - Protective shirts
Clothing - Protective pants 46181527A0001 *(PLUS ONLY)* Clothing - Protective pants
Clothing - Protective frock 46181528A0001 *(PLUS ONLY)* Clothing - Protective frock
Clothing - Insulated clothing for cold environments 46181529A0001 *(PLUS ONLY)* Clothing - Insulated clothing for cold environments
Clothing - Protective finger cots 46181530A0001 *(PLUS ONLY)* Clothing - Protective finger cots
Clothing - Reflective apparel or accessories 46181531A0001 *(PLUS ONLY)* Clothing - Reflective apparel or accessories
Clothing - Protective coats 46181533A0001 *(PLUS ONLY)* Clothing - Protective coats
Clothing - Protective wristbands 46181534A0001 *(PLUS ONLY)* Clothing - Protective wristbands
Clothing - Protective socks or hosiery 46181535A0001 *(PLUS ONLY)* Clothing - Protective socks or hosiery
Clothing - Anti cut gloves 46181536A0001 *(PLUS ONLY)* Clothing - Anti cut gloves
Clothing - Insulated gloves 46181537A0001 *(PLUS ONLY)* Clothing - Insulated gloves
Clothing - Thermal gloves 46181538A0001 *(PLUS ONLY)* Clothing - Thermal gloves
Clothing - Anti vibratory gloves 46181539A0001 *(PLUS ONLY)* Clothing - Anti vibratory gloves
Clothing - Welder gloves 46181540A0001 *(PLUS ONLY)* Clothing - Welder gloves
Clothing - Chemical resistant gloves 46181541A0001 *(PLUS ONLY)* Clothing - Chemical resistant gloves
Clothing - Protective mittens 46181542A0001 *(PLUS ONLY)* Clothing - Protective mittens
Clothing - Waterproof trousers or pants 46181544A0001 *(PLUS ONLY)* Clothing - Waterproof trousers or pants
Clothing - Waterproof suit 46181545A0001 *(PLUS ONLY)* Clothing - Waterproof suit
Clothing - Waterproof cap cover 46181547A0001 *(PLUS ONLY)* Clothing - Waterproof cap cover
Clothing - Welder bib 46181548A0001 *(PLUS ONLY)* Clothing - Welder bib
Clothing - Neck gaitor 46181549A0001 *(PLUS ONLY)* Clothing - Neck gaitor
Clothing - Protective scarf 46181550A0001 *(PLUS ONLY)* Clothing - Protective scarf
Clothing - Protective mesh jacket 46181551A0001 *(PLUS ONLY)* Clothing - Protective mesh jacket
Clothing - Protective wear dispenser 46181553A0001 *(PLUS ONLY)* Clothing - Protective wear dispenser
Clothing - Cooling vest 46181554A0001 *(PLUS ONLY)* Clothing - Cooling vest
Clothing - Fire retardant footwear 46181601A0001 *(PLUS ONLY)* Clothing - Fire retardant footwear
Clothing - Hazardous material protective footwear 46181602A0001 *(PLUS ONLY)* Clothing - Hazardous material protective footwear
Clothing - Cleanroom footwear 46181603A0001 *(PLUS ONLY)* Clothing - Cleanroom footwear
Clothing - Footwear covers 46181606A0001 *(PLUS ONLY)* Clothing - Footwear covers
Clothing - Hard hats 46181701A0001 *(PLUS ONLY)* Clothing - Hard hats
Clothing - Facial shields 46181702A0001 *(PLUS ONLY)* Clothing - Facial shields
Clothing - Welding masks 46181703A0001 *(PLUS ONLY)* Clothing - Welding masks
Clothing - Safety helmets 46181704A0001 *(PLUS ONLY)* Clothing - Safety helmets
Clothing - Motorcycle helmets 46181705A0001 *(PLUS ONLY)* Clothing - Motorcycle helmets
Clothing - Helmet parts or accessories 46181706A0001 *(PLUS ONLY)* Clothing - Helmet parts or accessories
Clothing - Facial shields parts or accessories 46181707A0001 *(PLUS ONLY)* Clothing - Facial shields parts or accessories
Clothing - Protective hair net 46181708A0001 *(PLUS ONLY)* Clothing - Protective hair net
Clothing - Face protection kit 46181709A0001 *(PLUS ONLY)* Clothing - Face protection kit
Clothing - Protective hood 46181710A0001 *(PLUS ONLY)* Clothing - Protective hood
Clothing - Welders helmet 46181711A0001 *(PLUS ONLY)* Clothing - Welders helmet
Clothing - Safety glasses 46181802A0001 *(PLUS ONLY)* Clothing - Safety glasses
Clothing - Eye shields 46181803A0001 *(PLUS ONLY)* Clothing - Eye shields
Clothing - Goggles 46181804A0001 *(PLUS ONLY)* Clothing - Goggles
Clothing - Goggle protective covers 46181808A0001 *(PLUS ONLY)* Clothing - Goggle protective covers
Clothing - Eye shield garters 46181809A0001 *(PLUS ONLY)* Clothing - Eye shield garters
Clothing - Protective lens 46181811A0001 *(PLUS ONLY)* Clothing - Protective lens
Clothing - Baseball batting gloves 49211606A0001 *(PLUS ONLY)* Clothing - Baseball batting gloves
Clothing - Bowling gloves 49211606A0002 *(PLUS ONLY)* Clothing - Bowling gloves
Clothing - Boxing gloves 49171600A0000 *(PLUS ONLY)* Clothing - Boxing gloves
Clothing - Football receiver gloves 49211606A0004 *(PLUS ONLY)* Clothing - Football receiver gloves
Clothing - Swim goggles or swim fins 49141606A0000 *(PLUS ONLY)* Clothing - Swim goggles or swim fins
Clothing - Life vests or preservers 46161604A0000 *(PLUS ONLY)* Clothing - Life vests or preservers
Clothing - Ice Skates 49151602A0000 *(PLUS ONLY)* Clothing - Ice Skates
Clothing - Roller skates or roller blades 49221509A0000 *(PLUS ONLY)* Clothing - Roller skates or roller blades
Clothing - Shin guards 49161525A0001 *(PLUS ONLY)* Clothing - Shin guards
Clothing - Mouth guards 42152402A0001 *(PLUS ONLY)* Clothing - Mouth guards
Clothing - Shoulder pads for sports 46181506A0002 *(PLUS ONLY)* Clothing - Shoulder pads for sports
Clothing - Wetsuit 49141506A0000 *(PLUS ONLY)* Clothing - Wetsuit
Clothing - Golf gloves 49211606A0000 *(PLUS ONLY)* Clothing - Golf gloves
Clothing - Ballet or tap shoes 53111900A0001 *(PLUS ONLY)* Clothing - Ballet or tap shoes
Clothing - Cleated or spiked shoes 53111900A0002 *(PLUS ONLY)* Clothing - Cleated or spiked shoes
Clothing - Bowling shoes 53111900A0003 *(PLUS ONLY)* Clothing - Bowling shoes
Clothing - Golf shoes 53111900A0004 *(PLUS ONLY)* Clothing - Golf shoes
Clothing - Ski boots 53111900A0005 *(PLUS ONLY)* Clothing - Ski boots
Clothing - Athletic supporter 49161517A0001 *(PLUS ONLY)* Clothing - Athletic supporter
Clothing - Chevrons 53102518A0000 *(PLUS ONLY)* Clothing - Chevrons
Clothing - Military uniforms 53102701A0000 *(PLUS ONLY)* Clothing - Military uniforms
Clothing - Customs uniforms 53102702A0000 *(PLUS ONLY)* Clothing - Customs uniforms
Clothing - Police uniforms 53102703A0000 *(PLUS ONLY)* Clothing - Police uniforms
Clothing - Institutional food preparation or service attire 53102704A0000 *(PLUS ONLY)* Clothing - Institutional food preparation or service attire
Clothing - School uniforms 53102705A0000 *(PLUS ONLY)* Clothing - School uniforms
Clothing - Security uniforms 53102706A0000 *(PLUS ONLY)* Clothing - Security uniforms
Clothing - Doctors coat 53102707A0000 *(PLUS ONLY)* Clothing - Doctors coat
Clothing - Nurses uniforms 53102708A0000 *(PLUS ONLY)* Clothing - Nurses uniforms
Clothing - Ambulance officers uniforms 53102709A0000 *(PLUS ONLY)* Clothing - Ambulance officers uniforms
Clothing - Corporate uniforms 53102710A0000 *(PLUS ONLY)* Clothing - Corporate uniforms
Clothing - Salon smocks 53102711A0000 *(PLUS ONLY)* Clothing - Salon smocks
Clothing - Paramedic uniforms 53102712A0000 *(PLUS ONLY)* Clothing - Paramedic uniforms
Clothing - Ushers uniforms 53102713A0000 *(PLUS ONLY)* Clothing - Ushers uniforms
Clothing - Judicial robe 53102714A0000 *(PLUS ONLY)* Clothing - Judicial robe
Clothing - Prison officer uniform 53102715A0000 *(PLUS ONLY)* Clothing - Prison officer uniform
Clothing - Prisoner uniform 53102716A0000 *(PLUS ONLY)* Clothing - Prisoner uniform
Clothing - Firefighter uniform 53102718A0000 *(PLUS ONLY)* Clothing - Firefighter uniform
Clothing - Sport uniform 53102717A0000 *(PLUS ONLY)* Clothing - Sport uniform
Clothing - Costume 60141401A0000 *(PLUS ONLY)* Clothing - Costume
Clothing - Costume Mask 60122800A0000 *(PLUS ONLY)* Clothing - Costume Mask
Clothing - Handkerchiefs 53102512A0000 *(PLUS ONLY)* Clothing - Handkerchiefs
Clothing - Shower Cap 53131601A0000 *(PLUS ONLY)* Clothing - Shower Cap
Clothing - Gorgets 53102519A0000 *(PLUS ONLY)* Clothing - Gorgets
Clothing - Zippers 53141503A0000 *(PLUS ONLY)* Clothing - Zippers
Clothing - Buttons 53141505A0000 *(PLUS ONLY)* Clothing - Buttons
Clothing - Snaps 53141506A0000 *(PLUS ONLY)* Clothing - Snaps
Clothing - Clasps 53141507A0000 *(PLUS ONLY)* Clothing - Clasps
Clothing - Fabric for use in clothing 11160000A0000 *(PLUS ONLY)* Clothing - Fabric for use in clothing
Clothing - Yarn 11151700A0000 *(PLUS ONLY)* Clothing - Clothing - Yarn
Clothing - Fabric dye 60105810A0000 *(PLUS ONLY)* Clothing - Clothing - Fabric dye
Clothing - Sequins for use in clothing 60123900A0000 *(PLUS ONLY)* Clothing - Sequins for use in clothing
Clothing - Belt Buckle 53102501A0001 *(PLUS ONLY)* Clothing - Belt Buckle
Clothing - Shoulder boards or epaulettes 53102520A0000 *(PLUS ONLY)* Clothing - Shoulder boards or epaulettes

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();
        }
    }

}
package main

import (
    "fmt"

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

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

    res, err := client.CreateRefund(taxjar.CreateRefundParams{
        TransactionID:          "123",
        TransactionDate:        "2015/05/14",
        TransactionReferenceID: "123",
        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.RefundLineItem{
            {
                Quantity:          1,
                ProductIdentifier: "12-34243-9",
                Description:       "Fuzzy Widget",
                UnitPrice:         -15,
                SalesTax:          -0.95,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Refund)
    }
}
$ curl https://api.taxjar.com/v2/transactions/refunds \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "123",
    "transaction_date": "2015/05/14",
    "transaction_reference_id": "123",
    "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

{
  "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": "-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::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 => -16.5,
  :shipping => -1.5,
  :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': -1.5,
  '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': -16.5,
  'transaction_id': '321',
  'to_state': 'CA',
  'provider': 'api'
}>
taxjar.CreateRefundResponse{
    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:                 -16.5,
        Shipping:               -1.5,
        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,
            },
        },
    },
}

Creates a new refund transaction.

Request

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

Parameters

Parameter Type Required Description
transaction_id string required Unique identifier of the given refund transaction. View Note
transaction_reference_id string required Unique identifier of the corresponding order transaction for the refund.
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 refunded order with shipping, excluding sales tax in dollars.
shipping float required Total amount of shipping for the refunded order in dollars.
sales_tax float required Total amount of sales tax collected for the refunded 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 refund 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 negative values for monetary amounts when creating or updating refund transactions. Values will be signed automatically regardless of what you send in.

Response

Returns a refund JSON object with details of the new refund transaction.

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.

put Update a refund transaction

Definition

client.update_refund
client.update_refund
client.updateRefund();
$client->updateRefund();
client.UpdateRefund();
client.updateRefund();
client.UpdateRefund()
PUT https://api.taxjar.com/v2/transactions/refunds/:transaction_id

Request Example

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

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

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

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

client.updateRefund({
  transaction_id: '123',
  amount: -17,
  shipping: -2,
  line_items: [
    {
      quantity: 1,
      product_identifier: '12-34243-0',
      description: 'Heavy 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->updateRefund([
  'transaction_id' => '321',
  'amount' => -17,
  'shipping' => -2,
  'line_items' => [
    [
      'quantity' => 1,
      'product_identifier' => '12-34243-0',
      'description' => 'Heavy Widget',
      'unit_price' => -15,
      'sales_tax' => -0.95
    ]
  ]
]);
using Taxjar;
var client = new TaxjarApi("9e0cd62a22f451701f29c3bde214");

var refund = client.UpdateRefund(new
{
  transaction_id = "321",
  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.RefundResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UpdateRefundExample {

    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("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);

            RefundResponse res = client.updateRefund("321", 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.UpdateRefund(taxjar.UpdateRefundParams{
        TransactionID: "321",
        Amount:        -17,
        Shipping:      -2,
        SalesTax:      -0.95,
        LineItems: []taxjar.RefundLineItem{
            {
                Quantity:          1,
                ProductIdentifier: "12-34243-0",
                Description:       "Heavy Widget",
                UnitPrice:         -15,
                SalesTax:          -0.95,
            },
        },
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Refund)
    }
}
$ curl https://api.taxjar.com/v2/transactions/refunds/321 \
  -H "Authorization: Bearer 9e0cd62a22f451701f29c3bde214" \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "321",
    "amount": -17,
    "shipping": -2,
    "sales_tax": -0.95,
    "line_items": [
      {
        "quantity": 1,
        "product_identifier": "12-34234-0",
        "description": "Heavy Widget",
        "unit_price": -15,
        "sales_tax": -0.95
      }
    ]
  }' \
  -X PUT

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,
        "discount": 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-9",
      :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-9',
    'sales_tax': -0.95,
    'product_tax_code': None,
    'id': 0,
    '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': '123',
  'sales_tax': -0.95,
  'amount': -17,
  'transaction_id': '321',
  'to_state': 'CA',
  'provider': 'api'
}