International Taxes and Value-Added Tax (VAT) Calculation

International taxes are calculated for countries other than the US Specifically, some countries have a VAT, which is sales tax chargeable on most goods and services. A VAT seller registration number is assigned to sellers and required to calculate international taxes in most countries. International and VAT calculation is supported in specific countries. See Supported Countries and Regions.
When you request the tax service and the product is being shipped to or consumed in one of the following countries, tax is calculated by default. The seller registration number is not required in order to calculate tax in these locations:
  • Canada
  • China
  • Congo, Republic of the
  • Congo, the Democratic Republic of the
  • Lake Lugano, Territorial Waters of
  • Lao People's Democratic Republic
  • Macedonia, Republic of North
  • South Georgia and the South Sandwich Islands
  • United Kingdom
  • United States

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

Light Dark
Request
1234567891011121314151617181920212223242526
{"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
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
{"_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" }}