Avalara AvaTax Configuration Guide
A hands-on, step-by-step walkthrough for store admins
On this page
Before You Start
How AvaTax Works in FlyCommerce
Step 1: Company and Connection
Step 2: Map Tax Classes to AvaTax Tax Codes
Step 3: Configuration and Features
Handling Tax Exemptions
What Customers See at Checkout
How Orders Are Recorded in Avalara
Reports and Logs
Common Issues
Before You Start
This guide covers one thing only: connecting and configuring Avalara AvaTax as the tax engine for your FlyCommerce store. By the end you will have AvaTax calculating live tax at checkout, every order recorded in your Avalara company, and exemptions handled correctly.
Everything is organized around three steps you complete in order:
- Step 1 - Company and Connection: enter your Avalara credentials and point FlyCommerce at the right Avalara company.
- Step 2 - Map Tax Classes to AvaTax Tax Codes: tell Avalara what each group of products is, so it taxes them correctly.
- Step 3 - Configuration and Features: turn on tax calculation and the optional features you need (address validation, exemption certificates, logging, and more).
What you need first
- An Avalara AvaTax account. If you do not have one, sign up at avalara.com. You manage everything Avalara-side from the Avalara Admin Console.
- Your Account ID and License Key. Generate these in the Avalara Admin Console under Settings > License and API Keys.
- Admin access to FlyCommerce. All tax settings live under Settings > Tax in the admin dashboard.

Tip: Sandbox vs Production. Avalara gives you two separate environments. Sandbox is for certification and testing - it returns realistic rates but files nothing. Production is live and affects real returns. Always validate your full setup in Sandbox first, then re-enter Production credentials when you go live. Each environment has its own Account ID and License Key.
How AvaTax works in FlyCommerce
When AvaTax is enabled, FlyCommerce stops using its built-in rate tables and instead asks Avalara to calculate tax for every cart and order in real time. Avalara uses three things to get the number right:
- Where: the ship-from and ship-to addresses determine which jurisdictions apply.
- What: the AvaTax tax code you mapped to each product's tax class determines how it is taxed (clothing, food, digital goods, freight, etc.).
- Who: the customer's exemption status (if any) can reduce or remove tax.
Get those three right and the rest is automatic. The three steps below set them up. Steps 1 and 2 are required before tax calculation can be switched on - Step 3 will not let you enable it otherwise.
Step 1 - Company and Connection
This step has two parts on the same screen: first you connect your Avalara account with credentials, then you tell FlyCommerce which Avalara company to use and fill in a few company-level defaults.
Go to Settings > Tax > AvaTax.
1.1 Connect with AvaTax
At the top of the AvaTax page is the Connect with AvaTax card. Fill in the three fields:

Field | What to enter | Where to find it |
|---|---|---|
Account ID | Your Avalara account number. | Avalara Admin Console → Settings → License and API Keys. |
License Key | The API license key for that account. | Same screen. Generate a new key if you don’t have one saved — Avalara only shows it once. |
Environment | Choose Production for live tax, or Sandbox / Development for testing. | Use Sandbox while you set up and certify, then switch to Production. |
Click Connect. FlyCommerce verifies the credentials against Avalara. On success the card shows a green Connected badge, and two buttons appear: Disconnect and Ping.
Important: Disconnecting clears your stored credentials. You can reconnect at any time, but you will need to re-enter the Account ID and License Key. Disconnecting does not delete anything in your Avalara company.
1.2 Company and Connection settings
Once connected, scroll to the configuration card below. The first section is labelled Step 1: Company and Connection. This is where you tell FlyCommerce exactly which Avalara company to post to and set a few company-wide defaults.

