API version V1.1

The POST /calculateTaxDetail method can be used to retrieve TAX information for a specific country and tax class combination

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" } } } }

Vatnumber validation:

Tax webservice also validates the VAT numbers for EU countries as part of the tax call when a VAT number is provided. When the Tax service receives a VAT number, it validates the VAT number information via an EU VAT number validation web service, and the tax service returns the result to the calling web system. In the response of the TAX call the status of the VAT number validation is included.

NOTE: The VAT number validation will only validate EU member states. Countries outside of the EU are not validated ad=nd will always have a false as response. i.e. VAT will be calculated.

Sample of succesful response:

{ "orderItem": [ { "itemClass": "PHYSICAL", "itemSku": "OI_SHIPPING", "qty": 1, "taxAmount": 0.00 }, { "itemClass": "HIGH", "itemSku": "OI_SHIPPING", "qty": 1, "taxAmount": 0.00 }, { "itemClass": "LOW", "itemSku": "OI_SHIPPING", "qty": 1, "taxAmount": 0.00 }, { "itemClass": "MED", "itemSku": "OI_SHIPPING", "qty": 1, "taxAmount": 0.00 }, { "itemClass": "EXEMPT", "itemSku": "OI_SHIPPING", "qty": 1, "taxAmount": 0.00 }, { "itemClass": "MOSS", "itemSku": "ABBRD-001", "qty": 1, "taxAmount": 0.00 } ], "validateTaxNumberStatus": true, "validateTaxNumberMessage": "Request successfully processed.", "validateTaxNumberStatusCode": "SUCCESS", "calculateTaxDetailStatus": false, "calculateTaxDetailStatusCode": "NOT_FOUND", "calculateTaxDetailMessage": "ItemClass(s) :EXEMPT could not be found" }

The fields below will provide the result for the VAT number check.

validateTaxNumberStatus: If successful true if failed false
validateTaxNumberMessage: Succes message or description of error
validateTaxNumberStatusCode: "SUCCESS" if ok, or error message if failed

Sample of error response:

"validateTaxNumberStatus": false, "validateTaxNumberMessage": "ValidateTaxNumber is false for the ShipTo and BillTo Country provided.", "validateTaxNumberStatusCode": "INVALID_INPUT",

When validating the response of the TAX request, it is required to check the response also if the VAT number validaton was successful. If the VAT number is invalid, the TAX / VAT returned will include VAT and will not apply the B2B rules. This has to be kept in mind.

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.