# AvaTax Communications Badge Requirements

Source: https://developer.avalara.com/certification/avatax/communication-badge/

### Requirements

| Name | Type | Description | Comments |
|---|---|---|---|
| Validate specific data in transactional inputs | Required | Submit transactions with required data values. For example, ability to calculate taxes using API call and get correct tax results.  Demonstrate in source system how each of the input values are configured and passed to the API fields.  ### System level settings       *   Account/Key - API access tokens *   Client ID - **Required** *   Profile ID - this allows Sellers / Operators to override the default behavior of Avalara and use a custom tax profile - **Required**  ### Company or Seller Level Settings       *   Company Identifier - This value identifies the Seller / Separate Legal Entity / Division / etc. *   Service Class: Primary Local or Primary Long Distance *   Business Class: ILEC, CLEC, or Other *   Facilities Based *   Franchise  ### Customer or Buyer Level Settings       *   Sale Type - Retail or Wholesale *   Customer Type: Business, Residential, Industrial, Senior Citizen *   Lifeline *   Exemptions  ### Transaction Level Settings       *   T/S Pairs *   Bundles  Demonstrate results in source system based upon different input parameters required for a basic transaction. |  |
| Validate process to determine Jurisdiction(s) | Required | You should be able to obtain correct Pcode for the jurisdiction. For example, ability to obtain correct Pcode using Location lookup APIs.   Provide the ability to set the Incorporated/Unincorporated status of Locations. |  |
| Validate ability to associate materials/products to Transaction Service type pair (T/S pair) | Required | You should be able to run a transaction with valid AFC T/S pair.   How AFC T/S pairs are aligned to material/product in source system. |  |
| Validate Adjustment handling | Required | Ability to use an adjustment call for a normal transaction.  Ability to apply adjustment call for current/previous month transactions.  You should be able to submit adjustment transactions. For example, ability to apply adjustments using API call and get correct tax results.  Pre API call setup and display adjustment results in source system. |  |
| Validate Exemption handling | Required | Ability to handle specific exemptions - allow you to exempt a type of tax or fee for all jurisdiction levels.  Ability to handle category exemptions - allows you to exempt a specific tax type and at a specific jurisdiction level e.g. city level sales tax exemptions. |  |
| Ability to handle level exemptions | optional | You should be able to submit transactions with exemption information for Level, category, and specific exemption. The results should reflect the exempted taxes.  Display Pre API setup and execute transaction without exemption, displaying results in originating system.  Display Pre API setup with level exemptions and execute transaction, displaying results in originating system.  Display Pre API setup with specify exemptions and execute transaction, displaying results in originating system.  Display Pre API setup with category exemptions and execute transaction, displaying results in originating system. |  |
| Validate Invoices/Transactions get committed | Required | Validate invoices/transactions are identified by DocumentCode  Validate fact patterns |  |
| Validate ability to pass a single channel line and a multi-channel line | Required | Ability to pass following line transactions together for system to return taxes.   Local/PBX Trunk, Local/PBX Extension, Local/PBX outbound channel.  Ability to pass following Trunk transactions together   Local/Centrex/DID Extension, Local/Centrex Trunk, Local/Centrex, outbound Channel.  Ability to pass following channel transactions together   Local/High Capacity Trunk Bundle, Local/High Capacity Extension Bundle,Local/High Capacity Outbound Channel Bundle.  Display API set and execute transaction, showing results in source system. |  |
| Validate ability to treat common AFC returned exceptions | Required | Invalid Address   No Jurisdiction found   Ability to distinguish between these exceptions and how to handle these:   Display error code |  |