> 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.

# AvaTax for VAT transaction concepts

At its core, AvaTax is designed to help you calculate taxes on a sales transaction between two parties. The options in the [CreateTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/CreateTransaction/) API call help you ensure that your tax calculation is correct. Specifically, the Avalara tax engine determines the following key questions when calculating Tax.

* What is the place of supply? In other words, in which country is the VAT obligation?

* Which party has the liability to pay?

* Are there any applicable product exemptions?

With this understanding of how AvaTax reads transactions, the rest of this section describes all the information you need to gather to produce accurate, fast, reliable VAT calculations. It shows you how to create basic transactions, the information required in each transaction, and the differences between the available document types. Transaction responses are also important. When creating transactions, be sure to store the VAT code and any EU invoice messages returned by the AvaTax engine so that they can be used in VAT Reporting.

Creating transactions is the basis of the AvaTax service, so it’s important to have a solid understanding of the basics.

**Note:**

As you make your way through the Certification Requirements in this section, keep in mind that these requirements don’t include any additional fields. These requirements ensure that you populate those required fields in AvaTax. You must have these elements so that AvaTax can perform VAT calculations.

**Note:**\
You'll notice that some parameters are considered optional by the API documentation; however we still require these parameters for certification. For example if a user omits a `code` in the CreateTransaction request, AvaTax will generate a UUID. However for certification, we expect your integration to pass this transaction identifier field.

> **Note**
>
> Part of the **VAT for Marketplaces** integration guide. [Open the full "AvaTax for VAT transaction concepts" milestone on Avalara](https://developer.avalara.com/vat-marketplace/transactions/) to see every page in this section.