canonical: https://jentic.com/apis/avalara.com/avalara

# Avalara AvaTax API

The Avalara AvaTax API is a REST interface to Avalara's enterprise tax engine for calculating sales, use, VAT, and GST on transactions across US and international jurisdictions. It manages companies, locations, nexus declarations, exemption certificates, returns filing, and audit trails alongside real-time transaction calculation. Authentication uses HTTP Basic with an account ID and license key, and the spec exposes 432 operations across 314 paths, including a sandbox at sandbox-rest.avatax.com.

## For AI agents

Calculate sales tax and VAT on transactions, manage exemption certificates, and file returns across thousands of US and international tax jurisdictions.

## Scope

Does not handle payment capture, accounting ledgers, or customer-facing invoicing - use for tax calculation, exemption management, and returns preparation only.

## Capabilities

- Calculate transaction tax in real time across US sales tax, EU VAT, and GST jurisdictions via /api/v2/transactions/create
- Commit, void, or adjust posted transactions to keep tax records aligned with the source ERP
- Manage company nexus declarations, locations, and tax codes through /api/v2/companies endpoints
- Validate and store exemption certificates against customer records for audit-ready exempt sales
- Generate jurisdiction-level liability reports and prepare returns for filing through Avalara Returns

## Use cases

### Real-Time Checkout Tax Calculation

E-commerce platforms call Avalara AvaTax at checkout to calculate jurisdiction-accurate sales tax, VAT, or GST on the order line items based on ship-to address, product taxability codes, and customer exemption status. AvaTax handles the 13,000+ US sales-tax jurisdictions plus international rules, replacing static rate tables that go stale within weeks.

Example prompt: POST /api/v2/transactions/create with type=SalesInvoice, customer code, ship-from and ship-to addresses, and line items, then return totalTax and per-line jurisdiction breakdown

### Exemption Certificate Management

B2B and wholesale sellers use AvaTax to collect, validate, and apply customer exemption certificates so qualifying transactions are correctly tax-exempt and audit defensible. Certificates are linked to customers and shipping jurisdictions through the customers and certificates endpoints, removing the spreadsheet and PDF folder workflow.

Example prompt: Create a customer record under company {id}, attach an exemption certificate for the resale category in Texas, and confirm subsequent transactions for that customer in TX return zero tax

### Returns Preparation and Filing

Finance teams use AvaTax to commit transactions throughout the period and then generate jurisdiction-level liability reports as the basis for sales and use tax returns. Committed transactions roll up into worksheets that feed Avalara Returns or the team's chosen filing process, replacing manual reconciliation across dozens of state portals.

Example prompt: List committed transactions for company {id} between 2026-05-01 and 2026-05-31, group totalTax by jurisdiction, and produce a state-by-state summary

### Nexus and Address Validation

Growing sellers track economic and physical nexus across states using AvaTax nexus declarations and address-validation utilities. The API surfaces where the company is registered to collect tax and validates addresses to tax-jurisdiction precision before transactions are committed.

Example prompt: List active nexus jurisdictions for company {id} and flag any state where the most recent 12 months of transactions exceed the economic nexus threshold but no nexus is declared

### Agent-Driven Tax Compliance via Jentic

AI agents embedded in finance and operations workflows call AvaTax through Jentic to answer ad-hoc tax questions, classify products to tax codes, and trigger transaction adjustments without engineers wiring custom integrations. Jentic exposes the 432 AvaTax operations as searchable tools so agents pick the right one by intent.

Example prompt: Given a product description, search Jentic for 'look up tax code', call AvaTax to find the closest matching tax code, and write it back to the product master

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /api/v2/transactions/create | Create a tax transaction for a sale or invoice |
| GET | /api/v2/companies | List companies under the account |
| GET | /api/v2/accounts/{id} | Retrieve account details |
| POST | /api/v2/addresses/resolve | Resolve an address to taxing jurisdictions |
| GET | /api/v2/definitions/taxcodes | List available tax codes for product classification |
| POST | /api/v2/companies/{companyId}/customers | Create a customer under a company |

