# Item parameters and multitax attributes

Source: https://developer.avalara.com/sales-tax-integration-guide/sob1760697506586/

# Item parameters and multitax attributes

Learn when AvaTax requires item parameters, how to identify tax codes that use them, and how to pass parameter values in transaction requests.

Item parameters provide the nonmonetary attributes that AvaTax needs to calculate statutory fees and multitax rules for specific tax codes.

AvaTax calculates tax for most items by using the transaction amount, destination address, and item tax code. Some goods and statutory fees need additional nonmonetary attributes to determine the correct tax liability. In AvaTax, these attributes are called **item parameters**.

Item parameters provide extra product details, such as unit count, volume, weight, physical dimensions, or material capacity. AvaTax evaluates these attributes during tax calculation when standard percentage-of-price, ad valorem, rules don't apply.

Note

Parameters are generally required if your platform supports industries that are subject to additional tax types and statutory fees, such as electronic waste, rental and leasing, or environmental fees, beyond standard sales tax.

## Scenarios requiring item parameters

If you sell goods or services that are subject to nonstandard tax calculations, statutory fees, or environmental surcharges, you must pass item parameters. Common examples include:

-   **Environmental and recycling fees:** Electronic waste recycling fees that are based on device screen size or product category.
-   **Rental and leasing fees:** Surcharges or taxes assessed based on rental duration or number of days, electric or luxury vehicle classification, or heavy equipment indicators.

-   **Embedded battery fees:** Disposal and environmental surcharges that are based on battery chemistry, weight, or energy capacity.
-   **Unit-based excise taxes:** Products are taxed by physical count or volume instead of price, such as per-round ammunition taxes or beverage container volume.
-   **Retail checkout bag fees:** Mandatory bag fees that are calculated by the number of bags provided at the point of sale.
-   **Hospitality and lodging fees:** Occupancy taxes evaluated by room count, unit count, or stay duration.

## Discover parameter requirements

Before you send parameters in a `CreateTransaction` request, determine whether items in your catalog require parameters. Then look up the exact parameter names and data types that AvaTax expects.

## Check tax codes for parameter support

When you retrieve tax codes by using the `ListTaxCodes` API, check the `hasParameters` boolean attribute in the response:

-   When `hasParameters` is `true`, AvaTax requires 1 or more parameters to calculate tax correctly for that tax code.
-   When `hasParameters` is `false`, the tax code calculates tax by using standard price and quantity values only.

## Retrieve required parameter definitions

To look up the exact parameters associated with a tax code, query the `ListParameterUsage` API:

-   Filter your request by `taxCode`, `country`, and `region`.
-   The response returns parameter metadata, including:
    -   `parameterName`: The exact parameter identifier to provide in transaction lines.
    -   `dataType`: The expected data format, such as `String`, `Numeric`, or `Boolean`.
    -   `unitOfBasis`: The required unit of measurement, such as inches, pounds, ounces, or units.
    -   `description`: The statutory rationale and jurisdiction context for the parameter rule.

## Verify in the tax code search tool

You can also look up tax code requirements in the [Avalara Tax Code Search Tool](https://taxcode.avatax.avalara.com). Search for a specific tax code to view any associated parameter definitions, valid values, and the jurisdictions where the rule applies.

## Pass parameters in transaction lines

When you create a transaction by using the `CreateTransaction` API, pass the required parameters in the `parameters` array within the applicable line item object.

Each parameter object in the array includes these properties:

Property

Type

Description

name

String

The exact parameter name as defined in AvaTax. Parameter names are case-sensitive.

value

String

The parameter value is passed as a string.

unit

String

Optional. The unit of measurement associated with the parameter value, if the parameter definition requires it.