AvalaraAvalaraDeveloperDeveloper
  • Productsdown arrow
      Calculations
      AvaTax
      AvaTax Brazil
      AvaTax for Communications
      AvaTax for Excise
      Avalara Tax Content
      E-invoicing
      Activation Service
      Avalara E-Invoicing and Live Reporting
      Brazil
      Brazil Customer Portal
      Tax Compliance (Brazil)
      Tax Central
      Data Staging
      Returns
      Avalara Managed Returns API
      MyLodgeTax
      Avalara Returns Excise
      VAT Reporting
      Shared service
      Shared Services
      1099 & W-9
      Avalara 1099 & W-9
      Tax registrations and business licenses
      Avalara License Guidance
      Sales Tax Registrations
      Payroll tax registrations
      Avalara license filings
      ECM
      Exemption Certificate Management
      Avalara Cross-Border
      Automated Tariff Code Classification
      Self-Serve Tariff Code Classification
      Managed and Premium Tariff Code Classification
      AvaTax Cross-Border (Estimator + Calculator)
      Avalara Trade Compliance
      Avalara Trade and Tariff Library
  • Learndown arrow
      Integrations guides
      Refactor guides
      Get certified
  • Get starteddown arrow
      AvaTax 90 days free trial
      Playground
      Become a partner
      Build with Avalara using AI
  • Developdown arrow
      APIs
      SDKs
      MCPs
      Agent to Agent (A2A)
      AI use cases
      API versioning
  • Resourcesdown arrow
      Avalara NEXT recordings
      Avalara University
      Knowledge Center
  • Support
MENU
Search Icon

No results found for

Profile
  • Sign In
Sign In
Search Icon

No results found for

  • Productsdown arrow
      Calculations
      AvaTax
      AvaTax Brazil
      AvaTax for Communications
      AvaTax for Excise
      Avalara Tax Content
      E-invoicing
      Activation Service
      Avalara E-Invoicing and Live Reporting
      Brazil
      Brazil Customer Portal
      Tax Compliance (Brazil)
      Tax Central
      Data Staging
      Returns
      Avalara Managed Returns API
      MyLodgeTax
      Avalara Returns Excise
      VAT Reporting
      Shared service
      Shared Services
      1099 & W-9
      Avalara 1099 & W-9
      Tax registrations and business licenses
      Avalara License Guidance
      Sales Tax Registrations
      Payroll tax registrations
      Avalara license filings
      ECM
      Exemption Certificate Management
      Avalara Cross-Border
      Automated Tariff Code Classification
      Self-Serve Tariff Code Classification
      Managed and Premium Tariff Code Classification
      AvaTax Cross-Border (Estimator + Calculator)
      Avalara Trade Compliance
      Avalara Trade and Tariff Library
  • Learndown arrow
      Integrations guides
      Refactor guides
      Get certified
  • Get starteddown arrow
      AvaTax 90 days free trial
      Playground
      Become a partner
      Build with Avalara using AI
  • Developdown arrow
      APIs
      SDKs
      MCPs
      Agent to Agent (A2A)
      AI use cases
      API versioning
  • Resourcesdown arrow
      Avalara NEXT recordings
      Avalara University
      Knowledge Center
  • Support
Profile
  • Sign In
Sign In
Sales (877) 282-5585
Communications certification
AFC General
AFC API
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.
Knowledge CenterDeveloper Support
Avalara.com|Terms of Use|Privacy Policy
© 2026 Avalara, Inc.