# Transactions in AvaTax

Source: https://developer.avalara.com/avatax-for-ap/vfq9857106231146/

# Transactions in AvaTax

AvaTax is Avalara's tax calculation solution that automates tax compliance for businesses.

At its core, AvaTax is designed to help you calculate taxes on a sales transaction between two parties. The parameters 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, here's how AvaTax reads a transaction.

1.  AvaTax reads the address first. Where are the goods shipping from, and where are they shipping to? AvaTax will compare the address to the merchant's nexus configuration.

    -   If the merchant is NOT set up to collect and pay tax in that jurisdiction, then AvaTax won’t calculate tax. The tax amount will be zero.

    -   If the merchant is set up to collect and pay tax in the jurisdiction where the transaction is taking place, then AvaTax will continue through the transaction parameters to determine whether to calculate tax. See the next step.

2.  AvaTax will then read the customer record and determine whether the customer is exempt.

    -   If the customer is exempt, then AvaTax won't calculate the tax. The tax amount will be zero.

    -   If the customer isn't exempt, then AvaTax will continue through the transaction parameters to determine whether it will calculate tax. See the next step.

3.  AvaTax will now look at each item code and its mapped tax code. Is this item taxable? AvaTax considers product taxability rules when determining whether to collect tax.

    -   If the item isn’t taxable, then AvaTax won't calculate tax. The tax amount will be zero.

    -   If the item is taxable, then AvaTax will calculate the tax.

Now that you understand how AvaTax reads transactions, this section will explain what information you need. Gathering this information will help you produce accurate, fast, and reliable tax calculations. This section also shows you how to create basic transactions, the information required in each transaction, and the differences between the available document types. Creating transactions is the basis of the AvaTax service, so it’s important to have a solid understanding of the basics.

Tip

-   As you make your way through the Certification Requirements in this section, keep in mind that these requirements aren’t asking for any additional fields. These requirements ensure that you populate those required fields in **AvaTax**. You must have these elements so that **AvaTax** can perform tax determination.
-   You may notice that the API documentation describes some parameters as optional; however we still require these parameters for certification. For example if you omit a `code` in the create transaction request, **AvaTax** will generate a UUID. For certification, pass your transaction identifier in this field and make it optional for users.