# AFC SaaS Pro REST v2

APIs to interface with communications tax engine.The API requires authentication.Users with access to multiple clients must also set request header parameter for client_id.Set client_profile_id to specify profile to be used for taxation.

Source: https://developer.avalara.com/products/communications/api/

**Version:** v2

---

## Endpoints

### Tax Calculation

#### Performs tax calculations on all invoices and line items within the request body.

`POST /api/v2/afc/calcTaxes`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `client_profile_id` | integer | header | No | The optional profile number. |

#### Commits or un-commits a document code.

`POST /api/v2/afc/commit`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `client_profile_id` | integer | header | No | The optional profile number. |


### Lookups

#### Get the tax information (description and category) for a tax type ID

`GET /api/v2/afc/taxType/{taxType}`

This method returns the description for the specified tax type ID. If tax type * is supplied it will return all tax types.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `taxType` | string | path | Yes | Tax type ID for the tax type. |

#### Get transaction/service pair information

`GET /api/v2/afc/tsPairs`

This method returns the description for the transaction type, service type and the ts pairs.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `client_profile_id` | integer | header | No | The optional profile number. |

#### Get location data associated with a PCode

`GET /api/v2/afc/location/{pCode}`

Request will return all locations associated with the PCode

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `pCode` | integer | path | Yes |  |

#### Get primary location data associated with a PCode

`GET /api/v2/afc/primary/{pCode}`

Request will return primary jurisdiction associated with the PCode

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `pCode` | integer | path | Yes |  |

#### Retrieves server time, service build version and engine version

`GET /api/v2/afc/serviceInfo`

Deprecated. Replaced by /api/health.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |


### Jurisdiction Determination

#### Get PCode(s) (Permanent Codes) associated with a location - Country/State/County/City/Zip/NpaNxx/Fips.

`POST /api/v2/afc/pCode`

Requests supports using best match or exact match as well as limiting the number of matches returned.
Use a * on the end of Fips/Npanxx Codes to find a range of values.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |

#### Geocodes a list of street addresses and/or lat/long coordinate pairs.

`POST /api/v2/geo/geocode`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |

#### Uploads file to Geo Batch.

`POST /api/v2/geo/batch/upload`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |

#### Retrieves information on Geo Batch file status

`GET /api/v2/geo/batch/status/{processId}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `processId` | string | path | Yes | Process Id for Geo Batch File. |

#### Retrieves log on Geo Batch file

`GET /api/v2/geo/batch/log/{processId}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `processId` | string | path | Yes | Process Id for Geo Batch File. |


### Customizations

#### Returns a paged list of bundle packages.

`GET /api/v2/bundlePackages`

QueryOptions

  
    
      `filter`  OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby`  Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip`  Number of items to skip (paging).
  
  
    
      `top`  Number of items to return per page.
  
  
    
      `count`  When true, includes the total filtered count in the response.
  
  
    
      `countOnly`  When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  
  
    
      `UpdatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `UpdatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  


Sort keys (use in `orderby`): `Name`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Starter'`
    
  
  
    
      `?filter=Name startswith 'Acme'` or `Name contains 'bundle'`
  
  
    
      `?filter=CreatedDate ge 2026-01-01T00:00:00Z`
    
  
  
    
      `?filter=Name eq 'Acme' and CreatedDate ge 2026-02-12T00:00:00Z`
    
  
  
    
      `?filter=CreatedBy in ('user1','user2')`
    
  
  
    
      `?orderby=Name asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets a bundle package by the id.

`GET /api/v2/bundlePackages/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Exports a bundle package.

`GET /api/v2/bundlePackages/{id}/export`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Returns a paged list of exclusion collections.

`GET /api/v2/exclusionCollections`

QueryOptions

  
    
      `filter` — OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby` — Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip` — Number of items to skip (paging).
  
  
    
      `top` — Number of items to return per page.
  
  
    
      `count` — When true, includes the total filtered count in the response.
  
  
    
      `countOnly` — When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  
  
    
      `UpdatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `UpdatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  


Sort keys (use in `orderby`): `Name`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Acme'`
    
  
  
    
      `?filter=Name startswith 'Acme'` or `CreatedDate ge 2026-02-12T00:00:00Z`
  
  
    
      `?orderby=Name asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets an exclusion collection by id.

`GET /api/v2/exclusionCollections/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Exports an exclusion collection.

`GET /api/v2/exclusionCollections/{id}/export`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Returns a paged list of override group summaries.

`GET /api/v2/overrideGroups`

QueryOptions

  
    
      `filter` — OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby` — Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip` — Number of items to skip (paging).
  
  
    
      `top` — Number of items to return per page.
  
  
    
      `count` — When true, includes the total filtered count in the response.
  
  
    
      `countOnly` — When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  
  
    
      `UpdatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `UpdatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  


Sort keys (use in `orderby`): `Name`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Acme'`
    
  
  
    
      `?filter=Name startswith 'Acme'` or `CreatedDate ge 2026-02-12T00:00:00Z`
  
  
    
      `?orderby=Name asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets an override group by id.

`GET /api/v2/overrideGroups/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Exports a override group.

`GET /api/v2/overrideGroups/{id}/export`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Gets an engine formatted override group by id.

`GET /api/v2/overrideGroups/{id}/engineExport`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Returns a paged list of profiles.

`GET /api/v2/profiles`

