Official Node client for Sales Tax API v2. For the REST documentation, please visit http://developers.taxjar.com/api.
- Node 0.10.0 and later.
npm install taxjar
var taxjar = require('taxjar')(process.env.TAXJAR_API_KEY);
taxjar.categories().then(function(res) {
res.categories; // Array of categories
});
taxjar.ratesForLocation('90002').then(function(res) {
res.rate; // Rate object
});
taxjar.taxForOrder({
from_country: 'US',
from_zip: '07001',
from_state: 'NJ',
to_country: 'US',
to_zip: '07446',
to_state: 'NJ',
amount: 16.50,
shipping: 1.5,
line_items: [
{
quantity: 1,
unit_price: 15.0,
product_tax_code: 31000
}
]
}).then(function(res) {
res.tax; // Tax object
res.tax.amount_to_collect; // Amount to collect
});
taxjar.listOrders({
from_transaction_date: '2015/05/01',
to_transaction_date: '2015/05/31'
}).then(function(res) {
res.orders; // Orders object
});
taxjar.showOrder('123').then(function(res) {
res.order; // Order object
});
taxjar.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: 17.45,
shipping: 1.5,
sales_tax: 0.95,
line_items: [
{
quantity: 1,
product_identifier: '12-34243-9',
description: 'Fuzzy Widget',
unit_price: 15.0,
sales_tax: 0.95
}
]
}).then(function(res) {
res.order; // Order object
});
taxjar.updateOrder({
transaction_id: '123',
amount: 17.45,
shipping: 1.5,
line_items: [
{
quantity: 1,
product_identifier: '12-34243-0',
description: 'Heavy Widget',
unit_price: 15.0,
discount: 0.0,
sales_tax: 0.95
}
]
}).then(function(res) {
res.order; // Order object
});
taxjar.deleteOrder('123').then(function(res) {
res.order; // Order object
});
taxjar.listRefunds({
from_transaction_date: '2015/05/01',
to_transaction_date: '2015/05/31'
}).then(function(res) {
res.refunds; // Refunds object
});
taxjar.showRefund('321').then(function(res) {
res.refund; // Refund object
});
taxjar.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: 17.45,
shipping: 1.5,
sales_tax: 0.95,
line_items: [
{
quantity: 1,
product_identifier: '12-34243-9',
description: 'Fuzzy Widget',
unit_price: 15.0,
sales_tax: 0.95
}
]
}).then(function(res) {
res.refund; // Refund object
});
taxjar.updateRefund({
transaction_id: '123',
amount: 17.95,
shipping: 2.0,
line_items: [
{
quantity: 1,
product_identifier: '12-34243-0',
description: 'Heavy Widget',
unit_price: 15.0,
sales_tax: 0.95
}
]
}).then(function(res) {
res.refund; // Refund object
});
taxjar.deleteRefund('123').then(function(res) {
res.refund; // Refund object
});
taxjar.validate({
vat: 'FR40303265045'
}).then(function(res) {
res.validation; // Validation object
});
taxjar.summaryRates().then(function(res) {
res.summary_rates; // Array of summarized rates
});
To run tests you'll need to provide a TaxJar API key:
TAXJAR_TEST_API_KEY=YOUR_KEY npm test