## Key resources

- **Transactions** — Create, commit, void, adjust, and list tax transactions
- **Companies** — Manage companies, nexus declarations, locations, and tax profiles
- **Customers and Certificates** — Manage customer records and exemption certificates
- **Tax Codes and Jurisdictions** — Look up product tax codes and jurisdictional rate detail
- **Reports** — Generate liability and tax history reports

## Why Jentic

- **Setup:** Wiring Avalara AvaTax by hand means encoding HTTP Basic account-id-and-license-key credentials, choosing the production or sandbox host, and mapping transaction lines and address payloads across hundreds of operations. Through Jentic you install once, import the AvaTax API from the API Directory, store the account id and license key once, and your agent calls it.
- **Permission scoping:** AvaTax scopes some resources by URL path, such as /api/v2/accounts/{id} and /api/v2/companies/{companyId}/customers, so a rule can name a company, while calculation calls carry their lines in the request body. You choose which operations the agent may call, so it can calculate tax or resolve an address while a company or account deletion is not included unless you add it.
- **Credential handling:** Your Avalara account id and license key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'calculate sales tax for an order' or 'resolve an address', and Jentic returns the matching AvaTax operation with its input schema for transaction lines, addresses, and tax overrides so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **TaxJar** — TaxJar offers SMB-focused sales-tax calculation and returns automation as a lighter-weight alternative to AvaTax.
- **Stripe** — Pair Stripe Payments with AvaTax to calculate jurisdiction-accurate tax on charges and invoices.
- **Shopify Admin** — Sync Shopify orders into AvaTax for committed transaction records and returns preparation.
- **Xero Accounting** — Push AvaTax-calculated invoices into Xero so tax liability appears in the general ledger.

## FAQ

### What authentication does the AvaTax API use?

AvaTax uses HTTP Basic authentication with the account ID as the username and a license key as the password. Through Jentic, the account ID and license key live in your Jentic One instance - agents receive scoped access rather than the raw license key.

### Can I calculate tax for international transactions with the AvaTax API?

Yes. POST /api/v2/transactions/create supports VAT, GST, and country-specific consumption taxes when the ship-from and ship-to addresses are international and the company has the relevant nexus configured. The same endpoint handles US sales tax.

### What are the rate limits for the AvaTax API?

Avalara enforces per-account throttling that scales with subscription tier; production accounts typically allow several hundred transactions per second. Watch for HTTP 429 responses and respect the Retry-After header - heavy bulk loads should use the batch endpoints instead of single-transaction calls.

### How do I commit a transaction through Jentic?

Search Jentic for 'commit a tax transaction', load the schema for the AvaTax commit operation under /api/v2/companies/{companyCode}/transactions/{transactionCode}/commit, and execute with commit=true. Committed transactions are immutable and roll into the next reporting period.

### Is the AvaTax sandbox free to use?

Avalara provides a free sandbox at https://sandbox-rest.avatax.com for development and testing with separate sandbox credentials. Production calculation and returns filing are paid based on transaction volume and jurisdictions filed.

### Can I look up a tax code for a product through the AvaTax API?

Yes. GET /api/v2/definitions/taxcodes returns the Avalara tax-code catalog, and the company-level tax-code endpoints let you map your SKUs to those codes so calculations apply the right taxability rules.

### Can I limit what my agent is allowed to do with the AvaTax API?

Yes. Because Jentic One is self-hosted, you decide which of the 432 AvaTax operations your agent may call, so you can allow it to create transactions or resolve an address while excluding company or account deletion. Some resources are scoped by URL path, such as /api/v2/accounts/{id} and /api/v2/companies/{companyId}/customers, so a rule can pin the agent to a specific company or account. Your Avalara account ID and license key stay in your own Jentic One instance and are injected only at execution time, never in the agent's prompt or context.
