Avalara Developer Network Developer communications

Chapter 5.1 - CalcTaxes Request

The CalcTaxes Request

The CalcTaxesRequest object supports a list of transactions 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
cmpn [CompanyData] Company Data
This object contains information about your company or the Seller.
inv [Invoice] Invoice
This object contains information about the transaction, including a list of invoices to be taxed.
ovr [TaxOverride] Tax Override
This object contains information about tax overrides you want to apply to the transaction (see note below)
sovr [SafeHarborOverride] Safe Harbor Override
This object contains information about safe harbor overrides you want to apply to the transaction (see note below)


Example

{
  "cmpn": {
    // Company Data 
  },
  "inv": [
    {
      // Invoice
    }
  ],
  "ovr": [
    {
      // Override
    }
  ],
  "sovr": [
    {
      // Safe Harbor Override
    }
  ]
}

Note

Although the CalcTaxes request gives the user the flexibility to input Override/Safe Harbor Override information for each transaction, we recommend using a Client Profile with a custom override file applied. This results in better performance from the Tax Engine because your override settings are cached before tax calculation begins.