> This page is for Documentation, version Integration guides (default).
> For other versions, use one of these documentation indexes:
> - Integration guides (default): https://avalara.ferndocs.com/docs/integration-guides/llms.txt
> - Refactor guides: https://avalara.ferndocs.com/docs/refactor-guides/llms.txt
> - Get certified: https://avalara.ferndocs.com/docs/get-certified/llms.txt
> - Agent to Agent (A2A): https://avalara.ferndocs.com/docs/agent-to-agent-a2a/llms.txt
> - AI use cases: https://avalara.ferndocs.com/docs/ai-use-cases/llms.txt
> - API versioning: https://avalara.ferndocs.com/docs/api-versioning/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://avalara.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://avalara.ferndocs.com/_mcp/server.

# Functional review

Congratulations! At this point, you've completed all previous milestones. If you're a technology partner, you're now ready for Avalara to review your integration.

## How do I submit?

To initiate a functional review:

1. Create a recording demonstrating your integration, including the installation.

2. Send the recording along with the user guide to [DG-PartnerLaunch@avalara.com](erp-integration-guide/functional-review/mailto:DG-PartnerLaunch@avalara.com).

Avalara will review your demo and then follow up with you. During this follow-up, Avalara will either request more information from you or inform you that you achieved certification.

## What do I include in the demo?

Your integration should include all requirements mentioned in the previous chapters. Specifically, we want to see the following:

### Core integrations

* How you install or enable your integration.

* Your configuration screen and authentication process, including:

  * Demonstrate inputting your credentials.

  * Show that your integration includes:

    * A test connection button

    * An option to disable document recording/committing

    * An option to disable address validation (if supported)

    * An option to designate connecting to a Production or Sandbox environment

  * Show that you defined a company code.

* How you identify customers:

  * Show how you pass the customer identifier.

  * Show how you exempt a customer.

* How you identify products/services and associate tax codes:

  * Show what you send to AvaTax as the item code and description.

  * Show that you can map items to Avalara tax codes in the platform.

* The quote-to-cash process, including transaction scenarios along with doc codes:

  * The quote-to-cash process should specifically call out the times when the system reaches out to AvaTax for tax calculation and when the system records a transaction to AvaTax for further reporting and remittance.

  * Sales tax transaction scenarios:

    * [Tax amount scenario](https://developer.avalara.com/erp-integration-guide/test-transactions/core-sales/tax-amount-scenario)

    * [Discounts scenario](https://developer.avalara.com/erp-integration-guide/test-transactions/core-sales/discounts-scenario)

    * [Entity use code scenario](https://developer.avalara.com/erp-integration-guide/test-transactions/core-sales/entity-use-code-scenario)

* Other considerations

  * Show that your integration sends the proper HTTP headers (assuming that your integration uses the REST v2 API).

  * Show that your integration includes an address validation, filter-by-country option or that you limit address validation requests to only the US and Canada.

  * Show that your integration uses a reasonable API request ratio during invoicing.

  * Show that sales invoices use the `SalesInvoice` document type and that you don't call AvaTax multiple times for the same invoice.

  * Confirm that orders/estimates use a document type of `SalesOrder`, `PurchaseOrder`, and so on.

### Refunds integrations

Demonstrate the following if you are attempting to earn the Refunds advanced feature.

* Show that you can process refunds using a [CreateTransction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/) request with a tax override of tax date.

* Show that you can process refunds using the [RefundTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/RefundTransaction/) request.

* Demonstrate a refund transaction scenario along with its doc code. You can show the scenario from the prior Test transactions section.

  * [Refunds scenario](https://developer.avalara.com/erp-integration-guide/test-transactions/refunds/refunds-scenario)

### POS integrations

Demonstrate the following if you are attempting to earn the POS advanced feature.

* Show that your integration can accept the `reportingLocationCode`.

* Show that your cash-and-carry transactions accept either a single location address or a ship-from and ship-to that use the same address.

* Demonstrate a POS transaction scenario along with its doc code. You can show the scenario from the prior Test transactions section.

  * [POS scenario](https://developer.avalara.com/erp-integration-guide/test-transactions/pos/pos-scenario)

> **Note**
>
> Part of the **ERP** integration guide. [Open the full "Functional review" milestone on Avalara](https://developer.avalara.com/erp-integration-guide/functional-review/) to see every page in this section.