Avalara Transactions API

Manage tax transactions

Business capability
Indirect Tax Management BC-220.20

Operations 30

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /transactions List VAT reporting transactions · Avalara List Transactions #
Ask an LLM
“Which VAT transactions have I submitted for reporting?”
“Can I page through my VAT reporting transactions?”
Tell an agent
List my VAT reporting transactions.
Show VAT transactions page {page}, {pageSize} per page.
POST /transactions Submit transactions for VAT reporting · Avalara Submit VAT Transactions #
Ask an LLM
“How do I send a batch of sales to be included in my VAT returns?”
“Can I submit VAT transactions for a specific company?”
Tell an agent
Submit VAT transactions {transactions} for company {companyId}.
Send these sales {transactions} for VAT reporting.
POST /api/v2/transactions/create Calculate tax by creating a sales transaction · Avalara Create a New Transaction #
Ask an LLM
“How do I calculate sales tax on an order in AvaTax?”
“Can I calculate tax and commit the sale in the same call?”
Tell an agent
Create a {type} for company {companyCode}, customer {customerCode}, dated {date}, with lines {lines}.
Calculate and commit tax for customer {customerCode} in {companyCode}: {type} on {date}, lines {lines}, commit {commit}.
GET /api/v2/companies/{companyCode}/transactions/{transactionCode} Retrieve a sales transaction by code · Avalara Retrieve a Single Transaction by Code #
Ask an LLM
“Can I look up a sales transaction by its document code?”
“How much tax was charged on a specific invoice?”
Tell an agent
Get transaction {transactionCode} in company {companyCode}.
Show transaction {transactionCode} for {companyCode} including {include}.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/adjust Adjust a committed transaction · Avalara Adjust a Committed Transaction #
Ask an LLM
“Can I change a transaction that has already been committed?”
“What reason must I give when adjusting a committed invoice?”
Tell an agent
Adjust transaction {transactionCode} in {companyCode} for reason {adjustmentReason} using {newTransaction}.
Replace committed invoice {transactionCode} of {companyCode} with {newTransaction}, reason {adjustmentReason}, note {adjustmentDescription}.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/commit Commit a sales transaction for reporting · Avalara Commit a Transaction #
Ask an LLM
“How do I finalize a sales invoice so it is reported to tax authorities?”
“Can I commit an uncommitted transaction by its code?”
Tell an agent
Commit transaction {transactionCode} in company {companyCode}.
Set commit to {commit} on transaction {transactionCode} of {companyCode}.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/void Void a sales transaction · Avalara Void a Transaction #
Ask an LLM
“Can I void a transaction so it drops out of tax reporting?”
“What void reason code do I use when cancelling an invoice?”
Tell an agent destructive · confirm first
Void transaction {transactionCode} in company {companyCode} with reason {code}.
Cancel invoice {transactionCode} for {companyCode} as {code}.
POST /api/v2/transactions/{transactionCode}/refund Refund a committed transaction · Avalara Create a Refund for a Transaction #
Ask an LLM
“How do I issue a partial refund on a committed sale?”
“Can I refund only the tax on a transaction, or a percentage of it?”
Tell an agent
Refund transaction {transactionCode} as {refundTransactionCode} on {refundDate}, type {refundType}.
Refund {refundPercentage} percent of {transactionCode} as {refundTransactionCode} on {refundDate}, type {refundType}.
GET /Transactions List excise transactions · Avalara List Excise Transactions #
Ask an LLM
“Which excise transactions did I record last quarter?”
“Can I list excise tax transactions within a date range?”
Tell an agent
List excise transactions from {startDate} to {endDate}.
Show all my excise transactions.
POST /Transactions Record an excise transaction · Avalara Create an Excise Transaction #
Ask an LLM
“Can I record an excise transaction with its invoice number and total tax?”
“What fields go into a new excise transaction record?”
Tell an agent
Create an excise transaction for invoice {invoiceNumber} dated {transactionDate}.
Record excise transaction {transactionId} with total {totalAmount} and tax {totalTax}.
GET /Transactions/{transactionId} Retrieve an excise transaction · Avalara Retrieve an Excise Transaction #
Ask an LLM
“Can I pull up a single excise transaction by its ID?”
“What excise tax total was recorded on one transaction?”
Tell an agent
Get excise transaction {transactionId}.
Show the totals on excise transaction {transactionId}.
POST /api/v2/companies/transactions/lines/add Add lines to an unlocked transaction · Avalara AddLines #
Ask an LLM
“Can I append more line items to a transaction I already created?”
“Is there a way to build a very large transaction across several calls?”
Tell an agent
Add these new lines to my existing unlocked transaction.
Append extra line items to the open sales transaction and recalculate tax.
GET /api/v2/companies/{companyCode}/transactions/{transactionCode}/audit Audit how a transaction was created · Avalara AuditTransaction #
Ask an LLM
“Can I see the original API request and server timing behind a transaction?”
“When exactly did the server record a given transaction, and how long did it take?”
Tell an agent
Get the audit record for transaction {transactionCode} in company {companyCode}.
Show the original request and server timestamp for {transactionCode}.
GET /api/v2/companies/{companyCode}/transactions/{transactionCode}/types/{documentType}/audit Audit a transaction by code and document type · Avalara AuditTransactionWithType #
Ask an LLM
“How do I audit a transaction when two documents share the same code but differ in type?”
“Can I pull audit details for the return invoice rather than the sales invoice with that code?”
Tell an agent
Pull audit details for the {documentType} copy of {transactionCode} under company {companyCode}.
Audit document type {documentType} of transaction {transactionCode}.
POST /api/v2/transactions/lock Lock many transactions at once · Avalara BulkLockTransaction #
Ask an LLM
“Can I lock a whole set of documents by their IDs in one request?”
“Once transactions are bulk locked, can they still be voided?”
Tell an agent destructive · confirm first
Bulk lock these document IDs so they can no longer be voided.
Lock the listed transactions in a single batch.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/changecode Rename a transaction's code · Avalara ChangeTransactionCode #
Ask an LLM
“Can I change the document code on a saved or posted transaction?”
“What happens to a transaction's URL after I rename its code?”
Tell an agent
Change the code of transaction {transactionCode} in company {companyCode}.
Rename uncommitted transaction {transactionCode} to a new document code.
POST /api/v2/transactions/createoradjust Create a transaction or adjust it if it exists · Avalara CreateOrAdjustTransaction #
Ask an LLM
“How do I make transaction creation idempotent so a retry adjusts instead of duplicating?”
“Will sending the same document code again update the original transaction?”
Tell an agent
Create this transaction, or adjust the existing one if its code is already recorded.
Upsert the sales document by code so retries never create duplicates.
POST /api/v2/companies/transactions/lines/delete Delete lines from an unlocked transaction · Avalara DeleteLines #
Ask an LLM
“Can I remove specific line items from a transaction that is not locked?”
“Is there a way to drop a few lines and keep the rest of the transaction?”
Tell an agent destructive · confirm first
Remove these line numbers from my unlocked transaction.
Delete the listed lines from the existing sales document and recalculate.
GET /api/v2/companies/{companyCode}/AllVariance Get variance reports for a whole company · Avalara GetAllVarianceReportByCompanyCode #
Ask an LLM
“Where can I see the variance report for every transaction in a company?”
“Can I pull all variance results for one company code?”
Tell an agent
Get all variance reports for company {companyCode}.
Show the company-wide variance results for {companyCode}.
GET /api/v2/companies/{companyCode}/transactions/{transactionCode}/types/{documentType} Get a transaction by code and type (deprecated) · Avalara GetTransactionByCodeAndType #
Ask an LLM
“Is there still an older endpoint to fetch a transaction by code plus document type?”
“Can I retrieve the purchase invoice version of a code using the deprecated lookup?”
Tell an agent
Use the deprecated lookup to get {documentType} {transactionCode} in company {companyCode}.
Fetch transaction {transactionCode} of document type {documentType} via the legacy endpoint.
GET /api/v2/transactions/{id} Get a transaction by its numeric ID · Avalara GetTransactionById #
Ask an LLM
“Can I fetch a transaction using its internal ID number instead of its code?”
“Does looking up a transaction by ID return only the latest version?”
Tell an agent
Get transaction with ID {id}.
Look up the latest version of transaction number {id}.
GET /api/v2/companies/{companyCode}/transactions/{transactionId}/variance Get the variance report for one transaction · Avalara GetVarianceReportByCompanyCodeByTransactionId #
Ask an LLM
“Can I see the variance result for a single transaction?”
“What did the variance report find for one specific transaction ID?”
Tell an agent
Get the variance report for transaction {transactionId} in company {companyCode}.
Show variance details on transaction {transactionId}.
GET /api/v2/companies/{companyCode}/transactions List a company's sales tax transactions · Avalara ListTransactionsByCompany #
Ask an LLM
“Which AvaTax transactions did one company record in the last 30 days?”
“What is the maximum number of transactions returned per company listing?”
Tell an agent
List AvaTax transactions for company {companyCode}.
Show the past month of AvaTax documents recorded by {companyCode}.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/lock Lock a single transaction · Avalara LockTransaction #
Ask an LLM
“Can I simulate Returns locking one document so it can't be voided or adjusted?”
“What subscriptions do I need to lock a transaction in sandbox?”
Tell an agent destructive · confirm first
Lock transaction {transactionCode} in company {companyCode}.
Lock only document {transactionCode} so no one can void or adjust it.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/refund Refund a sale within a company · Avalara RefundTransaction #
Ask an LLM
“How do I create a return invoice for a sale recorded under a specific company code?”
“Can I refund selected lines of a company's sales invoice?”
Tell an agent
Create a refund for transaction {transactionCode} in company {companyCode}.
Issue a return invoice against {companyCode} sale {transactionCode}.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/settle Settle a transaction: rename, verify and commit · Avalara SettleTransaction #
Ask an LLM
“Can I change the code, verify totals and commit a transaction in one call?”
“Is there a single step that combines verifying and committing a sale?”
Tell an agent
Settle transaction {transactionCode} in company {companyCode}.
Verify, rename and commit {transactionCode} together as one settle action.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/uncommit Uncommit a transaction · Avalara UncommitTransaction #
Ask an LLM
“Can I move a committed transaction back to uncommitted?”
“Why can't a transaction already reported by Managed Returns be uncommitted?”
Tell an agent
Uncommit transaction {transactionCode} in company {companyCode}.
Return {transactionCode} to uncommitted status so it can be edited.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/unvoid Restore a voided transaction · Avalara UnvoidTransaction #
Ask an LLM
“Can I undo a void on a transaction I cancelled by mistake?”
“Is it possible to bring a voided invoice back into reporting?”
Tell an agent
Unvoid transaction {transactionCode} in company {companyCode}.
Reverse the void on document {transactionCode}.
POST /api/v2/companies/{companyCode}/variance Run a variance report for a company · Avalara VarianceReport #
Ask an LLM
“How do I submit transactions for a new variance report?”
“Can I generate a fresh variance report for one company code?”
Tell an agent
Run a variance report for company {companyCode}.
Submit these transactions to the {companyCode} variance check.
POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/verify Verify a transaction matches expected values · Avalara VerifyTransaction #
Ask an LLM
“Can I check that a transaction's date and totals match what my system expects?”
“What error comes back when a transaction doesn't match the expected values?”
Tell an agent
Verify transaction {transactionCode} in company {companyCode} against my expected totals.
Confirm that {transactionCode} matches the amount and tax my ledger shows.

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avalara:avalara-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

avalara-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Avalara Transactions API
  version: '1.0'
  description: 'Operations tagged Transactions across 5 of this provider''s published API definitions: avalara-avatax-brazil-openapi.yml, avalara-avatax-rest-openapi.yml, avalara-excise-openapi.yml, avalara-vat-reporting-openapi.yml, avatax-apis-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://avataxbr-sandbox.avalarabrasil.com.br/v3
  description: AvaTax Brazil Sandbox
- url: https://rest.avatax.com
  description: AvaTax Production
- url: https://sandbox-rest.avatax.com
  description: AvaTax Sandbox
- url: https://exciseapi.avalara.com/api/v1
  description: Excise API Production
- url: https://api.avalara.com/vat-reporting/v1
  description: VAT Reporting API Production
- url: http://{{baseurl}}
tags:


# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avalara/refs/heads/main/openapi/avalara-transactions-api-openapi.yml