QueryOptions

  
    
      `filter` — OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby` — Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip` — Number of items to skip (paging).
  
  
    
      `top` — Number of items to return per page.
  
  
    
      `count` — When true, includes the total filtered count in the response.
  
  
    
      `countOnly` — When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `TenantId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `Number`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `BundlePackageId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `ExclusionCollectionId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `OverrideGroupId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `SafeHarborOverrideSettingsId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  
  
    
      `TaxCalculationSettingsId`
    
    numeric: `eq`, `ne`, `gt`, `lt`, `ge`, `le`, `in`
  


Sort keys (use in `orderby`): `Name`, `Number`, `BundlePackageId`, `ExclusionCollectionId`, `OverrideGroupId`, `SafeHarborOverrideSettingsId`, `TaxCalculationSettingsId`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Profile1'`
    
  
  
    
      `?filter=BundlePackageId eq 5` and `Number in (1,2,3)`
  
  
    
      `?filter=ExclusionCollectionId eq 5` and `Number in (1,2,3)`
  
  
    
      `?orderby=Number asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets a profile by id.

`GET /api/v2/profiles/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Returns a paged list of safe harbor override settings.

`GET /api/v2/safeHarborOverrideSettings`

QueryOptions

  
    
      `filter` — OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby` — Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip` — Number of items to skip (paging).
  
  
    
      `top` — Number of items to return per page.
  
  
    
      `count` — When true, includes the total filtered count in the response.
  
  
    
      `countOnly` — When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  
  
    
      `UpdatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `UpdatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  


Sort keys (use in `orderby`): `Name`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Acme'`
    
  
  
    
      `?filter=Name startswith 'Acme'` or `CreatedDate ge 2026-02-12T00:00:00Z`
  
  
    
      `?orderby=Name asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets safe harbor override settings by id.

`GET /api/v2/safeHarborOverrideSettings/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Exports an exclusion collection.

`GET /api/v2/safeHarborOverrideSettings/{id}/export`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Returns a paged list of tax calculation settings.

`GET /api/v2/taxCalculationSettings`

QueryOptions

  
    
      `filter` — OData-style filter expression. Use the filterable properties and operators below.
  
  
    
      `orderby` — Sort expression; one or more sortable properties with optional `asc` or `desc`.
  
  
    
      `skip` — Number of items to skip (paging).
  
  
    
      `top` — Number of items to return per page.
  
  
    
      `count` — When true, includes the total filtered count in the response.
  
  
    
      `countOnly` — When true, returns only the total filtered count, no results.
  


