FILTER BY TAG

Calculating International Tax and VAT

Before calculating international tax, make sure that the country is on the list of Supported Countries and Regions.
IMPORTANT
One tax service request should not include more than 50 line items. When you send a request with more than 50 line items, the request could time out.

VAT Number

When you include the
merchantInformation.vatRegistrationNumber
or
orderInformation.lineItems.vatRegistrationNumber
field and VAT rules and rates are applicable, the service calculates a VAT tax, and the relevant tax amounts are returned in the response.
There are some countries where VAT registration is not required. More details are mentioned in Supported Countries and Regions.

Product Codes

If a product is subject to special tax considerations, provide the appropriate tax product code in the
orderInformation.lineItems.productCode
field in the request. To use a product code that is not listed in the available guides, contact customer support for information about how to proceed.

Tax Per Item

When the tax calculation service succeeds, the response includes a tax amount for each item and indicates whether the tax amount was calculated by the tax calculation service or provided by you.

Endpoint

POST
https://api.cybersource.com
/vas/v2/tax

Required Fields for an International Tax and VAT Calculation Using the
REST API

Use these fields to perform a tax calculation.
merchantInformation.vatRegistrationNumber
orderInformation.amountDetails.currency
orderInformation.billTo.country
orderInformation.lineItems.unitPrice

Optional Fields for an International Tax and VAT Calculation Using the
REST API

Select from these optional fields to perform a tax calculation.
buyerInformation.vatRegistrationNumber
clientReferenceInformation.code
clientReferenceInformation.partner.developerId
clientReferenceInformation.partner.solutionId
orderInformation.billTo.address1
orderInformation.billTo.address2
orderInformation.billTo.administrativeArea
orderInformation.billTo.locality
orderInformation.billTo.postalCode
orderInformation.invoiceDetails.invoiceDate
orderInformation.lineItems.buyerVatRegistrationNumber
orderInformation.lineItems.orderAcceptance.administrativeArea
orderInformation.lineItems.orderAcceptance.country
orderInformation.lineItems.orderAcceptance.locality
orderInformation.lineItems.orderAcceptance.postalCode
orderInformation.lineItems.orderOrigin.administrativeArea
orderInformation.lineItems.orderOrigin.country
orderInformation.lineItems.orderOrigin.locality
orderInformation.lineItems.orderOrigin.postalCode
orderInformation.lineItems.productCode
orderInformation.lineItems.productName
orderInformation.lineItems.productSku
orderInformation.lineItems.quantity
orderInformation.lineItems.sellerVatRegistrationNumber
orderInformation.lineItems.shipFromAdministrativeArea
orderInformation.lineItems.shipFromCountry
orderInformation.lineItems.shipFromLocality
orderInformation.lineItems.shipFromPostalCode
orderInformation.lineItems.taxAmount
orderInformation.orderAcceptance.administrativeArea
orderInformation.orderAcceptance.country
orderInformation.orderAcceptance.locality
orderInformation.orderAcceptance.postalCode
orderInformation.orderOrigin.administrativeArea
orderInformation.orderOrigin.country
orderInformation.orderOrigin.locality
orderInformation.orderOrigin.postalCode
orderInformation.shippingDetails.shipFromAdministrativeArea
orderInformation.shippingDetails.shipFromCountry
orderInformation.shippingDetails.shipFromLocality
orderInformation.shippingDetails.shipFromPostalCode
orderInformation.shipTo.address1
orderInformation.shipTo.address2
orderInformation.shipTo.address3
orderInformation.shipTo.administrativeArea
orderInformation.shipTo.country
orderInformation.shipTo.locality
orderInformation.shipTo.postalCode
taxInformation.commitIndicator
Set field to
true
to commit tax calculation.
taxInformation.dateOverrideReason
taxInformation.nexus
If you include this field, do not include the
taxInformation.noNexus
field.
taxInformation.noNexus
If you include this field, do not include the
taxInformation.nexus
field.
taxInformation.refundIndicator
taxInformation.reportingDate
taxInformation.showTaxPerLineItem

Example: Processing an International Tax Calculation Using the REST API

Request
{ "clientReferenceInformation": { "code": "TAX_TC001" }, "taxInformation": { "showTaxPerLineItem": "Yes" }, "orderInformation": { "amountDetails": { "currency": "EUR" }, "billTo": { "country": "FR" }, "lineItems": [ { "productSKU": "07-12-00657", "productCode": "P0000000", "quantity": 1, "productName": "Chewing Gum", "unitPrice": 1200 } ] }, "merchantInformation": { "vatRegistrationNumber": "123456789" } }
Response
{ "_links": { "void": { "method": "PATCH", "href": "/vas/v2/tax/6679363184546074003954" } }, "clientReferenceInformation": { "code": "TAX_TC001" }, "id": "6679363184546074003954", "orderInformation": { "lineItems": [ { "taxDetails": [ { "amount": "240.00", "type": "national" } ], "jurisdiction": [ { "country": "FR", "code": "FR", "taxable": "1200.00", "rate": "0.200000", "name": "FRANCE", "type": "Country", "region": "FR", "taxAmount": "240.00", "taxName": "Standard" } ], "taxAmount": "240.00" } ], "taxDetails": [ { "amount": "240.00", "type": "national" } ], "taxAmount": "240.00", "amountDetails": { "totalAmount": "1440.00", "currency": "EUR" } }, "status": "COMPLETED", "submitTimeUtc": "2022-11-08T19:38:38Z", "taxInformation": { "commitIndicator": "false", "refundIndicator": "false" } }