Field | What it does |
|---|---|
Company Code (required) | The code of the Avalara company that will receive your transactions. If FlyCommerce can read your companies from Avalara it appears as a dropdown; otherwise type it manually (e.g. DEFAULT). This must match a company that exists in your Avalara account. |
Company ID | The numeric ID of that same company (e.g. 12345). Required for CertCapture, the Items catalog, Locations, and Reports. Find it in Avalara → Company Management. Leave blank only if you’re doing basic rate calculation and nothing else. |
Capability Status | A read-only panel that tells you what’s ready: Credentials Valid, Company ID Configured, and CertCapture Ready. Use it as your checklist — anything showing “Needs attention” or “Missing” should be fixed before relying on that feature. |
Fallback Ship-From Address | The origin address Avalara uses when an order has no warehouse address of its own. It’s pulled from General Settings → Business Details; use the Open Business Details link to edit it. An accurate ship-from is essential — the wrong origin produces the wrong tax. |
Shipping Tax Code | The AvaTax tax code applied to shipping/freight charges. Defaults to FR020100 (General Freight), which is correct for most stores. Only change it if your shipping is taxed differently in your jurisdictions. |
Select Save to store the company settings. Watch the Capability Status panel update.
Step 2 - Map Tax Classes to AvaTax Tax Codes
This is the step most people get stuck on, so we will take it slowly. The goal is simple: every product in your store belongs to a tax class, and each tax class must point to an AvaTax tax code so Avalara knows how to tax it.
Tax class > AvaTax tax code is the whole idea. A tax class is your grouping ("Clothing", "Digital", "Food"); the AvaTax tax code is Avalara's official identifier for how that kind of product is taxed everywhere. You create the classes, then map each one to a code.
2.1 Create and manage tax classes
Open Settings > Tax > Classes. You will see the Tax Classes list. Every store starts with a Standard Rate class (it cannot be deleted). The Usage column shows how many products are assigned to each class.

To add one, select Create Tax Class. A New Tax Class modal opens with two fields:

Field | What to enter |
|---|---|
Name | A clear, recognizable name — this is just for you to identify the class (e.g. “Clothing”, “Digital Goods”, “Groceries”). |
VAT Treatment | Standard, Zero-rated, Exempt, or Reduced. This only affects the MENA VAT calculator — it is ignored when AvaTax is your active checkout engine. If you’re using AvaTax, leave it on Standard; the AvaTax tax code you map in the next part is what actually controls the tax. |
Click Create. Repeat for each distinct group of products you sell that’s taxed differently. You can Edit (rename) or Delete any class except Standard Rate.
Tip: Do not over-create classes. Make one class per tax treatment, not per product. "Clothing" is a class; "Blue T-Shirt" is not. Most stores need only a handful: Standard, plus whichever of Clothing, Food, Digital, or Freight actually apply to them. Fewer classes means simpler mapping and fewer mistakes.
After creating a class, assign products to it from the product editor's tax class field. The Usage column then reflects the count.
2.2 Understanding Tax Code Lookup
Before mapping, you need the right AvaTax tax codes. An AvaTax tax code is Avalara's standardized identifier for a category of goods or services. Avalara maintains thousands of them, and the correct code is what makes Avalara apply the right rules in every state and country.
You do not have to memorize codes or leave FlyCommerce to find them. The mapping screen (Step 2 of the configuration card) includes a built-in Tax Code Lookup box:

- Search by code or by word. Type a tax code if you already know it (for example, PC030122), or type a plain word from the description (for example, Clothing, Freight, Digital). Matching codes appear with their official descriptions.
- Apply or Copy. Each result has two buttons. Apply drops the code straight into the tax-class row you are working on; Copy puts it on your clipboard so you can paste it wherever you need.
- Browse the full catalog. The Browse all on Avalara link opens Avalara's complete, searchable tax-code reference at taxcode.avatax.avalara.com. This is the authoritative source - use it when you are unsure which code best fits a product category.
2.3 Map each tax class to a tax code
In the configuration card, the second section is labelled Step 2: Map Tax Classes to AvaTax Tax Codes. It lists every tax class you created, each with a field to enter its AvaTax tax code and a per-row Lookup button.

- For each class row, select Lookup (or use the Tax Code Lookup box above), find the right code, and select Apply - or type the code directly into the field (placeholder P0000000).
- Work through every row. While any class is unmapped, an Incomplete Mapping badge stays visible as a reminder.
- Select Save once all classes have a code.
Tip: Mapping checklist: (1) every tax class has a code, (2) the codes match what each class actually contains, (3) the shipping tax code in Step 1 is set (FR020100 by default), (4) the Incomplete Mapping badge is gone. When all four are true, you are ready for Step 3.Important: Every class must be mapped before you can enable tax calculation. Step 3 keeps the Enable AvaTax tax calculation toggle locked until the badge clears and all classes are mapped. If you try to save Step 3 early, you will see "All tax classes must be mapped before enabling tax calculation." This is intentional - it stops Avalara from silently taxing everything as generic goods.
Step 3 - Configuration and Features
The third section of the configuration card, Step 3: Configuration and Features, is where you turn AvaTax on and choose the optional features you want. Each is a toggle; enable the ones you need and select Save.

