# Cross-list countries

Source: https://developer.avalara.com/products/crossborder/integration-guides/avatax-for-cdit/dhb9711671696448/

Guide: AvaTax Cross-Border (Customs Duty and Import Tax)

# Cross-list countries

Learn how to check if an item can be shipped to a specific country using the Restrictions API.

Run a variance report to compare committed sales invoices or purchase orders with related customs documents. The report displays the difference between calculated and charged amounts of duty and tax.

**Note:** It’s up to your own business practices to determine how your company will handle the difference between the tax you calculated and the amount you were charged by customs.

Perform the following steps to run a variance report:

1.  Navigate to the **Reports** page in AvaTax.
2.  On the **Transaction** reports tab, select:
    -   Report Category: **Cross border reports**
    -   Report Name: **Basic Transaction Variance Views**
3.  Specify the date range of transactions that you want included in the report.
4.  If you have multiple companies, select the company whose transactions you want to compare.
5.  Optionally specify document code ranges.
6.  Specify the country and region that you want included in the variance report.
7.  Specify whether to run this report for transactions where you’re the importer of record.
8.  Specify whether you want the output to be a full report or a partial report.
9.  Select whether you want the CSV output to be zipped.
10.  Finally, select **Generate and download the report**.

**Note:** You can also use the API to run a variance report. To do this:

1.  Call the [InitiateExportDocumentLineReport](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Reports/InitiateExportDocumentLineReport/) API for a specified date range to initiate a new report.
2.  The response includes the report ID. Using this ID, run either [DownloadReport](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Reports/DownloadReport/) or [GetReport](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Reports/GetReport/) to view the report.
3.  Extract the customs duties out of the transactions in this report to retrieve the variance.

When building an integration with advanced features, the first step is to check whether your item can be shipped to a given country. This can be done using the [Restrictions API](https://developer.avalara.com/api-reference/restrictionsAPI/cross-border/). In this request, Avalara accepts listing data as input (`itemCode`, `description`, `itemGroup`, and optional `hsCode`). The response returns flags for prohibited and restricted items.

When running this endpoint, the `itemGroup` (aka Category) is required at the line level. Categories should be separated using "`>`". Multiple category paths per item are accepted. In this case, category paths are separated by "`;`". Each category (breadcrumb) shouldn’t exceed 100 characters. For example:`Sports & Outdoors > Exercise & Fitness > Wearable Technology > Fitness Trackers`.

In this example:

-   The `shipFrom` address is in the U.S..
-   The `shipTo` address is in Germany.
-   The `price` for the item is $950 USD.
-   The `hsCode` is 18062095.
-   The `weight` is 5 ounces.
-   The `itemGroup` is Man > Jewelry; Gold > Bracelet.
-   The `description` is Cuban Links.

**Example request**

Submit a restrictions request to cross list countries.

```
{
  "id": "1234",
  "companyId": "DEFAULT",
  "currency": "USD",
  "shipFrom": {
    "country": "US"
  },
  "shipTo": {
    "country": "DE"
  },
  "lines": [
    {
      "lineNumber": 1,
      "quantity": "1",
      "item": {
"itemCode": "SKU 1000.6",
"description": "Cuban Links",
"itemGroup": "Man > Jewelry ; Gold > Bracelet",
"classificationParameters": [
  {
    "name": "price",
    "value": "950",
    "unit": "USD"
  },
  {
    "name": "hs_code",
    "value": "18062095",
    "unit": ""
  },
  {
    "name": "Weight",
    "value": "5",
    "unit": "Ounce"
  }
]
      }
    }
  ]
}
```