# BuildTaxContentFile

Build a multi-location tax content file

`POST /api/v2/pointofsaledata/build`

**API:** AvaTax API
**Tag:** TaxContent
**API Version:** v2
**Base URL:** https://sandbox-rest.avatax.com/
**Content-Type:** `application/json`
**Accepts:** `application/json`
**Authentication:** API Key (`Authorization` in header) or OAuth 2.0 or Basic (username + license key)

Source: https://developer.avalara.com/products/avatax/api/methods/TaxContent/BuildTaxContentFile/

## Description

Builds a tax content file containing information useful for a retail point-of-sale solution.
            
Since tax rates may change based on decisions made by a variety of tax authorities, we recommend
that users of this tax content API download new data every day.  Many tax authorities may finalize
decisions on tax changes at unexpected times and may make changes in response to legal issues or
governmental priorities.  Any tax content downloaded for future time periods is subject to change
if tax rates or tax laws change.
            
A TaxContent file contains a matrix of the taxes that would be charged when you sell any of your
Items at any of your Locations.  To create items, use `CreateItems()`.  To create locations, use
`CreateLocations()`.  The file is built by looking up the tax profile for your location and your
item and calculating taxes for each in turn.  To include a custom `TaxCode` in this tax content
file, first create the custom tax code using `CreateTaxCodes()` to create the custom tax code,
then use `CreateItems()` to create an item that uses the custom tax code.
            
This data file can be customized for specific partner devices and usage conditions.
            
The result of this API is the file you requested in the format you requested using the `responseType` field.
            
This API builds the file on demand, and is limited to files with no more than 7500 scenarios.  To build a tax content
file for a single location at a time, please use `BuildTaxContentFileForLocation`.
            
NOTE: This API does not work for sales tax holiday scenarios.

### Security Policies

* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, AvaTaxOnlyAccountAdmin, AvaTaxOnlyAccountUser, AvaTaxOnlyCompanyAdmin, AvaTaxOnlyCompanyUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, ReturnsOnlyAccountAdmin, ReturnsOnlyAccountUser, ReturnsOnlyCompanyAdmin, ReturnsOnlyCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
* This API depends on the following active services:*Required* (all):  AvaTaxPro.

## Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `X-Avalara-Client` | string | header | No | Identifies the software you are using to call this API.  For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) . |

## Request Body

**Schema:** `PointOfSaleDataRequestModel`

Point-of-Sale Data Request Model

| Property | Type | Required | Description |
|---|---|---|---|
| `companyCode` | string | **Yes** | A unique code that references a company within your account. Example: `DEFAULT`. |
| `documentDate` | string | No | The date associated with the response content. Default is current date. This field can be used to backdate or postdate the response content. Example: `2026-07-02T00:00:00+00:00`. |
| `responseType` | string | No | The format of your response. Formats include JSON, CSV, and XML. Values: `Json`, `Csv`, `Xml`. Example: `Json`. |
| `taxCodes` | string[] | No | A list of tax codes to include in this point-of-sale file. If no tax codes are specified, response will include all distinct tax codes associated with the Items within your company. |
| `itemCodes` | string[] | No | A list of item codes to include in this point-of-sale file. If no item codes are specified, responese will include all distinct item codes associated with the Items within your company. |
| `locationCodes` | string[] | No | A list of location codes to include in this point-of-sale file. If no location codes are specified, response will include all locations within your company. |
| `includeJurisCodes` | boolean | No | Set this value to true to include Juris Code in the response. Example: `true`. |
| `partnerId` | string | No | A unique code assoicated with the Partner you may be working with. If you are not working with a Partner or your Partner has not provided you an ID, leave null. Values: `DMA`, `AX7`. Example: `DMA`. |

## Responses

| Status | Description | Schema |
|---|---|---|
| 200 | OK |  |
| 400 | Bad Request |  |
| 401 | Unauthorized |  |

## Example Request

```bash
curl -X POST "https://sandbox-rest.avatax.com/api/v2/pointofsaledata/build" \
  -H "Authorization: Basic <credentials>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
  "companyCode": "DEFAULT",
  "documentDate": "2026-07-02",
  "responseType": "Json",
  "taxCodes": [
    "P0000000"
  ],
  "itemCodes": [
    "TXINCL"
  ],
  "locationCodes": [
    "DEFAULT"
  ],
  "includeJurisCodes": true
}'
```