Toggle | What it does / when to turn it on |
|---|---|
Enable AvaTax tax calculation | The master switch. When on, AvaTax calculates tax for every cart and order. Locked until all tax classes are mapped (Step 2). Turn this on last. |
Report transactions to AvaTax | Records each order as a committed transaction in your Avalara company so it appears in returns and reports. Turn this on in Production if you use Avalara for filing. Leave off in Sandbox testing if you don’t want test transactions recorded. |
Address validation | Has Avalara verify and standardize customer addresses at checkout, improving rooftop-accurate rates. Recommended for US addresses. |
Exemption certificates | Enables exemption handling and the link to the CertCapture Console. Requires a Company ID (Step 1). See the Exemptions section for the full workflow. |
Enable Avalara API logging | Logs every request/response between FlyCommerce and Avalara. Invaluable for troubleshooting. Use the View Logs link to inspect them (also at Settings → Tax → AvaTax → Logs). |
Log retention (days) | How long to keep API logs (1–365, default 30). Raise it if you need a longer audit trail. |
Tax-inclusive pricing | Treat your product prices as already including tax. Turn on only if you display and sell tax-inclusive prices (common outside the US). |
Multi-vendor marketplace transactions | Enables multi-document transactions so each vendor’s portion of an order is recorded separately in Avalara. Turn on if you run a multi-vendor marketplace. |
Select Save. With tax calculation enabled and everything green, AvaTax is now live at checkout.
Confirming your setup
The screen does not change its layout after you finish - the same three cards stay in place. What changes are the status indicators, which flip to green so you can confirm at a glance that AvaTax is live. Use this as your done checklist: compare each indicator to the "After setup" column.
Indicator | Before setup | After successful setup |
|---|---|---|
Connect with AvaTax | Connect button | Green Connected badge + Disconnect and Ping buttons |
Credentials (Step 1 Capability Status) | Red Needs attention | Green Valid |
Company ID (Step 1) | Orange Missing | Green Configured |
CertCapture (Step 1) | Gray Disabled | Green Ready (or orange Unavailable if Avalara cannot reach it) |
Fallback Ship-From (Step 1) | Amber "address incomplete" warning | Your actual Business Details address lines |
Step 2 header | Red Incomplete Mapping badge | Badge gone; every row shows its tax code |
Enable AvaTax tax calculation (Step 3) | Toggle off, "Map all tax classes first" warning | Toggle on; CertCapture Console and View Logs links visible |
You are done when: the Capability Status panel is all green, the Incomplete Mapping badge is gone, and Enable AvaTax tax calculation is on. From here, AvaTax calculates live at checkout - verify with a test order as described above.
Handling Tax Exemptions
Some customers (resellers, non-profits, government buyers) should not be charged tax. AvaTax handles this through entity use codes - a one-letter classification that tells Avalara why a customer is exempt - backed by an exemption certificate. You manage everything from Settings > Tax > Exemptions. An exemption can start in two ways: a customer claims it from their account, or an admin creates it directly.
The Exemptions screen gives you four counts (Total, Approved, Pending Local Review, Pending CertCapture) and source tabs (All, Admin Created, Customer - Local, Customer - CertCapture) so you can see where each record came from.
How a customer claims an exemption
A logged-in customer requests their own exemption from their account area in the storefront. They do not set any codes themselves - they submit the supporting details and a certificate, and it arrives in your dashboard as a pending request for approval. The request includes:
- Exemption type and reason (for example, Resale, Non-Profit, Government).
- Certificate number and the certificate document (PDF, JPG, or PNG) - the upload is required.
- Exempt jurisdictions and a valid-from and valid-until date range.
On submit, FlyCommerce creates a pending record tagged as customer-submitted and routes it to the right workflow automatically: if AvaTax CertCapture is enabled (connected + Exemption certificates on + a Company ID set), the request is marked Customer - CertCapture; otherwise it is Customer - Local. The customer sees "Your tax exemption request has been submitted for review," and it shows up in your Exemptions list.

