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 field and VAT rules
and rates are applicable, the service calculates a VAT tax, and the relevant tax amounts are
returned in the response.
merchantInformation.vatRegistrationNumber
or orderInformation.lineItems.vatRegistrationNumber
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/taxRequired Fields for an International Tax and VAT Calculation Using the REST API
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
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 totrueto commit tax calculation.
- taxInformation.dateOverrideReason
- taxInformation.nexus
- If you include this field, do not include thetaxInformation.noNexusfield.
- taxInformation.noNexus
- If you include this field, do not include thetaxInformation.nexusfield.
- taxInformation.refundIndicator
- taxInformation.reportingDate
- taxInformation.showTaxPerLineItem
Example: Processing an International Tax Calculation Using the REST API
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" }}