Tax API
API change historyInitial Release
Calculate Tax Details
Retrieve tax information for a specific country and product class by providing the Ship from and Ship to details.
determine percentage
The API will return the VAT/TAX amount included in the amount of the item. To get the actual percentage that applies the following is suggested.
Use amountType - NET_VALUE
In the orderItem:
set qty = 1
set price = 100.00
The resulting taxAmount will represent the percentage.
Sample-request
{
"calculateTaxRequest": {
"calculateTaxDetail": {
"order": {
"amountType": "NET_VALUE",
"buyerTaxNumber": "FR66502602220",
"orderItem": [
{
"itemClass": "PHYSICAL",
"itemSku": "A3DGL-501",
"qty": "1",
"price": "100.00"
},
{
"itemClass": "SERVICE",
"itemSku": "ABBRD-0011",
"qty": "1",
"price": "25.00"
}
],
"currency": "EUR"
},
"shipFrom": {
"location": "EMEA",
"country": "NL"
},
"shipTo": {
"location": "EMEA",
"country": "FR"
},
"billTo": {
"location": "EMEA",
"country": "FR"
}
}
}
}
Sample-response
{
"orderItem": [
{
"itemClass": "PHYSICAL",
"itemSku": "A3DGL-501",
"qty": 1,
"taxAmount": 25
},
{
"itemClass": "SERVICE",
"itemSku": "ABBRD-0011",
"qty": 1,
"taxAmount": 6.25
}
],
"validateTaxNumberStatus": false,
"validateTaxNumberMessage": "N/A",
"validateTaxNumberStatusCode": "",
"calculateTaxDetailStatus": true,
"calculateTaxDetailStatusCode": "SUCCESS",
"calculateTaxDetailMessage": "Request successfully processed."
}
The taxAmount represents the percentage e.g.
Physical product 25 -> 25%
Service product 6.25 -> 6.25%
Request
Request URL
Request headers
-
string
ClientConfigId
-
string
ClientAuthKey
-
(optional)stringMedia type of the body sent to the API.
Request body
{
"calculateTaxRequest": {
"calculateTaxDetail": {
"order": {
"amountType": "NET_VALUE",
"buyerTaxNumber": "FR66502602220",
"orderItem": [
{
"itemClass": "PHYSICAL",
"itemSku": "A3DGL-501",
"qty": "1",
"price": "100.00"
},
{
"itemClass": "SERVICE",
"itemSku": "ABBRD-001",
"qty": "1",
"price": "25.00"
}
],
"currency": "EUR"
},
"shipFrom": {
"location": "EMEA",
"country": "NL"
},
"shipTo": {
"location": "EMEA",
"country": "FR"
},
"billTo": {
"location": "EMEA",
"country": "FR"
}
}
}
}
{
"type": "object",
"properties": {
"calculateTaxDetail": {
"type": "object",
"required": [
"billTo",
"order",
"shipTo"
],
"properties": {
"order": {
"type": "object",
"required": [
"amountType",
"currency",
"orderItem"
],
"properties": {
"amountType": {
"type": "string",
"description": "The type of amount e.g. Nett or Gross",
"enum": [
"NET_VALUE",
"GROSS_VALUE"
]
},
"isCustomerCompany": {
"type": "string",
"description": "Is this a company ordering using VAT number",
"enum": [
"true",
"false"
]
},
"buyerTaxNumber": {
"type": "string",
"example": "FR66502602220",
"description": "The campany VAT number incl country code"
},
"orderItem": {
"type": "array",
"items": {
"type": "object",
"required": [
"itemClass",
"itemSku",
"price",
"qty"
],
"properties": {
"itemClass": {
"type": "string",
"description": "the tax class applicable for the item e.g. PHYSICAL",
"enum": [
"PHYSICAL",
"SERVICE",
"WARRANTY",
"HIGH",
"LOW",
"MED",
"EXEMPT"
]
},
"itemSku": {
"type": "string",
"description": "the partnumber of the item in the TAX/VAT calculation"
},
"qty": {
"type": "integer",
"description": "The numer of items (quantity)"
},
"price": {
"type": "string",
"description": "the item price"
},
"taxAmount": {
"type": "number",
"description": "The tax amount for the item. comes back in the response. This is the VAT amount included(gross) or applicable (net) in the item."
}
},
"description": "The items in the response with the appropriate TAX/VAT info"
}
},
"currency": {
"type": "string",
"maxLength": 3,
"description": "ISO3 Currency Code",
"enum": [
"AED",
"AUD",
"BGN",
"CHF",
"CNY",
"CZK",
"DKK",
"EUR",
"GBP",
"HKD",
"HRK",
"HUF",
"IDR",
"INR",
"KRW",
"MXN",
"MYR",
"NOK",
"NZD",
"PLN",
"RUB",
"SEK",
"SGD",
"TRY",
"TWD",
"UAH",
"USD",
"YEN",
"ZAR"
]
}
}
},
"shipFrom": {
"type": "object",
"required": [
"country",
"location"
],
"properties": {
"location": {
"type": "string",
"description": "the ship from reqion",
"enum": [
"EMEA",
"NA",
"APAC"
]
},
"country": {
"type": "string",
"maxLength": 2,
"description": "REQUIRED. ISO 2 Country Code (US, NL, FR, etc)",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BM",
"BN",
"BO",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"IC",
"ID",
"IE",
"IL",
"IN",
"IQ",
"IR",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KI",
"KM",
"KN",
"KP",
"KR",
"KV",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NG",
"NI",
"NL",
"false",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RU",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TN",
"TO",
"TR",
"TT",
"TV",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XB",
"XC",
"XE",
"XM",
"XN",
"XS",
"XY",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
]
},
"city": {
"type": "string",
"description": "name of city, only applicable for US"
},
"stateProv": {
"type": "string",
"maxLength": 3,
"description": "ISO2 state code (ISO_3166-2 ) required for AU, CA, CN, MX and US, and not passed for any other country use \"\"\n\n | ISO2 country code | State | ISO3166-2 State Code |\n | ----------------- | ----- | -------------------- |\n | AU | Australian Capital Territory | ACT |\n | AU | New South Wales | NSW |\n | AU | Northern Territory | NT |\n | AU | Queensland | QLD |\n | AU | South Australia | SA |\n | AU | Tasmania | TAS |\n | AU | Victoria | VIC |\n | AU | Western Australia | WA |\n | CA | Alberta | AB |\n | CA | British Columbia | BC |\n | CA | Manitoba | MB |\n | CA | New Brunswick | NB |\n | CA | Newfoundland and Labrador | NL |\n | CA | Northwest Territories | NT |\n | CA | Nova Scotia | NS |\n | CA | Nunavut | NU |\n | CA | Ontario | ON |\n | CA | Prince Edward Island | PE |\n | CA | Quebec | QC |\n | CA | Saskatchewan | SK |\n | CA | Yukon | YT |\n | CN | Anhui | AH |\n | CN | Beijing | BJ |\n | CN | Chongqing | CQ |\n | CN | Fujian | FJ |\n | CN | Gansu | GS |\n | CN | Guangdong | GD |\n | CN | Guangxi | GX |\n | CN | Guizhou | GZ |\n | CN | Hainan | HI |\n | CN | Hebei | HE |\n | CN | Heilongjiang | HL |\n | CN | Henan | HA |\n | CN | Hubei | HB |\n | CN | Hunan | HN |\n | CN | Jiangsu | JS |\n | CN | Jiangxi | JX |\n | CN | Jilin | JL |\n | CN | Liaoning | LN |\n | CN | Nei Mongol | NM |\n | CN | Ningxia | NX |\n | CN | Qinghai | QH |\n | CN | Shaanxi | SN |\n | CN | Shandong | SD |\n | CN | Shanghai | SH |\n | CN | Shanxi | SX |\n | CN | Sichuan | SC |\n | CN | Tianjin | TJ |\n | CN | Xinjiang | XJ |\n | CN | Xizang | XZ |\n | CN | Yunnan | YN |\n | CN | Zhejiang | ZJ |\n | MX | Aguascalientes | AGU |\n | MX | Baja California | BCN |\n | MX | Baja California Sur | BCS |\n | MX | Campeche | CAM |\n | MX | Chiapas | CHP |\n | MX | Chihuahua | CHH |\n | MX | Ciudad de Mexico | CMX |\n | MX | Coahuila de Zaragoza | COA |\n | MX | Colima | COL |\n | MX | Durango | DUR |\n | MX | Guanajuato | GUA |\n | MX | Guerrero | GRO |\n | MX | Hidalgo | HID |\n | MX | Jalisco | JAL |\n | MX | Mexico | MEX |\n | MX | Michoacan de Ocampo | MIC |\n | MX | Morelos | MOR |\n | MX | Nayarit | NAY |\n | MX | Nuevo Leon | NLE |\n | MX | Oaxaca | OAX |\n | MX | Puebla | PUE |\n | MX | Queretaro | QUE |\n | MX | Quintana Roo | ROO |\n | MX | San Luis Potosi | SLP |\n | MX | Sinaloa | SIN |\n | MX | Sonora | SON |\n | MX | Tabasco | TAB |\n | MX | Tamaulipas | TAM |\n | MX | Tlaxcala | TLA |\n | MX | Veracruz de Ignacio de la Llave | VER |\n | MX | Yucatan | YUC |\n | MX | Zacatecas | ZAC |\n | US | Alabama | AL |\n | US | Alaska | AK |\n | US | Arizona | AZ |\n | US | Arkansas | AR |\n | US | California | CA |\n | US | Colorado | CO |\n | US | Connecticut | CT |\n | US | Delaware | DE |\n | US | District of Columbia | DC |\n | US | Florida | FL |\n | US | Georgia | GA |\n | US | Hawaii | HI |\n | US | Idaho | ID |\n | US | Illinois | IL |\n | US | Indiana | IN |\n | US | Iowa | IA |\n | US | Kansas | KS |\n | US | Kentucky | KY |\n | US | Louisiana | LA |\n | US | Maine | ME |\n | US | Maryland | MD |\n | US | Massachusetts | MA |\n | US | Michigan | MI |\n | US | Minnesota | MN |\n | US | Mississippi | MS |\n | US | Missouri | MO |\n | US | Montana | MT |\n | US | Nebraska | NE |\n | US | Nevada | NV |\n | US | New Hampshire | NH |\n | US | New Jersey | NJ |\n | US | New Mexico | NM |\n | US | New York | NY |\n | US | North Carolina | NC |\n | US | North Dakota | ND |\n | US | Ohio | OH |\n | US | Oklahoma | OK |\n | US | Oregon | OR |\n | US | Pennsylvania | PA |\n | US | Rhode Island | RI |\n | US | South Carolina | SC |\n | US | South Dakota | SD |\n | US | Tennessee | TN |\n | US | Texas | TX |\n | US | Utah | UT |\n | US | Vermont | VT |\n | US | Virginia | VA |\n | US | Washington | WA |\n | US | West Virginia | WV |\n | US | Wisconsin | WI |\n | US | Wyoming | WY |",
"enum": [
"ACT",
"NSW",
"NT",
"QLD",
"SA",
"TAS",
"VIC",
"AB",
"BC",
"MB",
"NB",
"NL",
"NS",
"NU",
"true",
"PE",
"QC",
"SK",
"YT",
"AH",
"BJ",
"CQ",
"FJ",
"GS",
"GD",
"GX",
"GZ",
"HE",
"HL",
"HA",
"HB",
"HN",
"JS",
"JX",
"JL",
"LN",
"NX",
"QH",
"SN",
"SH",
"SX",
"TJ",
"XJ",
"XZ",
"YN",
"ZJ",
"AGU",
"BCN",
"BCS",
"CAM",
"CHP",
"CHH",
"CMX",
"COA",
"COL",
"DUR",
"GUA",
"GRO",
"HID",
"JAL",
"MEX",
"MIC",
"MOR",
"NAY",
"NLE",
"OAX",
"PUE",
"QUE",
"ROO",
"SLP",
"SIN",
"SON",
"TAB",
"TAM",
"TLA",
"VER",
"YUC",
"ZAC",
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
""
]
},
"postalCode": {
"type": "string",
"description": "Postal/Zipcode, only applicable for US"
}
}
},
"shipTo": {
"type": "object",
"required": [
"country",
"location"
],
"properties": {
"location": {
"type": "string",
"description": "the ship from reqion",
"enum": [
"EMEA",
"NA",
"APAC"
]
},
"country": {
"type": "string",
"maxLength": 2,
"description": "REQUIRED. ISO 2 Country Code (US, NL, FR, etc)",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BM",
"BN",
"BO",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"IC",
"ID",
"IE",
"IL",
"IN",
"IQ",
"IR",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KI",
"KM",
"KN",
"KP",
"KR",
"KV",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NG",
"NI",
"NL",
"false",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RU",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TN",
"TO",
"TR",
"TT",
"TV",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XB",
"XC",
"XE",
"XM",
"XN",
"XS",
"XY",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
]
},
"city": {
"type": "string",
"description": "name of city, only applicable for US"
},
"stateProv": {
"type": "string",
"maxLength": 3,
"description": "ISO2 state code (ISO_3166-2 ) required for AU, CA, CN, MX and US, and not passed for any other country use \"\"\n\n | ISO2 country code | State | ISO3166-2 State Code |\n | ----------------- | ----- | -------------------- |\n | AU | Australian Capital Territory | ACT |\n | AU | New South Wales | NSW |\n | AU | Northern Territory | NT |\n | AU | Queensland | QLD |\n | AU | South Australia | SA |\n | AU | Tasmania | TAS |\n | AU | Victoria | VIC |\n | AU | Western Australia | WA |\n | CA | Alberta | AB |\n | CA | British Columbia | BC |\n | CA | Manitoba | MB |\n | CA | New Brunswick | NB |\n | CA | Newfoundland and Labrador | NL |\n | CA | Northwest Territories | NT |\n | CA | Nova Scotia | NS |\n | CA | Nunavut | NU |\n | CA | Ontario | ON |\n | CA | Prince Edward Island | PE |\n | CA | Quebec | QC |\n | CA | Saskatchewan | SK |\n | CA | Yukon | YT |\n | CN | Anhui | AH |\n | CN | Beijing | BJ |\n | CN | Chongqing | CQ |\n | CN | Fujian | FJ |\n | CN | Gansu | GS |\n | CN | Guangdong | GD |\n | CN | Guangxi | GX |\n | CN | Guizhou | GZ |\n | CN | Hainan | HI |\n | CN | Hebei | HE |\n | CN | Heilongjiang | HL |\n | CN | Henan | HA |\n | CN | Hubei | HB |\n | CN | Hunan | HN |\n | CN | Jiangsu | JS |\n | CN | Jiangxi | JX |\n | CN | Jilin | JL |\n | CN | Liaoning | LN |\n | CN | Nei Mongol | NM |\n | CN | Ningxia | NX |\n | CN | Qinghai | QH |\n | CN | Shaanxi | SN |\n | CN | Shandong | SD |\n | CN | Shanghai | SH |\n | CN | Shanxi | SX |\n | CN | Sichuan | SC |\n | CN | Tianjin | TJ |\n | CN | Xinjiang | XJ |\n | CN | Xizang | XZ |\n | CN | Yunnan | YN |\n | CN | Zhejiang | ZJ |\n | MX | Aguascalientes | AGU |\n | MX | Baja California | BCN |\n | MX | Baja California Sur | BCS |\n | MX | Campeche | CAM |\n | MX | Chiapas | CHP |\n | MX | Chihuahua | CHH |\n | MX | Ciudad de Mexico | CMX |\n | MX | Coahuila de Zaragoza | COA |\n | MX | Colima | COL |\n | MX | Durango | DUR |\n | MX | Guanajuato | GUA |\n | MX | Guerrero | GRO |\n | MX | Hidalgo | HID |\n | MX | Jalisco | JAL |\n | MX | Mexico | MEX |\n | MX | Michoacan de Ocampo | MIC |\n | MX | Morelos | MOR |\n | MX | Nayarit | NAY |\n | MX | Nuevo Leon | NLE |\n | MX | Oaxaca | OAX |\n | MX | Puebla | PUE |\n | MX | Queretaro | QUE |\n | MX | Quintana Roo | ROO |\n | MX | San Luis Potosi | SLP |\n | MX | Sinaloa | SIN |\n | MX | Sonora | SON |\n | MX | Tabasco | TAB |\n | MX | Tamaulipas | TAM |\n | MX | Tlaxcala | TLA |\n | MX | Veracruz de Ignacio de la Llave | VER |\n | MX | Yucatan | YUC |\n | MX | Zacatecas | ZAC |\n | US | Alabama | AL |\n | US | Alaska | AK |\n | US | Arizona | AZ |\n | US | Arkansas | AR |\n | US | California | CA |\n | US | Colorado | CO |\n | US | Connecticut | CT |\n | US | Delaware | DE |\n | US | District of Columbia | DC |\n | US | Florida | FL |\n | US | Georgia | GA |\n | US | Hawaii | HI |\n | US | Idaho | ID |\n | US | Illinois | IL |\n | US | Indiana | IN |\n | US | Iowa | IA |\n | US | Kansas | KS |\n | US | Kentucky | KY |\n | US | Louisiana | LA |\n | US | Maine | ME |\n | US | Maryland | MD |\n | US | Massachusetts | MA |\n | US | Michigan | MI |\n | US | Minnesota | MN |\n | US | Mississippi | MS |\n | US | Missouri | MO |\n | US | Montana | MT |\n | US | Nebraska | NE |\n | US | Nevada | NV |\n | US | New Hampshire | NH |\n | US | New Jersey | NJ |\n | US | New Mexico | NM |\n | US | New York | NY |\n | US | North Carolina | NC |\n | US | North Dakota | ND |\n | US | Ohio | OH |\n | US | Oklahoma | OK |\n | US | Oregon | OR |\n | US | Pennsylvania | PA |\n | US | Rhode Island | RI |\n | US | South Carolina | SC |\n | US | South Dakota | SD |\n | US | Tennessee | TN |\n | US | Texas | TX |\n | US | Utah | UT |\n | US | Vermont | VT |\n | US | Virginia | VA |\n | US | Washington | WA |\n | US | West Virginia | WV |\n | US | Wisconsin | WI |\n | US | Wyoming | WY |",
"enum": [
"ACT",
"NSW",
"NT",
"QLD",
"SA",
"TAS",
"VIC",
"AB",
"BC",
"MB",
"NB",
"NL",
"NS",
"NU",
"true",
"PE",
"QC",
"SK",
"YT",
"AH",
"BJ",
"CQ",
"FJ",
"GS",
"GD",
"GX",
"GZ",
"HE",
"HL",
"HA",
"HB",
"HN",
"JS",
"JX",
"JL",
"LN",
"NX",
"QH",
"SN",
"SH",
"SX",
"TJ",
"XJ",
"XZ",
"YN",
"ZJ",
"AGU",
"BCN",
"BCS",
"CAM",
"CHP",
"CHH",
"CMX",
"COA",
"COL",
"DUR",
"GUA",
"GRO",
"HID",
"JAL",
"MEX",
"MIC",
"MOR",
"NAY",
"NLE",
"OAX",
"PUE",
"QUE",
"ROO",
"SLP",
"SIN",
"SON",
"TAB",
"TAM",
"TLA",
"VER",
"YUC",
"ZAC",
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
""
]
},
"postalCode": {
"type": "string",
"description": "Postal/Zipcode, only applicable for US"
}
}
},
"billTo": {
"type": "object",
"required": [
"country",
"location"
],
"properties": {
"location": {
"type": "string",
"description": "the ship from reqion",
"enum": [
"EMEA",
"NA",
"APAC"
]
},
"country": {
"type": "string",
"maxLength": 2,
"description": "REQUIRED. ISO 2 Country Code (US, NL, FR, etc)",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BM",
"BN",
"BO",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"IC",
"ID",
"IE",
"IL",
"IN",
"IQ",
"IR",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KI",
"KM",
"KN",
"KP",
"KR",
"KV",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NG",
"NI",
"NL",
"false",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RU",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TN",
"TO",
"TR",
"TT",
"TV",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XB",
"XC",
"XE",
"XM",
"XN",
"XS",
"XY",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
]
},
"city": {
"type": "string",
"description": "name of city, only applicable for US"
},
"stateProv": {
"type": "string",
"maxLength": 3,
"description": "ISO2 state code (ISO_3166-2 ) required for AU, CA, CN, MX and US, and not passed for any other country use \"\"\n\n | ISO2 country code | State | ISO3166-2 State Code |\n | ----------------- | ----- | -------------------- |\n | AU | Australian Capital Territory | ACT |\n | AU | New South Wales | NSW |\n | AU | Northern Territory | NT |\n | AU | Queensland | QLD |\n | AU | South Australia | SA |\n | AU | Tasmania | TAS |\n | AU | Victoria | VIC |\n | AU | Western Australia | WA |\n | CA | Alberta | AB |\n | CA | British Columbia | BC |\n | CA | Manitoba | MB |\n | CA | New Brunswick | NB |\n | CA | Newfoundland and Labrador | NL |\n | CA | Northwest Territories | NT |\n | CA | Nova Scotia | NS |\n | CA | Nunavut | NU |\n | CA | Ontario | ON |\n | CA | Prince Edward Island | PE |\n | CA | Quebec | QC |\n | CA | Saskatchewan | SK |\n | CA | Yukon | YT |\n | CN | Anhui | AH |\n | CN | Beijing | BJ |\n | CN | Chongqing | CQ |\n | CN | Fujian | FJ |\n | CN | Gansu | GS |\n | CN | Guangdong | GD |\n | CN | Guangxi | GX |\n | CN | Guizhou | GZ |\n | CN | Hainan | HI |\n | CN | Hebei | HE |\n | CN | Heilongjiang | HL |\n | CN | Henan | HA |\n | CN | Hubei | HB |\n | CN | Hunan | HN |\n | CN | Jiangsu | JS |\n | CN | Jiangxi | JX |\n | CN | Jilin | JL |\n | CN | Liaoning | LN |\n | CN | Nei Mongol | NM |\n | CN | Ningxia | NX |\n | CN | Qinghai | QH |\n | CN | Shaanxi | SN |\n | CN | Shandong | SD |\n | CN | Shanghai | SH |\n | CN | Shanxi | SX |\n | CN | Sichuan | SC |\n | CN | Tianjin | TJ |\n | CN | Xinjiang | XJ |\n | CN | Xizang | XZ |\n | CN | Yunnan | YN |\n | CN | Zhejiang | ZJ |\n | MX | Aguascalientes | AGU |\n | MX | Baja California | BCN |\n | MX | Baja California Sur | BCS |\n | MX | Campeche | CAM |\n | MX | Chiapas | CHP |\n | MX | Chihuahua | CHH |\n | MX | Ciudad de Mexico | CMX |\n | MX | Coahuila de Zaragoza | COA |\n | MX | Colima | COL |\n | MX | Durango | DUR |\n | MX | Guanajuato | GUA |\n | MX | Guerrero | GRO |\n | MX | Hidalgo | HID |\n | MX | Jalisco | JAL |\n | MX | Mexico | MEX |\n | MX | Michoacan de Ocampo | MIC |\n | MX | Morelos | MOR |\n | MX | Nayarit | NAY |\n | MX | Nuevo Leon | NLE |\n | MX | Oaxaca | OAX |\n | MX | Puebla | PUE |\n | MX | Queretaro | QUE |\n | MX | Quintana Roo | ROO |\n | MX | San Luis Potosi | SLP |\n | MX | Sinaloa | SIN |\n | MX | Sonora | SON |\n | MX | Tabasco | TAB |\n | MX | Tamaulipas | TAM |\n | MX | Tlaxcala | TLA |\n | MX | Veracruz de Ignacio de la Llave | VER |\n | MX | Yucatan | YUC |\n | MX | Zacatecas | ZAC |\n | US | Alabama | AL |\n | US | Alaska | AK |\n | US | Arizona | AZ |\n | US | Arkansas | AR |\n | US | California | CA |\n | US | Colorado | CO |\n | US | Connecticut | CT |\n | US | Delaware | DE |\n | US | District of Columbia | DC |\n | US | Florida | FL |\n | US | Georgia | GA |\n | US | Hawaii | HI |\n | US | Idaho | ID |\n | US | Illinois | IL |\n | US | Indiana | IN |\n | US | Iowa | IA |\n | US | Kansas | KS |\n | US | Kentucky | KY |\n | US | Louisiana | LA |\n | US | Maine | ME |\n | US | Maryland | MD |\n | US | Massachusetts | MA |\n | US | Michigan | MI |\n | US | Minnesota | MN |\n | US | Mississippi | MS |\n | US | Missouri | MO |\n | US | Montana | MT |\n | US | Nebraska | NE |\n | US | Nevada | NV |\n | US | New Hampshire | NH |\n | US | New Jersey | NJ |\n | US | New Mexico | NM |\n | US | New York | NY |\n | US | North Carolina | NC |\n | US | North Dakota | ND |\n | US | Ohio | OH |\n | US | Oklahoma | OK |\n | US | Oregon | OR |\n | US | Pennsylvania | PA |\n | US | Rhode Island | RI |\n | US | South Carolina | SC |\n | US | South Dakota | SD |\n | US | Tennessee | TN |\n | US | Texas | TX |\n | US | Utah | UT |\n | US | Vermont | VT |\n | US | Virginia | VA |\n | US | Washington | WA |\n | US | West Virginia | WV |\n | US | Wisconsin | WI |\n | US | Wyoming | WY |",
"enum": [
"ACT",
"NSW",
"NT",
"QLD",
"SA",
"TAS",
"VIC",
"AB",
"BC",
"MB",
"NB",
"NL",
"NS",
"NU",
"true",
"PE",
"QC",
"SK",
"YT",
"AH",
"BJ",
"CQ",
"FJ",
"GS",
"GD",
"GX",
"GZ",
"HE",
"HL",
"HA",
"HB",
"HN",
"JS",
"JX",
"JL",
"LN",
"NX",
"QH",
"SN",
"SH",
"SX",
"TJ",
"XJ",
"XZ",
"YN",
"ZJ",
"AGU",
"BCN",
"BCS",
"CAM",
"CHP",
"CHH",
"CMX",
"COA",
"COL",
"DUR",
"GUA",
"GRO",
"HID",
"JAL",
"MEX",
"MIC",
"MOR",
"NAY",
"NLE",
"OAX",
"PUE",
"QUE",
"ROO",
"SLP",
"SIN",
"SON",
"TAB",
"TAM",
"TLA",
"VER",
"YUC",
"ZAC",
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
""
]
},
"postalCode": {
"type": "string",
"description": "Postal/Zipcode, only applicable for US"
}
}
}
}
}
},
"description": "the information to provide when calculating tax/vat",
"example": {
"calculateTaxRequest": {
"calculateTaxDetail": {
"order": {
"amountType": "NET_VALUE",
"buyerTaxNumber": "FR66502602220",
"orderItem": [
{
"itemClass": "PHYSICAL",
"itemSku": "A3DGL-501",
"qty": "1",
"price": "100.00"
},
{
"itemClass": "SERVICE",
"itemSku": "ABBRD-001",
"qty": "1",
"price": "25.00"
}
],
"currency": "EUR"
},
"shipFrom": {
"location": "EMEA",
"country": "NL"
},
"shipTo": {
"location": "EMEA",
"country": "FR"
},
"billTo": {
"location": "EMEA",
"country": "FR"
}
}
}
}
}
Responses
200 OK
Transaction was received and passed Schema validation.
Representations
{
"orderItem": [
{
"itemClass": "PHYSICAL",
"itemSku": "string",
"qty": 0,
"price": "string",
"taxAmount": 0.0
}
],
"validateTaxNumberStatus": true,
"validateTaxNumberMessage": "string",
"validateTaxNumberStatusCode": "string",
"calculateTaxDetailStatus": true,
"calculateTaxDetailStatusCode": "SUCCESS",
"calculateTaxDetailMessage": "Request successfully processed."
}
{
"type": "object",
"properties": {
"orderItem": {
"type": "array",
"items": {
"type": "object",
"required": [
"itemClass",
"itemSku",
"price",
"qty"
],
"properties": {
"itemClass": {
"type": "string",
"description": "the tax class applicable for the item e.g. PHYSICAL",
"enum": [
"PHYSICAL",
"SERVICE",
"WARRANTY",
"HIGH",
"LOW",
"MED",
"EXEMPT"
]
},
"itemSku": {
"type": "string",
"description": "the partnumber of the item in the TAX/VAT calculation"
},
"qty": {
"type": "integer",
"description": "The numer of items (quantity)"
},
"price": {
"type": "string",
"description": "the item price"
},
"taxAmount": {
"type": "number",
"description": "The tax amount for the item. comes back in the response. This is the VAT amount included(gross) or applicable (net) in the item."
}
},
"description": "The items in the response with the appropriate TAX/VAT info"
}
},
"validateTaxNumberStatus": {
"type": "boolean",
"description": "the status of the VAT number validation"
},
"validateTaxNumberMessage": {
"type": "string",
"description": "Tax validation message if applicable"
},
"validateTaxNumberStatusCode": {
"type": "string",
"description": "Status code if applicable"
},
"calculateTaxDetailStatus": {
"type": "boolean",
"description": "the result of the VAT/TAX call"
},
"calculateTaxDetailStatusCode": {
"type": "string",
"example": "SUCCESS",
"description": "The result code e.g. \"SUCCESS\" or \"NOT_FOUND\""
},
"calculateTaxDetailMessage": {
"type": "string",
"example": "Request successfully processed.",
"description": "error/sucess message if applicable"
}
}
}
401 Unauthorized
invalid authentication
Representations
{
"statusCode": "401",
"message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}
{
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"example": "401",
"description": "the error code"
},
"message": {
"type": "string",
"example": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.",
"description": "the error message"
}
}
}
500 Internal Server Error
Server Error
Representations
{
"statusCode": "500",
"activityId": "d25eb365-3da2-48ff-b907-1754166f5947",
"message": "Internal server error"
}
{
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"example": "500",
"description": "result of order create"
},
"activityId": {
"type": "string",
"example": "d25eb365-3da2-48ff-b907-1754166f5947",
"description": "If not successful the internal activity ID"
},
"message": {
"type": "string",
"example": "Internal server error",
"description": "If not successful the error message. null if successfull"
}
}
}
Code samples
@ECHO OFF
curl -v -X POST "https://api-uat.moduslink.com/tax/v1/calculateTaxDetails"
-H "ClientConfigId: 10"
-H "ClientAuthKey: 4B5E9346-CC43-46FC-86F6-0B956D26DA4C"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "{body}"
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("ClientConfigId", "10");
client.DefaultRequestHeaders.Add("ClientAuthKey", "4B5E9346-CC43-46FC-86F6-0B956D26DA4C");
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");
var uri = "https://api-uat.moduslink.com/tax/v1/calculateTaxDetails?" + queryString;
HttpResponseMessage response;
// Request body
byte[] byteData = Encoding.UTF8.GetBytes("{body}");
using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >");
response = await client.PostAsync(uri, content);
}
}
}
}
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample
{
public static void main(String[] args)
{
HttpClient httpclient = HttpClients.createDefault();
try
{
URIBuilder builder = new URIBuilder("https://api-uat.moduslink.com/tax/v1/calculateTaxDetails");
URI uri = builder.build();
HttpPost request = new HttpPost(uri);
request.setHeader("ClientConfigId", "10");
request.setHeader("ClientAuthKey", "4B5E9346-CC43-46FC-86F6-0B956D26DA4C");
request.setHeader("Content-Type", "application/json");
request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");
// Request body
StringEntity reqEntity = new StringEntity("{body}");
request.setEntity(reqEntity);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null)
{
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
};
$.ajax({
url: "https://api-uat.moduslink.com/tax/v1/calculateTaxDetails?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("ClientConfigId","10");
xhrObj.setRequestHeader("ClientAuthKey","4B5E9346-CC43-46FC-86F6-0B956D26DA4C");
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
},
type: "POST",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* path = @"https://api-uat.moduslink.com/tax/v1/calculateTaxDetails";
NSArray* array = @[
// Request parameters
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"POST"];
// Request headers
[_request setValue:@"10" forHTTPHeaderField:@"ClientConfigId"];
[_request setValue:@"4B5E9346-CC43-46FC-86F6-0B956D26DA4C" forHTTPHeaderField:@"ClientAuthKey"];
[_request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
// Request body
[_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if (nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if (nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';
$request = new Http_Request2('https://api-uat.moduslink.com/tax/v1/calculateTaxDetails');
$url = $request->getUrl();
$headers = array(
// Request headers
'ClientConfigId' => '10',
'ClientAuthKey' => '4B5E9346-CC43-46FC-86F6-0B956D26DA4C',
'Content-Type' => 'application/json',
'Ocp-Apim-Subscription-Key' => '{subscription key}',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
);
$url->setQueryVariables($parameters);
$request->setMethod(HTTP_Request2::METHOD_POST);
// Request body
$request->setBody("{body}");
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
headers = {
# Request headers
'ClientConfigId': '10',
'ClientAuthKey': '4B5E9346-CC43-46FC-86F6-0B956D26DA4C',
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.urlencode({
})
try:
conn = httplib.HTTPSConnection('api-uat.moduslink.com')
conn.request("POST", "/tax/v1/calculateTaxDetails?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'ClientConfigId': '10',
'ClientAuthKey': '4B5E9346-CC43-46FC-86F6-0B956D26DA4C',
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.parse.urlencode({
})
try:
conn = http.client.HTTPSConnection('api-uat.moduslink.com')
conn.request("POST", "/tax/v1/calculateTaxDetails?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://api-uat.moduslink.com/tax/v1/calculateTaxDetails')
request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['ClientConfigId'] = '10'
# Request headers
request['ClientAuthKey'] = '4B5E9346-CC43-46FC-86F6-0B956D26DA4C'
# Request headers
request['Content-Type'] = 'application/json'
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request body
request.body = "{body}"
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body