Note: Customers cannot approve their own exemptions or pick the entity use code - that is the admin's job in the next steps. A request has no tax effect until you approve and classify it.
How an admin creates an exemption directly
When your team receives a certificate by email or in person, create the record yourself. Select Add Local Exemption to open the Add Tax Exemption modal and fill in:

Field | What to enter |
|---|---|
Customer (required) | Search and pick the existing customer the certificate belongs to. (If no customers exist yet, create one first.) |
Exemption Type (required) | Wholesale, Resale Certificate, Non-Profit Organization, Government Entity, or Diplomatic. Picking one auto-fills a matching Entity / Use Code as a smart default (e.g. Resale → G, Non-Profit → E, Government → B, Diplomatic → D). |
Entity / Use Code | The Avalara classification (codes A–J) sent to AvaTax. Adjust the smart-default if needed. This is the field that actually makes AvaTax apply the exemption — see the code table below. |
Certificate Number (required) | The reference number on the customer’s certificate. |
Exempt Jurisdictions (required) | The regions where the exemption applies (e.g. US-CA, US-NY, SA, AE). |
Valid From / Valid Until (required) | The certificate’s validity window. |
Document (required) | Upload the certificate file (PDF/JPG/PNG, up to 10 MB). It’s stored in DokanCloud and linked to the customer. |
Select Create Local Exemption. Because you supplied the entity use code, the record is classified immediately and AvaTax will honor it for that customer's qualifying orders.
How an admin approves a request and assigns the entity use code
For any pending request (customer-submitted or otherwise), open the row's actions menu (⋮). You will see up to three choices depending on your setup:
Action | When to use it | What happens |
|---|---|---|
Approve & Classify | You have (or don’t require) the certificate and just need the customer flagged exempt with the correct code. | Opens the Approve & Classify dialog where you pick the Entity / Use Code (A–J) and click Confirm Approval. The code is assigned to the customer locally and AvaTax stops charging tax on qualifying orders right away. |
Approve & Send CertCapture Invite | You want the customer to upload a valid certificate straight into Avalara. (Only shown when CertCapture is enabled.) | Approves and emails the customer a CertCapture invite. Once they accept, the exemption is backed by an audit-ready document stored in Avalara. |
Reject | The request isn’t valid. | Marks the record rejected; no exemption is applied. |
The Approve and Classify dialog is the main place an admin assigns the entity use code to a customer: review the type and certificate (you can download the uploaded file from here), choose the code from the dropdown, and confirm. After approval you can later Revoke an approved exemption from the same menu.

Entity use codes (A-J)
An entity use code tells Avalara why a customer is exempt; AvaTax then applies the correct rules per jurisdiction. FlyCommerce uses Avalara's standard list:
Code | Meaning | Auto-filled for type |
|---|---|---|
A | Federal government | - |
B | State government | Government Entity |
C | Tribal government | - |
D | Foreign diplomat | Diplomatic |
E | Charitable organization | Non-Profit Organization |
F | Religious organization | - |
G | Resale | Resale Certificate |
H | Agricultural production | - |
I | Industrial production | - |
J | Direct pay permit | - |
Note: Use the CertCapture Console link (in Step 3 or on the Exemptions screen) to manage stored certificates directly in Avalara. CertCapture features require the Company ID from Step 1 and the Exemption certificates toggle from Step 3.
What Customers See at Checkout
This is the payoff for all the configuration above - here is exactly what a shopper experiences once AvaTax is live, and how to confirm it is working.
Live tax calculation in the order summary
As soon as the customer enters or changes their shipping address (country, state, city, and ZIP), FlyCommerce sends the cart - each item with its tax class, plus shipping - to Avalara and gets back the tax for that exact destination. In the order summary the Tax line behaves like this:
- While Avalara is being queried, the Tax line shows "calculating..."
- A moment later it updates to the calculated tax amount, and the order total recomputes as Subtotal + Tax + Shipping - Discount.
- It recalculates automatically whenever the shipping destination, items, or quantities change - the customer never does anything except fill in their address. The amount reflects the AvaTax tax codes you mapped (Step 2), the shipping tax code (Step 1), and the customer's exemption status - so an exempt customer with an approved entity use code sees reduced or zero tax automatically.
Address validation and tax-inclusive pricing
- Address validation: if you turned this on in Step 3, the customer may be prompted to confirm a standardized version of their address. This gives Avalara rooftop-level accuracy for US destinations and prevents wrong rates from a mistyped ZIP.
- Tax-inclusive pricing: if enabled, displayed prices already include tax, so the customer does not see tax added as a separate amount on top - it is reflected within the price instead.
On the invoice
After the order is placed, the tax also appears on the customer's invoice, broken down line by line: Subtotal, Shipping, Discount, each tax line with its name and rate (for example, Sales Tax (8.25%)), the Tax total, and the grand Total. When AvaTax produced the numbers, the invoice also notes the source - Tax by Avalara · Ref (transactionCode) - tying the document back to the recorded Avalara transaction.

