Excise Certification
Depending on the scope of your integration and your business practice, your test cases will vary. For development partners, many of these are requirements for certification. If you were to give us full functionality demo, here’s what we’d like to see:
Process Transactions

The Process Transactions method uses an array of Transactions to calculate taxes based on scenarios predefined in the Avalara AvaTax Excise application:

Required Function Comment
R Send required header level data elements:
  • Company
  • Effective Date
  • Transaction Type
  • Title Transfer Code
  • Incoterms
  • Perspective Business Type
  • Company - The Name of a company that matches to the name field in the companies table within the Avalara AvaTax Excise application Control Database.
  • Effective Date - The date of the product movement (e.g., 9/28/2015).
  • Transaction Type – Description of the event of particular event in a supply chain.
  • Title Transfer Code – Indicates where title transfer is taking place.
  • Incoterms – Delivery terms (required for EU content).
  • Perspective Business Type– Buyer or Seller viewpoint (required for EU content).
N Send optional header level data elements:
  • Invoice Number
  • Invoice Date
  • Fuel Use Code
  • Transportation Mode Code
  • Seller
  • Buyer
  • Previous Seller
  • Next Buyer
  • User Data
  • User Transaction ID
  • Source System
  • Order Type
  • Transaction Lines
  • Transaction Exchange Rates
  • Save Transaction Indicator
  • Debug Indicator
  • Calculation Method
  • Total Dyed Units
  • Total Reporting Taxes
  • Reporting Currency
  • Fuel Use Code - A code to describe the fuel use. Currently not used but included for future taxation scenarios. Field can be used in the profile system.
  • Transportation Mode Code – Transportation method used.
  • Seller / Buyer - Unique Id which must match the custom_id field on the business_entities table in the Avalara AvaTax Excise application client database.
  • User Data - String to hold any data you may want to pass into a transaction and potentially receive back untouched. May also be used for customizing calculations based on business rules.
  • User Transaction ID - A unique Id for the transaction as defined by the calling application.
  • Source System - Hard coded string to identify which system is calling the application with this transaction. Useful when more than a single system is using the application or to separate GUI calls from web service calls.
  • Order Type - A code to describe the order type. Currently not used but included for future taxation scenarios.
  • Save Transaction Indicator - Indicates if the transaction should be saved to the database. Not saving can have a significant performance improvement. If this value is not defined in the transaction the Saving of Transactions is controlled by the Company Setting in the GUI.
  • Debug Indicator - Indicates if the transaction should be calculated with debugging enabled.
N Send optional data elements for VAT:
  • Middleman
  • Customs Status
  • Form A Presented Indicator
  • Simplified Procedure Indicator
  • Chain Leg
  • Form A Presented Indicator - Indicates if Form A is presented for VAT.
  • Simplified Procedure Indicator - Indicates if the simplified procedure is used for VAT.
  • Middleman – 3rd party in a triangulation transaction in the EU
  • Chain Leg – Indicates invoice position in a triangulation transaction in the EU
N Send optional Custom data elements:
  • Custom String 1, 2, 3
  • Custom Numeric 1, 2, 3
  • Custom String - String to hold data you want to pass into a transaction to be used for customizing calculations based on business rules.
  • Custom Numeric - Decimal to hold data you want to pass into a transaction to be used for customizing calculations based on business rules.