@streamkast/avatax
v20.9.2
Published
AvaTax v2 SDK for languages using JavaScript
Downloads
8
Readme
AvaTax Rest V2 Node.js SDK
AvaTax v2 SDK for languages using node.js
Installation
Install the package with:
# using npm
npm install avatax
# using yarn
yarn add avatax
Usage
Configuration
// es5 import
var Avatax = require('avatax');
// es6/7 import
// import Avatax from 'avatax';
// resolve configuration and credentials
const config = {
appName: 'your-app',
appVersion: '1.0',
environment: 'sandbox',
machineName: 'your-machine-name'
};
const creds = {
username: '<your-username>',
password: '<your-password>'
};
var client = new Avatax(config).withSecurity(creds);
Tax Calculation
const taxDocument = {
type: 'SalesInvoice',
companyCode: 'abc123',
date: '2017-04-12',
customerCode: 'ABC',
purchaseOrderNo: '2017-04-12-001',
addresses: {
SingleLocation: {
line1: '123 Main Street',
city: 'Irvine',
region: 'CA',
country: 'US',
postalCode: '92615'
}
},
lines: [
{
number: '1',
quantity: 1,
amount: 100,
taxCode: 'PS081282',
itemCode: 'Y0001',
description: 'Yarn'
}
],
commit: true,
currencyCode: 'USD',
description: 'Yarn'
}
return client.createTransaction({ model: taxDocument })
.then(result => {
// response tax document
console.log(result);
});
Address Validation
const address = {
city: 'irvine',
postalCode: '92615',
region: 'ca',
country: 'us'
};
return client.resolveAddress(address)
.then(result => {
// address validation result
console.log(result);
});
SDK Development
Adding integration test credentials
Running integration tests will hit the deployed lower environment
Test credentials are resolved in the following order:
- Environment variables
The following environment variables will get loaded as test credentials
SANDBOX_USERNAME="your-username"
SANDBOX_PASSWORD="your-password"
- Local credentials file
You can also add a local credentials file to the the path "<project_root>/local_creds.json". This file will be gitignored
{
"username": "your-username",
"password": "your-password"
}
- Static (mock) values
The mocked values are used for unit tests via 'nock'.
The test credentials helper can be found here https://github.com/avadev/AvaTax-REST-V2-JS-SDK/blob/master/test/helpers/load_creds.js
Publish tags upstream
# assuming a tag of v17.5.2 and a remote of 'upstream'
git push upstream v17.5.2