How Orders Are Recorded in Avalara
When Report transactions to AvaTax is on, each completed order is posted to your Avalara company as a committed transaction under the Company Code you set in Step 1. These transactions are what Avalara uses for reporting and filing returns.
- Multi-vendor stores: with Multi-vendor marketplace transactions enabled, each vendor's portion is recorded as its own document.
- Refunds and cancellations: adjusting an order in FlyCommerce posts the corresponding correction to Avalara so your recorded liability stays accurate.
- Verify go-live: after switching to Production, place one real order and confirm it appears under Transactions in the Avalara Admin Console.
Reports and Logs
Avalara API logs (inside FlyCommerce)
If you enabled Avalara API logging in Step 3, FlyCommerce keeps a record of every call to Avalara. Open them with the View Logs link, or go to Settings > Tax > AvaTax > View API Logs. Each entry shows the request, Avalara's response, and any error - this is your first stop when a rate looks wrong or a transaction did not record. Logs are kept for the Log retention window you set (default 30 days).

Tax reports and returns (in the Avalara console)
To get your tax reports, sign in to the Avalara Admin Console and use:
- Transactions: every order FlyCommerce reported, searchable by date, jurisdiction, and status.
- Reports: liability and tax-detail reports you can export (CSV or PDF) for any period and jurisdiction.
- Returns: if you use Avalara Returns, your filing schedules and filed returns.
Tip: The link between the two systems is the Company Code from Step 1. Everything FlyCommerce reports lands under that company in Avalara, so make sure you are looking at the same company in the console that you configured in FlyCommerce.
Common Issues
Symptom | Likely cause and fix |
|---|---|
Cannot connect / "Connection failed." | Wrong Account ID or License Key, or wrong Environment. Re-generate the key in Avalara, confirm Sandbox vs Production, and use the Ping button to test. |
Cannot enable tax calculation | A tax class is still unmapped - the Incomplete Mapping badge is showing. Finish Step 2; map every class to a code, then save. |
Everything taxed at the standard rate | Products are falling back to P0000000. Map their tax classes to the correct AvaTax codes in Step 2. |
Wrong tax amount by location | Check the Fallback Ship-From Address (Step 1) and enable Address validation. A bad origin or unvalidated destination produces wrong rates. |
Exempt customer still charged | Confirm the exemption was approved (Approve and Classify) and the right entity use code is assigned. For documented exemptions, check the certificate status in CertCapture. |
Orders not appearing in Avalara | Turn on Report transactions to AvaTax (Step 3) and confirm the Company Code matches the company you are viewing in the console. |
Shipping taxed incorrectly | Check the Shipping Tax Code in Step 1 - it should normally be FR020100 (General Freight). |
Need to see what Avalara returned | Enable Avalara API logging and open View Logs to inspect the exact request and response. |
Once Steps 1-3 are green and a Sandbox test order calculates correctly, switch to Production credentials, enable transaction reporting, and place one live test order. After that, AvaTax runs automatically - your day-to-day work is just keeping tax classes mapped as you add new product categories.
Updated on: 06/08/2026
Thank you!

