# Transaction workflow FAQs

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

# Transaction workflow FAQs

This section provides answers to common questions that users face when designing a transaction workflow.

## How do I handle quoting/estimates?

Calling the AvaTaxservice with a `SalesOrder` document `type` returns a calculation/quote but doesn’t record the transaction.

If you need to provide a quote, but you don't have the full address, use the [DownloadTaxRatesByZipCode](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/TaxContent/DownloadTaxRatesByZipCode/) endpoint and store that on the client side. After you have the full address information, use AvaTax to get the rooftop level tax calculation.

## When do I call for tax?

When you call for tax depends on where you are in the workflow. As a best practice, don't call for tax every time a user adds or removes an item from the cart. Some implementations loop in an explicit **Calculate Tax** button, or they incorporate the tax calculation in the **Save** function. You can also call AvaTax for tax calculation upon receiving shipping information.