Calculating International Tax and VAT {#tax-request-calculating-international-tax-vat}
======================================================================================

Before calculating international tax, make sure that the country is on the list of [Supported Countries and Regions](/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-info-supported-country-regions.md "").

> 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](/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-info-supported-country-regions.md "").

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 {#tax-request-calculating-international-tax-vat_tax-endpoint}
----------------------------------------------------------------------

`POST ``https://api.cybersource.com``/vas/v2/tax`{#tax-request-calculating-international-tax-vat_restinitiate-altpay}

Required Fields for an International Tax and VAT Calculation Using the `REST API` {#tax-calc-req-int-required-fields}
=====================================================================================================================

Use these fields to perform a tax calculation.

merchantInformation.vatRegistrationNumber
:

orderInformation.amountDetails.currency
:

orderInformation.billTo.country
:

orderInformation.lineItems.unitPrice
:
{#tax-calc-req-int-required-fields_dl_mmz_1ys_lvb}

Optional Fields for an International Tax and VAT Calculation Using the `REST API` {#tax-calc-req-int-optional-fields}
=====================================================================================================================

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 {#tax-calc-req-int-ex-rest}
===================================================================================================

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

