# Planning your integration

Source: https://developer.avalara.com/avatax-for-bevalc/bevalc-about-this-guide/alcohol-planning-your-integration/

# Planning your integration

This document assumes that you've already integrated AvaTax into your system or are familiar with AvaTax. The tables below describe additional fields that must be available in your transaction in order to achieve a **Beverage Alcohol** badge. Review this section to help you plan your integration.

In addition to the planning elements, also determine the type of integration you want to build. For example, do you have a web-enabled POS system or a POS location? Do you have multiple locations or any warehouse holding locations?

**Note:** You may notice that some fields are considered optional by the API documentation even though they are required for certification. Required fields are labeled as such because your integration must provide the option for users to specify them.

Field

Use case

Endpoint(s)/model(s)

Notes

[Document type](/avatax-for-bevalc/requirements/document-type)

Users must be able to include a [document type](https://developer.avalara.com/api-reference/avatax/rest/v2/models/enums/CreateTransactionModel%20%3E%20type/) of `SalesInvoice` or `ReturnInvoice` in a transaction. These are the only supported document types when verifying compliance.

[CreateTransactionModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/CreateTransactionModel/)

Type: String  
Required: Yes

[Tax code](/avatax-for-bevalc/requirements/tax-code)[](/avatax-for-bevalc/requirements/tax-code)

Users must be able to input beverage alcohol [tax codes](https://taxcode.avatax.avalara.com/).

[LineItemModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/LineItemModel/)

Type:String  
Required: Yes

[Alcohol content](/avatax-for-bevalc/requirements/alcohol-content)

Users must be able to specify the total percentage of alcohol by volume included in this line item. If this parameter is not provided, then the line will fail alcohol-content-related compliance checks.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type**:** NumericMeasured  
Required: Yes

[Alcohol route type](/avatax-for-bevalc/requirements/alcohol-route-type)

Users must be able to indicate the sales channel for a beverage alcohol transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Numeration  
Required: Yes

[Alcohol sample](/avatax-for-bevalc/requirements/alcohol-sample)

Users must be able to indicate whether a beverage alcohol product is a sample product.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Boolean  
Required: Yes

[Brand](/avatax-for-bevalc/requirements/brand)

Users must be able to specify the brand associated with the product being sold.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Carrier code](/avatax-for-bevalc/requirements/carrier-code)

Users must be able to specify the compliant carrier code used for shipping.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Enumeration  
Required: Yes

[Container size](/avatax-for-bevalc/requirements/container-size)

Users must be able to specify the volume of a single beverage alcohol container.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: NumericMeasured  
Required: Yes

[Direct alcohol import](/avatax-for-bevalc/requirements/direct-alcohol-import)

Users must be able to indicate whether a beverage alcohol product is a direct import product.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Boolean  
Required: Yes

[Foreign alcohol](/avatax-for-bevalc/requirements/foreign-alcohol)

Users must be able to indicate whether a beverage alcohol product is a foreign product.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Boolean  
Required: Yes

[Fulfillment house code](/avatax-for-bevalc/requirements/fulfillment-house-code)

Users must be able to specify the name of the fulfillment house for wine sales.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Enumeration  
Required: Yes

[Net volume](/avatax-for-bevalc/requirements/net-volume)

Users must be able to specify the volume of the item in a transaction, exclusive of the packaging, pack size, container, or other ancillary materials.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: NumericMeasured  
Required: Yes

[Pack size](/avatax-for-bevalc/requirements/pack-size)

Users must be able to specify the number of taxable items in a container, such as the number of bottles in a case.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: NumericMeasured  
Required: Yes

[Purchaser DOB](/avatax-for-bevalc/requirements/purchaser-dob)

Users must be able to specify the date of birth of the purchaser in a transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Purchaser name](/avatax-for-bevalc/requirements/purchaser-name)

Users must be able to specify the first and last name of the purchaser associated with the transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Recipient DOB](/avatax-for-bevalc/requirements/recipient-dob)

Users must be able to specify the date of birth of the recipient in a transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Recipient name](/avatax-for-bevalc/requirements/recipient-name)

Users must be able to specify the first and last name of the recipient associated with the transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Sales location](/avatax-for-bevalc/requirements/sales-location)

Users must be able to specify whether a sale was made `onsite` or `offsite` (default).

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Enumeration  
Required: Yes

[Seller classification](/avatax-for-bevalc/requirements/seller-classification)

Users must be able to specify the whether the transaction is inter or intra state.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: Enumeration  
Required: Yes

[Ship date](/avatax-for-bevalc/requirements/ship-date)

Users must be able to specify date of the shipment when this date is different than the date of the transaction.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Tracking number](/avatax-for-bevalc/requirements/tracking-number)

Users must be able to specify the tracking number associated with a direct alcohol shipment.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Varietal](/avatax-for-bevalc/requirements/varietal)

For wine sales, users must be able to specify the the varietal of wine being shipped.

[TransactionParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionParameterModel/),  
[TransactionLineParameterModel](https://developer.avalara.com/api-reference/avatax/rest/v2/models/TransactionLineParameterModel/)

Type: String  
Required: Yes

[Previous](/avatax-for-bevalc/bevalc-about-this-guide/verify-alcohol-entitlement)

[Next](/avatax-for-bevalc/configure-your-account)