> 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.

# Calculate Taxes

* [Previous](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/)
* [Next](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/request-config/)

### The CalcTaxes Request

`CalcTaxesRequest` supports a list of invoices and override options. Actual limit varies depending on message size and your timeout values, but the standard recommendation is to process no more than 1,000 entries per request.

At the highest level, a `CalcTaxes` request is a JSON object comprised of the following:

Key

Value

`cfg`

[`[RequestConfig]`](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/request-config/) Request Configuration

Request configuration option properties

`cmpn`

[`[CompanyData]`](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/company-data/) Company Data

Contains information about **your** company or the Seller

`inv`

[`[Invoice]`](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/invoice/) Invoice

Contains information about the **transaction**, including a list of line items to be taxed.

* Limit 1,000 invoices per request

`ovr`

[`[TaxOverride]`](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/tax-override/) Tax Override

Contains information about **tax overrides** you want to [apply to the transaction](#note)

`sovr`

[`[SafeHarborOverride]`](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/safe-harbor-override/) Safe Harbor Override

Contains information about **safe harbor overrides** you want to [apply to the transaction](#note)

### Example

```json
{ "cfg":{ // Request Config } "cmpn": { // Company Data  }, "inv": [ { // Invoice } ], "ovr": [ { // Override } ], "sovr": [ { // Safe Harbor Override } ]}
```

#### Note

We recommend using a [client profile](https://developer.avalara.com/communications/dev-guide_rest_v2/customizing-transactions/client-profiles/) with an override file or configuration update included were possible. Using a client profile results in better performance from the Tax Engine because your override settings are cached *before* tax calculation begins.

* [Previous](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/)
* [Next](https://developer.avalara.com/communications/dev-guide_rest_v2/reference/request-config/)

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