Filter options and operators by property

  
    Property
    Type and allowed operators
  
  
    
      `Name`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `CreatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  
  
    
      `UpdatedBy`
    
    string: `eq`, `ne`, `in`, `contains`, `startswith`, `endswith`
  
  
    
      `UpdatedDate`
    
    DateTime: `eq`, `ne`, `gt`, `lt`, `ge`, `le`
  


Sort keys (use in `orderby`): `Name`, `CreatedBy`, `CreatedDate`, `UpdatedBy`, `UpdatedDate`.

Examples

  
    
      `?filter=Name eq 'Acme'`
    
  
  
    
      `?filter=Name startswith 'Acme'` or `CreatedDate ge 2026-02-12T00:00:00Z`
  
  
    
      `?orderby=Name asc,CreatedDate desc`
    
  
  
    
      `?skip=0&top=20&count=true`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `Filter` | string | query | No | The filter expression. |
| `OrderBy` | string | query | No | The sort expression. |
| `Skip` | integer | query | No | The number of items to skip. |
| `Top` | integer | query | No | The number of items to return. |
| `Count` | boolean | query | No | A flag indicating the filtered, unpaged, count should be returned in the response. |
| `CountOnly` | boolean | query | No | A flag indicating only the filtered, unpaged, count should be returned in the response, without the actual results. |

#### Gets tax calculation settings by id.

`GET /api/v2/taxCalculationSettings/{id}`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |

#### Exports an exclusion collection.

`GET /api/v2/taxCalculationSettings/{id}/export`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `id` | integer | path | Yes | The id. |


### Legacy Profiles

#### Retrieves one or more profiles with associated settings and configurable items.

`GET /api/v2/profiles/getProfiles`

Deprecated. Please migrate to customizations if you are still using legacy profiles.Self-service customizations are not returned in this method.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `client_id` | integer | header | Yes | The client id. |
| `RequestedClientId` | integer | query | No | Client id associated with profile(s) to be fetched
Null value will use client id submitting the request or default client id as applicable. |
| `RequestedProfileId` | integer | query | No | Configuration profile id to be fetched
Use 0 to indicate all profiles
Null value will use profile id from request or 0 if not set. |
| `ItemType` |  | query | No | Item Type
Examples:
  Configuration, Bundle, Exclusion, Override, All |

---

## Models

### Address

Address information.

| Property | Type | Description |
|---|---|---|
| `addr` | string | Street address. |
| `city` | string | City name. |
| `st` | string | State name or abbreviation. |
| `zip` | string | Postal code. |

### BillingPeriod

Optional object for passing in billing period

| Property | Type | Description |
|---|---|---|
| `month` | integer | Numeric value representing billing period month.  1 = January. |
| `year` | integer | Numeric 4 digit representation of billing period year. |

### BundleConfig

Bundles associated with a client profile configuration
Maybe associated with 0 to many profiles

| Property | Type | Description |
|---|---|---|
| `BundlePackage` | integer | Bundle Package |
| `BundleId` | integer | Bundle Id |
| `Description` | string | Bundle Description |
| `BundleItems` | array | Bundled items - percentage should add up to 100% (as applicable) |
| `Version` | string | Version for bundle - intended to allow changes to format 
without having to perform expensive SQL updates on existing bundles |

### BundleDto

A bundle domain-transfer object.

| Property | Type | Description |
|---|---|---|
| `tsPair` | BundleTsPairDto |  |
| `description` | string | The description. |
| `items` | array | The bundle items. |

### BundleItem

Bundled items associated with a bundle package

| Property | Type | Description |
|---|---|---|
| `TransactionId` | integer | Transaction id for item |
| `ServiceId` | integer | Service id for item |
| `Percentage` | number | Percentage of package charge to be applied to item |
| `FixedAmount` | number | Fixed charge to be applied to item |
| `Lines` | integer | Fixed lines to be applied to item |
| `Minutes` | number | Fixed minutes to be applied to item |
| `TransactionDesc` | string | Transaction id for item |
| `ServiceDesc` | string | Service id for item |

### BundleItemDto

A bundle item.

| Property | Type | Description |
|---|---|---|
| `tsPair` | BundleTsPairDto |  |
| `chargeAmount` | number | The fixed charge amount. |
| `lines` | integer | The number of lines. |
| `percent` | number | The percent. |

### BundlePackageDto

An Bundle package domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `bundles` | array | The bundles. |
| `createdBy` | string | The user who created the Bundle package. |
| `createdDate` | string | The time the Bundle package was created. |
| `updatedBy` | string | The user who last updated the Bundle package. |
| `updatedDate` | string | The time the Bundle package was last updated. |

### BundleTsPairDto

A transaction and service type pair of a bundle or bundle item.

| Property | Type | Description |
|---|---|---|
| `transactionType` | integer | The transaction type. |
| `serviceType` | integer | The service type. |

### CalcTaxesRequest

Request body for tax calculation API.

| Property | Type | Description |
|---|---|---|
| `cfg` | RequestConfig |  |
| `cmpn` | CompanyData |  |
| `inv` | array | List of invoices to process. |
| `ovr` | array | Tax rate overrides. |
| `sovr` | array | Safe harbor overrides for USF taxes. |

### CalcTaxesResponse

Response body for tax calculation API.

| Property | Type | Description |
|---|---|---|
| `inv` | array | Tax calculation results for each invoice submitted in request. |
| `err` | array | Error description (as applicable). |

### ClientProfileConfigResponse

Data for an invoice or quote line item.

| Property | Type | Description |
|---|---|---|
| `ProfileConfigId` | integer | Unique profile configuration id associated with configuration item |
| `ProfileIds` | array | Profile id's associated with configuration item |
| `ClientId` | integer | Client id associated with configuration item |
| `LastUpdateBy` | string | User who last updated the configuration item |
| `Active` | boolean | Active status of the configuration item |
| `Settings` | Configuration |  |
| `Exclusions` | array | Exclusions (as applicable) |
| `Bundles` | array | Bundles (as applicable) |
| `Nexus` | array | Nexus (as applicable) |
| `Overrides` | OverrideConfig |  |
| `Description` | string | Description associated with this item |
| `Error` | string | Error information. |
| `ItemType` | string | Item Type
Examples:
  Configuration, Bundle, Exclusion, Override |
| `Errors` | array | Error information. |
| `Warnings` | array | Warning information. |
| `Status` | array | Status information. |

### ClientProfileConfigTypes

Choice of tax calculation setting types.

### CommitRequest

Parameter for CommitTransactions API.

| Property | Type | Description |
|---|---|---|
| `doc` | string | Document code. |
| `cmmt` | boolean | Indicates if transactions for the specified document code should be committed. |
| `opt` | array | Overrides value for OptionalFields field in reports. |

### CommitResponse

Response body for Commit API.

| Property | Type | Description |
|---|---|---|
| `ok` | boolean | Indicates if document code's commit status was updated successfully. |
| `err` | array | Error description (as applicable). |

### CompanyData

Container class for json properties associated with v2.CalcTaxes company data

| Property | Type | Description |
|---|---|---|
| `bscl` | integer | Business class. 0 = ILEC, 1 = CLEC. |
| `svcl` | integer | Service class. 0 = Primary Local, 1 = Primary Long Distance. |
| `fclt` | boolean | Specifies if the carrier delivering the service has company owned facilities to provide the service. |
| `frch` | boolean | Indicates if the company provides services sold pursuant to a franchise agreement between the carrier and jurisdiction. |
| `reg` | boolean | Indicates if company is regulated. |
| `excl` | array | Exclusion list. |
| `idnt` | string | An optional company identifier for reporting |

### Configuration

Settings associated with a client profile configuration
Maybe associated with 0 to many profiles

| Property | Type | Description |
|---|---|---|
| `TrafficStudyOverrides` | array | List of Traffic Study Overrides |
| `ReturnNonBillable` | boolean | true : Return both non-billable and billable taxes in taxation response
false (default) : Return billable taxes only in taxation response
Default: false |
| `TaxOnTaxAlgorithm` | integer | Tax-on-tax algorithm to be used in tax calculations
0 : Single pass
1 (default) : IterateOnTaxAmount
2 : IterateOnTaxableMeasure |
| `SelfTaxAlgorithm` | integer | Self-tax algorithm to be used in tax calculations
0 (default) : Calculate tax on individual self-taxing taxes
1 : Calculate tax on aggregate of self-taxing taxes |

### Error

Error information.

| Property | Type | Description |
|---|---|---|
| `code` | integer | Error code. |
| `msg` | string | Error message. |

### Exclusion

Specifies a tax exclusion by state.

| Property | Type | Description |
|---|---|---|
| `ctry` | string | Country ISO code. |
| `st` | string | State abbreviation. |
| `excl` | boolean | Indicates if exclusion applies to the specified state. |

### ExclusionCollectionDto

An exclusion collection domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `exclusions` | array | The exclusions. |
| `createdBy` | string | The user who created the exclusion collection. |
| `createdDate` | string | The date and time the exclusion collection was created. |
| `updatedBy` | string | The user who last updated the exclusion collection. |
| `updatedDate` | string | The date and time the exclusion collection was last updated. |

### ExclusionConfig

Settings associated with a client profile exclusions
Maybe associated with 0 to many profiles

| Property | Type | Description |
|---|---|---|
| `CountryIso` | string | Country ISO value |
| `State` | string | State abbreviation |

### ExclusionDto

An exclusion domain transfer object.

| Property | Type | Description |
|---|---|---|
| `country` | string | The country. |
| `state` | string | The state. |

### GeoBatchDownloadResponse

Response body for Geo Batch Submit File API.

| Property | Type | Description |
|---|---|---|
| `InputFile` | string | Input File Name. |
| `InputFileDownload` | string | Input File Download. |
| `OutputFile` | string | Output File Name. |
| `OutputFileDownload` | string | Output File Name. |

### GeoBatchLog

Response body for Geo Batch Submit File API.

| Property | Type | Description |
|---|---|---|
| `Log` | array | Log of provided Process Id |
| `err` | array | Error description (as applicable). |

### GeoBatchLogItem

Response body for Geo Batch Submit File API.

| Property | Type | Description |
|---|---|---|
| `Date` | string | DateTime of Log. |
| `Status` | string | Level of Status. |
| `Message` | string | Output File Name. |

### GeoBatchStatus

Individual File Status For Geo Batch result

| Property | Type | Description |
|---|---|---|
| `ProcessId` | integer | Process ID for Batch file. |
| `RequestDate` | string | Request Date. |
| `ProcessingStart` | string | Processing Start. |
| `ProcessingEnd` | string | Processing End. |
| `Status` | string | Status Of Batch File. |
| `Downloads` | GeoBatchDownloadResponse |  |
| `Error` | array | Error information. |

### GeoBatchSubmitFileResponse

Response body for Geo Batch Submit File API.

| Property | Type | Description |
|---|---|---|
| `ProcessId` | integer | Process Id for File uploaded |
| `err` | array | Error description (as applicable). |

### GeocodeRequest

Input data for Geocoding API.

| Property | Type | Description |
|---|---|---|
| `ref` | string | Optional reference Id for geocode request. 
Only address information or latitude/longitude should be provided in request body but not both. |
| `lat` | number | Latitude for geocoding based on lat/long coordinates. |
| `long` | number | Longitude for geocoding based on lat/long coordinates. |
| `addr` | string | Street address. |
| `city` | string | City name. |
| `st` | string | State name or abbreviation. |
| `zip` | string | Postal code. |

### GeocodeResult

Results for geocoding request.

| Property | Type | Description |
|---|---|---|
| `ref` | string | Reference Id from geocode request input. |
| `cass` | Address |  |
| `cBlk` | integer | Census block. |
| `cTrc` | integer | Census tract. |
| `cnty` | string | County |
| `feat` | integer | Feature ID. |
| `fips` | string | FIPS Code. |
| `inc` | boolean | Indicates if address is within city limits. |
| `jur` | string | Tax jurisdiction name. |
| `lat` | number | Latitude. |
| `long` | number | Longitude. |
| `pcd` | integer | PCode (Permanent Code) for tax jurisdiction. |
| `scr` | number | Score indicating accuracy of address match in mapping database. |
| `err` | string | Error message. |

### InternalProfileConfig

### Invoice

Contains information about an invoice or quote.

| Property | Type | Description |
|---|---|---|
| `doc` | string | Document code. |
| `cmmt` | boolean | Indicates if invoice should be committed as soon as it is processed.
Default: false. |
| `bill` | Location |  |
| `cust` | integer | Customer type. |
| `lfln` | boolean | Indicates if customer is a Lifeline participant.
Default: false. |
| `date` | string | Invoice date in the yyyy-MM-ddT00:00:00Z format. |
| `exms` | array | Tax exemptions. |
| `itms` | array | Line items. |
| `invm` | boolean | Indicates if all line items within invoice should be processed in invoice mode.
Default: true. |
| `dtl` | boolean | Indicates if individual line item taxes should be included in response.
Default: true. |
| `summ` | boolean | Indicates if the summarized taxes for the invoice should be included in the resonse.
Default: false. |
| `opt` | array | Optional values for invoice. Maximum of 5. Keys must be numeric from 1 to 5. |
| `acct` | string | Account reference for reporting |
| `custref` | string | Customer Reference for reporting |
| `invn` | string | Invoice Number reference for reporting |
| `bcyc` | string | Bill Cycle reference for reporting |
| `bpd` | BillingPeriod |  |
| `ccycd` | string | Currency code for invoice. |

### InvoiceResult

Tax calculation results for an invoice.

| Property | Type | Description |
|---|---|---|
| `doc` | string | Document number for invoice. |
| `itms` | array | Individual tax calculation results for each line item. |
| `summ` | array | Summarized taxes for invoice. |
| `err` | array | Error description (as applicable). |
| `incrf` | ReportingInformation |  |

### KeyValuePair

Key/value pair data.

| Property | Type | Description |
|---|---|---|
| `key` | string | Key. |
| `val` | string | Value. |

### LineItem

Data for an Invoice Line Item.

| Property | Type | Description |
|---|---|---|
| `ref` | string | Reference ID for the Line Item. |
| `from` | Location |  |
| `to` | Location |  |
| `chg` | number | Charge Amount.

Default: ```0``` |
| `line` | integer | Number of Lines.

Default: ```0``` |
| `loc` | integer | Number of Locations.
Default: ```0``` |
| `min` | number | Number of Minutes.

Default: ```0``` |
| `sale` | integer | Sale Type.
```0``` = Wholesale : Indicates that the Line Item was sold to a wholesaler.
```1``` = Retail : Indicates that the Line Item was sold to an end user.
```2``` = Consumed : Indicates that the Line Item was consumed directly (SAU products only).
```3``` = VendorUse : Indicates that the Line Item is subject to vendor use tax (SAU products only). |
| `plsp` | number | Private Line Split.

Percentage used to split a transaction between two Locations. |
| `incl` | boolean | Tax Inclusive.
```true``` = The charge for the Line Item is tax inclusive.
```false``` = The charge for the Line Item is not tax exclusive.

Default: ```false``` |
| `pror` | number | prorated Percentage.

Percentage used for the prorated calculation of fixed taxes. |
| `proadj` | integer | prorated Adjustment.
```0``` = No prorated adjustment.
```1``` = Do not return non-proratable fixed taxes in the response.
```2``` = Return non-proratable fixed taxes in the response.

Default: ```0``` |
| `tran` | integer | Transaction Type ID. |
| `serv` | integer | Service Type ID. |
| `dbt` | boolean | Debit.

Indicates if the Line Item is prepaid.

Default: ```false``` |
| `adj` | boolean | Is Adjustment.
```true``` = The Line Item is an Adjustment.
```false``` = The Line Item is not an Adjustment.

Default: ```false``` |
| `adjm` | integer | Adjustment Method.
```DEPRECATED``` |
| `disc` | integer | Discount Type.
```0``` = None.
```1``` = Retail Product: An amount subtracted from the original price to arrive at a lower price.
```2``` = Manufacturer Product: A discount of the total amount reimbursed to either the retailer or the customer by the manufacturer.
```3``` = Account Level:  A stand-alone discount that is not applied against any service but instead as a stand-alone product.
```4``` = Subsidized: A discount caused exclusively in telephone service where the telephone provider provides a service to a lifeline eligible customer. The discount will be on the local exchange service.
```5``` = Goodwill:  The total discount of a service that is recorded for accounting purposes but never billed to a customer.

Using a Discount Type other than ```0``` may result in a $0.00 tax calculation. Some jurisdictions do not allow tax refunds for other discount types. |
| `opt` | array | Optional Values.
 
Maximum of 5. Keys must be numeric from 5 to 10.
```DEPRECATED``` |
| `prop` | integer | Sales And Use Attribute Property.

The attribute and property used for supported Sales and Use Transaction/Service Pairs.
Developer Guide - Attribute Properties |
| `bill` | Location |  |
| `cust` | integer | Customer Type.
```0``` = Residential
```1``` = Business
```2``` = Senior Citizen
```3``` = Industrial |
| `lfln` | boolean | Lifeline.

Lifeline is a federal program that subsidizes the cost of phone and internet for eligible customers.
```true``` = The customer is a Lifeline participant.
```false``` = The customer is not a Lifeline participant.

Default: ```false``` |
| `date` | string | Invoice Date.

The date when the transaction occurred.

If not set, uses date at invoice level |
| `qty` | integer | Quantity.

Quantity to be applied to the Line Item.

Taxation is equivalent to repeating the Line Item the number of times equal to the Quantity.

Must be a positive integer greater than or equal to 1. Quantity is not supported on Tax Inclusive or prorated transactions.

Default: ```1``` |
| `glref` | string | General Ledger Reference. |

### LineItemResult

Tax calculation results for a single line item.

| Property | Type | Description |
|---|---|---|
| `ref` | string | Reference ID for line item. |
| `base` | number | Base sale amount for tax-inclusive line items. |
| `txs` | array | Taxes generated for line item. |
| `err` | array | Error description (as applicable). |

### Location

Location data used to determine taxing jurisdiction.

| Property | Type | Description |
|---|---|---|
| `cnty` | string | County name. |
| `ctry` | string | Country ISO code. |
| `int` | boolean | Indicates if the location is within city limits.
Default: true. |
| `geo` | boolean | Indicates if this address should be geocoded in order to obtain taxing jurisdiction.
Default: false. |
| `pcd` | integer | PCode (Permanent Code) for taxing jurisdiction. |
| `npa` | integer | NPANXX number. |
| `fips` | string | FIPS code for taxing jurisdiction. |
| `addr` | string | Street address. |
| `city` | string | City name. |
| `st` | string | State name or abbreviation. |
| `zip` | string | Postal code. |

### LocationItem

Contains name and jurisdiction PCode information for a location.

| Property | Type | Description |
|---|---|---|
| `IsAlternate` | boolean | Flag indicating whether location is alternate (true) or primary (false). |
| `CountryIso` | string | 3-character country ISO code. |
| `State` | string | 2-character state abbreviation. |
| `County` | string | County name. |
| `Locality` | string | Locality name. |
| `PCode` | integer | Jurisdiction PCode. |

### NexusConfig

Settings associated with a client profile nexus
Maybe associated with 0 to many profiles

| Property | Type | Description |
|---|---|---|
| `State` | string | State abbreviation |

### OverrideConfig

Settings associated with a client profile override
Maybe associated with 0 to many profiles

| Property | Type | Description |
|---|---|---|
| `RawData` | array | Raw data |

### OverrideGroupDto

An Override collection domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `rateOverrideItems` | array | The rate overrides. |
| `ruleOverrideItems` | array | The rate overrides. |
| `profiles` | array | The profiles. |
| `createdBy` | string | The name of the user who created the override group. |
| `createdDate` | string | The date and time the override group was created. |
| `updatedBy` | string | The name of the user who last updated the override group. |
| `updatedDate` | string | The date and time the override group was last updated. |

### OverrideGroupSummaryDto

An override group summary domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `profiles` | array | The profiles linked to this override group. |
| `createdBy` | string | The name of the user who created the override group. |
| `createdDate` | string | The date and time the override group was created. |
| `updatedBy` | string | The name of the user who last updated the override group. |
| `updatedDate` | string | The date and time the override group was last updated. |

### PCodeLookupRequest

Location data used as input for searching jurisdiction matches.

| Property | Type | Description |
|---|---|---|
| `CountryIso` | string | 3-character country ISO code. |
| `State` | string | 2-character state abbreviation. |
| `County` | string | County name. |
| `City` | string | City name. |
| `ZipCode` | string | 5-digit zip code (full zip code for Canadian addresses). |
| `BestMatch` | boolean | Flag indicating whether to return the best matches (true) or exact matches only (false). |
| `LimitResults` | integer | Maximum number of results to return. |
| `NpaNxx` | string | The related NpaNxx code. |
| `Fips` | string | The related Fips code which is 5 digits. |

### PCodeLookupResult

Jurisdiction information returned when searching location matches.

| Property | Type | Description |
|---|---|---|
| `LocationData` | array | List of location matches for the address being searched. |
| `MatchCount` | integer | Number of matches returned. |
| `InputMatchType` | string | Match type from user input. "Exact" match or "Best" match. |
| `MatchTypeApplied` | string | Indicates whether the matches returned are based on an "Exact" match or "Best" match. |
| `ResultsLimit` | integer | Maximum number of results applied to search. |

### PagedListBundlePackageDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### PagedListExclusionCollectionDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### PagedListOverrideGroupSummaryDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### PagedListProfileDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### PagedListSafeHarborOverrideSettingsDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### PagedListTaxCalculationSettingsDto

A generic paged list.

| Property | Type | Description |
|---|---|---|
| `value` | array | The values of the paged list. |
| `recordsetCount` | integer | The count of the un-paged, but filtered, records. |

### ProblemDetails

| Property | Type | Description |
|---|---|---|
| `type` | string |  |
| `title` | string |  |
| `status` | integer |  |
| `detail` | string |  |
| `instance` | string |  |

### ProfileDto

A profile domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `number` | integer | The external number assigned by the client. |
| `taxCalculationSettingsId` | integer | The tax calculation settings id. |
| `exclusionCollectionId` | integer | The exclusion collection id. |
| `bundlePackageId` | integer | The bundle package id. |
| `safeHarborOverrideSettingsId` | integer | The safe harbor override settings id. |
| `overrideGroupId` | integer | The override group id. |
| `createdBy` | string | The user who created the profile. |
| `createdDate` | string | The date and time the profile was created. |
| `updatedBy` | string | The user who last updated the profile. |
| `updatedDate` | string | The date and time the profile was last updated. |

### RateOverrideDto

A rate override domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `effectiveDate` | string | The effective date. |
| `overrideHandling` | string | How the rate override should affect the existing tax rate. |
| `taxBrackets` | array | The tax brackets. |

### RateOverrideItemDto

A rate override item domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `pCode` | integer | The p-code. |
| `taxType` | integer | The tax type. |
| `taxLevel` | string | The tax level. |
| `taxName` | string | The name of the tax type. |
| `scope` | string | The scope. |
| `addTaxToTaxAuthority` | boolean | A flag indicating if the tax should be added to the selected jurisdictions if it did not already exist. |
| `rateOverrides` | array | The list of rate overrides |

### ReportingInformation

Tax rate override information.

| Property | Type | Description |
|---|---|---|
| `acct` | string | Account id |
| `custref` | string | Customer reference |
| `invn` | string | Invoice Number reference |
| `bcyc` | string | Bill Cycle reference |
| `ccycd` | string | Currency code for invoice |
| `ccydesc` | string | Currency description |

### RequestConfig

Container class for json properties associated with v2.CalcTaxes request configuration options

| Property | Type | Description |
|---|---|---|
| `retnb` | boolean | Flag indicating non-billable taxes should be returned.
If set, will override account setting
Default if not provided is account setting value |
| `retext` | boolean | Flag indicating extended tax information should be returned.
Reference online documentation for more details |
| `incrf` | boolean | Flag indicating reporting information should be returned.
Reference online documentation for more details |

### RuleOverrideDto

A rule override domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `effectiveDate` | string | The effective date for the rule override. |
| `overrideHandling` | string | How the rule override should affect the existing tax rule. |
| `jurisdictionRule` | string | The rules to be applied in selecting the taxing jurisdiction. |
| `calculationType` | string | The rules to be applied in applying the rate to determine tax amount. |
| `saleType` | array | The sale types that are to be considered for taxation. |
| `customerType` | array | The customer types that are to be considered for taxation. |
| `franchise` | array | Franchise/NonFranchise flags to be considered for taxation. |
| `facility` | array | Facility/NonFacility flags to be considered for taxation. |
| `regulated` | array | Regulated/NonRegulated flags to be considered for taxation. |
| `ilec` | array | Ilec/NonIlec (Clec) flags to be considered for taxation. |
| `primaryCarrier` | array | Primary carrier LongDistance/NonLongDistance (local) flags to be considered for taxation. |
| `lifeline` | array | Lifeline/NonLifeline flags to be considered for taxation. |
| `debitCardType` | array | Prepaid and postpaid debit card types to be considered for taxation. |
| `proRated` | boolean | The pro-rated flag. |
| `billableCompliance` | string | The billable flag. |
| `federalExciseTax` | boolean | The federal excise eax (FET) flag. |
| `transactionModifier` | TransactionModifierDto |  |
| `tierRateRule` | string | Rules for how rates and accumulation are handled across tiers. |
| `taxOnTax` | TaxOnTaxGroupDto |  |
| `reportLevel` | string | The level at which the tax is to be reported. |

### RuleOverrideItemDto

A rule override item domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `pCode` | integer | The p-code. |
| `taxType` | integer | The tax type. |
| `taxLevel` | string | The tax level. |
| `tsPair` | TsPairDto |  |
| `taxName` | string | The name of the tax type. |
| `scope` | string | The scope. |
| `ruleOverrides` | array | The rule overrides. |

### SafeHarborOverride

Safe harbor rate override for a USF tax type.

| Property | Type | Description |
|---|---|---|
| `sh` | integer | Safe harbor type (1 = Cellular, 2 = VoIp, 4 = Paging). |
| `old` | number | Original Federal TAM value to override. |
| `new` | number | New TAM value that will replace the original TAM value. |

### SafeHarborOverrideSettingsDto

A safe harbor override settings domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `paging` | number | The paging safe harbor override rate. |
| `cellular` | number | The cellular safe harbor override rate. |
| `voiceOverIp` | number | The voice-over-IP safe harbor override rate. |
| `createdBy` | string | The user who created the safe harbor override settings. |
| `createdDate` | string | The date and time the safe harbor override settings were created. |
| `updatedBy` | string | The user who last updated the safe harbor override settings. |
| `updatedDate` | string | The date and time the safe harbor override settings were last updated. |

### SelfTaxAlgorithm

### ServiceInfo

Response body for service info API.

| Property | Type | Description |
|---|---|---|
| `ServerTime` | string | Server time. |
| `Versions` | VersionInfo |  |
| `Error` | string | Error information. |

### Status

Status information.

| Property | Type | Description |
|---|---|---|
| `code` | integer | Status code. |
| `msg` | string | Status message. |

### SummarizedTax

Tax data for summarized invoice taxes.

| Property | Type | Description |
|---|---|---|
| `max` | number | Maximum base for tax bracket. |
| `min` | number | Minimum base for tax bracket. |
| `tchg` | number | Total charge amount. |
| `calc` | integer | Calculation type. |
| `cat` | string | Tax category name. |
| `cid` | integer | Tax category ID. |
| `name` | string | Tax name. |
| `exm` | number | Summarized exempt sale amount. |
| `lns` | integer | Summarized lines. |
| `mins` | number | Summarized minutes. |
| `pcd` | integer | PCode (Permanent Code) for reporting jurisdiction. |
| `rate` | number | Tax rate. |
| `sur` | boolean | Indicates if this tax is a surcharge.
```DEPRECATED``` |
| `tax` | number | Summarized tax amount. |
| `lvl` | integer | Tax level ID. |
| `tid` | integer | Tax type ID. |

### Tax

Tax data for individual line item.

| Property | Type | Description |
|---|---|---|
| `bill` | boolean | Indicates if tax is billable to customer. |
| `cmpl` | boolean | Indicates if the tax is to be reported to jurisdiction. |
| `tm` | number | Taxable measure. |
| `calc` | integer | Calculation type. |
| `cat` | string | Tax category name. |
| `cid` | integer | Tax category ID. |
| `name` | string | Tax name. |
| `exm` | number | Exempt sale amount. |
| `lns` | integer | Lines. |
| `min` | number | Minutes. |
| `pcd` | integer | PCode (Permanent Code) for reporting jurisdiction. |
| `taxpcd` | integer | PCode (Permanent Code) for taxing jurisdiction.
Only returned if return extended tax data flag is true |
| `rate` | number | Tax rate. |
| `sur` | boolean | Indicates if this tax is a surcharge. |
| `tax` | number | Tax amount. |
| `lvl` | integer | Tax level ID. |
| `tid` | integer | Tax type ID. |
| `usexm` | boolean | Flag indicating if tax was user exempted
Only returned if return extended tax data flag is true |
| `notax` | boolean | Flag indicating the item is a no tax entry
There were no taxes generated, this entry is to convey back the taxing jurisdiction that was used in the response
Only returned if return extended tax data flag is true |
| `trans` | integer | Transaction type used to calculate tax
For bundles will be specific bundled item transaction type
Only returned if return extended tax data flag is true |
| `svc` | integer | Service type used to calculate tax
For bundles will be specific bundled item service type
Only returned if return extended tax data flag is true |
| `chg` | number | Charge used to calculate tax
For bundles will be the percentage of charge applied to bundled item
For tax inclusive calls will be the calculated charge
Only returned if return extended tax data flag is true |

### TaxBracket

Rate information for a tax bracket.

| Property | Type | Description |
|---|---|---|
| `rate` | number | Tax rate. Value cannot be negative. For rated taxes, value must be from 0 to 1. Otherwise, value may be larger. |
| `max` | number | Maximum base that this rate applies to. |

### TaxBracketDto

A tax bracket domain transfer object.

| Property | Type | Description |
|---|---|---|
| `rate` | number | The tax rate. |
| `upperLimit` | number | The upper limit. |

### TaxCalculationSettingsDto

A tax calculation settings domain transfer object.

| Property | Type | Description |
|---|---|---|
| `id` | integer | The unique identifier. |
| `name` | string | The name. |
| `returnNonBillable` | boolean | Return Non-Billable |
| `taxOnTaxAlgorithm` | TaxOnTaxAlgorithm |  |
| `selfTaxAlgorithm` | SelfTaxAlgorithm |  |
| `createdBy` | string | The user who created the tax calculation settings. |
| `createdDate` | string | The date and time the tax calculation settings were created. |
| `updatedBy` | string | The user who last updated the tax calculation settings. |
| `updatedDate` | string | The date and time the tax calculation settings were last updated. |

### TaxExemption

Tax exemption data.

| Property | Type | Description |
|---|---|---|
| `frc` | boolean | Override level exempt flag on wildcard tax type exemptions. |
| `loc` | Location |  |
| `tpe` | integer | Tax type to exempt.  Tax type exemptions and Category exemptions are mutually exclusive. |
| `lvl` | integer | Tax level ID. |
| `cat` | integer | Tax category to exempt. Tax type exemptions and Category exemptions are mutually exclusive. |
| `dom` | integer | Exemption Domain.  This is the jurisdiction level in which the
exemption jurisdiction must match the taxing jurisdiction. |
| `scp` | integer | Exemption Scope.  This defines the tax levels in which the
taxes will be considered as candidates for exemption. |
| `exnb` | boolean | Exempt non-billable flag.  Determines if non-billable taxes are
to be considered as candidates for exemption. |
| `allovcnty` | boolean | Includes all overlapping counties as candidates for exemption when domain is local and
the exemption city matches the taxing jurisdiction city. |
| `preclude` | boolean | Precludes or prevents the exemption from being applied.
An example would be to preclude E-911 tax from being exempt by other exemptions. |

### TaxOnTaxAlgorithm

### TaxOnTaxGroupDto

A tax-on-tax group domain transfer object.

| Property | Type | Description |
|---|---|---|
| `taxByAllOthers` | boolean | The tax by all others flag. |
| `taxOnTaxes` | array | The tax items that impact tax-on-tax handling. |

### TaxOnTaxItemDto

A tax-on-tax item domain transfer object.

| Property | Type | Description |
|---|---|---|
| `taxType` | integer | The tax type. |
| `taxLevel` | string | The tax level. |

### TaxOverride

Tax rate override information.

| Property | Type | Description |
|---|---|---|
| `loc` | Location |  |
| `scp` | integer | Scope for override. 0 = Country, 1 = State, 2 = County, 3 = City. |
| `tid` | integer | Tax type ID. |
| `lvl` | integer | Tax level ID. 0 = Federal, 1 = State, 2 = County, 3 = City. |
| `lvlExm` | boolean | Indicates if the tax can be exempted using level exemptions. |
| `brkt` | array | Tax rate/bracket information. |

### TaxTypeData

| Property | Type | Description |
|---|---|---|
| `TaxType` | integer |  |
| `CategoryType` | integer |  |
| `TaxDescription` | string |  |
| `CategoryDescription` | string |  |

### TrafficStudyOverride

Specifies a traffic study override

| Property | Type | Description |
|---|---|---|
| `TrafficStudyType` | integer | Defines which transaction type the traffic study override applies to.  Ref enum SafeHarborType for list. |
| `SafeHarborFedPcnt` | number | Safe harbor value to be overridden.  Ref class SafeHarborTams for default values. |
| `TrafficStudyFedPcnt` | number | Client provided traffic study rate (Federal) to be used instead of safe harbor. |

### TransactionModifierDto

A transaction amount subtractor setting domain transfer object.

| Property | Type | Description |
|---|---|---|
| `type` | string | The type. |
| `value` | number | The amount. |

### TsPairData

| Property | Type | Description |
|---|---|---|
| `TransactionType` | integer |  |
| `ServiceType` | integer |  |
| `MarketType` | integer |  |
| `InterfaceType` | integer |  |
| `InputType` | integer |  |
| `IsBundle` | boolean |  |
| `TransactionDescription` | string |  |
| `ServiceDescription` | string |  |
| `TSPairDescription` | string |  |

### TsPairDto

A transaction type/service type pair domain transfer object.

| Property | Type | Description |
|---|---|---|
| `transactionType` | integer | The transaction type. |
| `serviceType` | integer | The service type. |

### UprVersion

Version specific results for upr version request.

| Property | Type | Description |
|---|---|---|
| `Version` | string | Upr Version. |
| `Status` | string | Upr Status. |

### VersionInfo

Version specific results for service info request.

| Property | Type | Description |
|---|---|---|
| `AfcEngineVersion` | string | AFC Engine Version |
| `BuildVersion` | string | Service Build Version. |
| `UprVersion` | UprVersion |  |
| `WrapperVersion` | string | Wrapper Version. |

### Warning

Warning information.

| Property | Type | Description |
|---|---|---|
| `code` | integer | Warning code. |
| `msg` | string | Warning message. |
