# Chapter 2.1 - Required Fields

Source: https://developer.avalara.com/products/communications/integration-guides/dev-guide_rest_v2/calculate-taxes/required-fields/

-   [Previous](/communications/dev-guide_rest_v2/calculate-taxes/)
-   [Next Chapter](/communications/dev-guide_rest_v2/commit-uncommit/)

The [CalcTaxes request](/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](/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](/communications/dev-guide_rest_v2/reference/company-data/).  

#### Exclusion

The [Exclusion](/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](/communications/dev-guide_rest_v2/reference/exclusion/).  

### Invoice

At least 1 instance of the [Invoice](/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](/communications/dev-guide_rest_v2/reference/invoice/).  

#### Line Item

At least 1 instance of the [LineItem](/communications/dev-guide_rest_v2/reference/line-item/) object (`itms`) is required in each [Invoice](/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](/communications/dev-guide_rest_v2/reference/line-item/).  

#### Exemption

The [Exemption](/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](/communications/dev-guide_rest_v2/reference/exemption/).  

### Tax Override

The [TaxOverride](/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](/communications/dev-guide_rest_v2/reference/tax-override/).  

#### Tax Bracket

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

Key

Name

`rate`

Rate

`max`

Max Base

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

### Safe Harbor Override

The [SafeHarborOverride](/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](/communications/dev-guide_rest_v2/reference/safe-harbor-override/).  

### Location

[Location](/communications/dev-guide_rest_v2/reference/location/) is used by the following objects:

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

Only **one** of these fields is required in a [Location](/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](/communications/dev-guide_rest_v2/reference/location/).

-   [Previous](/communications/dev-guide_rest_v2/calculate-taxes/)
-   [Next Chapter](/communications/dev-guide_rest_v2/commit-uncommit/)