> This page is for Documentation, version Integration guides (default).
> For other versions, use one of these documentation indexes:
> - Integration guides (default): https://avalara.ferndocs.com/docs/integration-guides/llms.txt
> - Refactor guides: https://avalara.ferndocs.com/docs/refactor-guides/llms.txt
> - Get certified: https://avalara.ferndocs.com/docs/get-certified/llms.txt
> - Agent to Agent (A2A): https://avalara.ferndocs.com/docs/agent-to-agent-a2a/llms.txt
> - AI use cases: https://avalara.ferndocs.com/docs/ai-use-cases/llms.txt
> - API versioning: https://avalara.ferndocs.com/docs/api-versioning/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://avalara.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://avalara.ferndocs.com/_mcp/server.

# Required Fields

* [Previous](https://developer.avalara.com/communications/dev-guide_rest_v2/calculate-taxes/)
* [Next Chapter](https://developer.avalara.com/communications/dev-guide_rest_v2/commit-uncommit/)

The [CalcTaxes request](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/calc-taxes-request/) has numerous fields, but only a handful of the objects and fields are required by Communications REST v2.

### CompanyData

The [Company Data](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/company-data/) object (`cmpn`) is required. These fields are required in CompanyData:

Key

Name

`bscl`

Business Class

`svcl`

Service Class

`fclt`

Facilities

`reg`

Regulated

For more information, see [Company Data](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/company-data/).

#### Exclusion

The [Exclusion](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/exclusion/) object (`excl`) is *not* required. If you do use the Exclusion object, these fields are required:

Key

Name

`ctry`

Country

`excl`

Exclusion On

For more information, see [Exclusion](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/exclusion/).

### Invoice

At least 1 instance of the [Invoice](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/invoice/) object (`inv`) is required. These fields are required in Invoice:

Key

Name

`bill`

Bill To [Location](#location)

`cust`

Customer Type

`date`

Invoice Date

`doc`

Document Code

Required only if Commit (`cmmt`) is set to `true`

`itms`

[LineItem object](#line-item)

For more information, see [Invoice](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/invoice/).

#### Line Item

At least 1 instance of the [LineItem](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/line-item/) object (`itms`) is required in each [Invoice](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/invoice/) object (`inv`). These fields are required in LineItem:

Key

Name

`sale`

Sale

`tran`

Transaction Type

`serv`

Service Type

For more information, see [Line Item](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/line-item/).

#### Exemption

The [Exemption](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/exemption/) object (`exms`) is *not* required. If you do use the Exemption object, these fields are required:

Key

Name

`loc`

[Location](#location)

`tpe` or `cat`

Tax Type or Tax Category (choose one)

If Tax Type, one of these is required:

Key

Name

`lvl`

Tax Level

`dom`

Domain

For more information, see [Exemption](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/exemption/).

### Tax Override

The [TaxOverride](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-override/) object (`ovr`) is *not* required. If you do use the Tax Override object, these fields are required:

Key

Name

`loc`

[Location](#location)

`scp`

Scope

`tid`

Tax Type ID

`lvl`

Tax Level ID

`brkt`

[Tax Bracket object](#tax_bracket)

For more information, see [Tax Override](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-override/).

#### Tax Bracket

These fields are required in the [TaxBracket](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-bracket/) object (`brkt`):

Key

Name

`rate`

Rate

`max`

Max Base

For more information, see [Tax Bracket](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-bracket/).

### Safe Harbor Override

The [SafeHarborOverride](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/safe-harbor-override/) object (`sovr`) is *not* required. If you do use the Safe Harbor Override object, these fields are required:

Key

Name

`sh`

Safe Harbor Type

`old`

Original Federal TAM

`new`

New Federal TAM

For more information, see [Safe Harbor Override](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/safe-harbor-override/).

### Location

[Location](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/location/) is used by the following objects:

* BillTo (`bill`) in [Company Data](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/company-data/)
* Location (`loc`) in [Exemptions](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/exemption/)
* From (`from`) and To (`to`) in [Line Item](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/line-item/)
* Location (`loc`) in [Tax Override](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-override/)

Only **one** of these fields is required in a [Location](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/location/) object:

Key

Name

`pcd`

PCode

`fips`

FIPS

`npa`

NPANXX

`geo`

Geocoded Street Address

These fields are required when `geo` is `true`:

Key

Name

`addr`

Street Address

`city`

City

`st`

State

`zip`

Postal Code

For more information, see [Location](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/location/).

* [Previous](https://developer.avalara.com/communications/dev-guide_rest_v2/calculate-taxes/)
* [Next Chapter](https://developer.avalara.com/communications/dev-guide_rest_v2/commit-uncommit/)

> **Note**
>
> Part of the **Communications REST v2 Developer Guide** integration guide. [Open the full "Required Fields" milestone on Avalara](https://developer.avalara.com/products/communications/integration-guides/dev-guide_rest_v2/calculate-taxes/) to see every page in this section.