Authenticate to the AvaTax REST v2 API using basic auth (account number and license key as username:password) or bearer token; base URL is https://rest.avatax.com/api/v2.
Fetch all committed transactions for the reconciliation period using GET /api/v2/companies/{companyCode}/transactions with query parameters $filter=date ge 'YYYY-MM-DD' and date le 'YYYY-MM-DD' and status eq 'Committed'; paginate using $top and $skip until all records are returned.
Aggregate the taxAmount field by taxCode and jurisdictionName from the transaction line details to produce an AvaTax liability summary by jurisdiction and tax type for the period.
Pull the corresponding GL tax liability balances from your ERP (e.g., via the QBO BalanceSheet report API, Xero Accounts endpoint, or a SuiteQL query) for the same accounts and period.
Join the AvaTax summary to the GL balances on jurisdiction and tax type; flag any difference exceeding your materiality threshold as a reconciling item for investigation.
Check the company's filing status using GET /api/v2/companies/{companyCode}/filings and GetFilingStatus to confirm which periods have been filed; exclude already-filed periods from the open liability reconciliation to avoid double-counting.
Known gotchas
Transactions in AvaTax that were voided or adjusted after period-end appear with status 'Voided' or 'Adjusted' and can change the liability balance; always re-pull committed transactions close to the filing date to capture late adjustments.
AvaTax uses its own jurisdiction codes that may not map 1:1 to your GL tax accounts; maintain a jurisdiction-to-GL account mapping table and validate it whenever new nexus is registered, as Avalara adds and updates jurisdictions.
The ListTransactionsByCompany endpoint returns transaction-level data; for high-volume companies the response can be very large — use the $filter and $select parameters to limit returned fields and always paginate rather than attempting a single unbounded request.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp