Certified for Avalara AvaTax for Communications
Certification for Avalara AFC requires the delivery of all functional requirements shown below.

AFC API

Transactions

Required Function Comment
R Populate the transaction data. See the AvaTax for Comms documentation for description of fields and how they should be set. One of the following is required:
  • CalcTaxesWithPCode: Populate transaction data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, populate OriginationPcode and TerminationPCode in Transaction strcuture, with PCode returned from either EZgeo (separate service) or from a separate call to one of the utility functions: FipsToPCode, ZipToPCode, or NpaNxxToPCode.
  • CalcTaxesWithNpaNxx: Populate transaction data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, populate OriginationNpaNxx and TerminationNapNxx fields in the Transaction structure with NPANXX.
  • CalcTaxesWithZipAddress: Populate transaction data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, populate OriginationAddress and TerminationAddress in the Transaction structure.
  • CalcTaxesWithFipsCode: Populate transaction data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, populate OriginationFipsCode and TerminationFIpsCode with FIPS code.
R Parse TaxData See AvaTax for Comms documentation for descriptions of returned fields.
R Have Avalara admin review results in the system. From previous calls to one of the methods above, have an Avalara admin review input information and output information to verify both parties agree with the results.

Adjustments

Required Function Comment
R Populate transaction adjustment data. See AvaTax for Comms documentation for description of fields and how they should be set. One of the following is required:
  • CalcAdjWithPCode: Populate Transaction adjustment data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, use Pcode returned from either EZgeo (separate service) or from separate call to one of utility functions FipsToPCode, ZipToPCode, or NpaNxxToPCode
  • CalcAdjWithNpaNxx: Populate transaction adjustment data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, use NPANXX to identify origination and termination.
  • CalcAdjWithZipAddress: Populate transaction adjustment data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, use zip code to identify origination and termination.
  • CalcAdjWithFipsCode: Populate transaction adjustment data structure with appropriate data. Parse returned TaxData data structure for results. In this instance, use the FIPS code to identify origination and termination.
R Obtain a PCode One of the following is required:
  • AFC Geo: Call to AFC Geo to obtain a PCodeor call to one of utility functions FipsToPCode, ZipToPCode, or NpaNxxToPCode.
  • Local data using all_adr: Explain how the all_adr data is loaded and maintained. Show how this data is used for obtaining a PCode.
R Have Avalara admin review results in the system From previous calls to one of the methods above, have an Avalara admin review input information and output information to verify the adjustment was made and both parties agree with the results.