Sales Tax Automation arenaSales Tax Automation
Sales tax, VAT, and GST automation — calculation at checkout, economic-nexus monitoring, registrations, filing and remittance — judged on rooftop-accurate calculation APIs, threshold tracking before it becomes back taxes, product taxability (SaaS rules are the hard part), exemption certificates, global VAT with reverse charge, filing guarantees, audit-ready reporting, and agent access to tax state. The market structure is the story: Stripe owns TWO ranked products here — Stripe Tax and TaxJar (acquired 2021, still sold standalone at $39-$99/month for US-only SMBs and powering Stripe Tax’s US filing) — while Avalara (private under Vista, IPO filed but not completed, now branded "Agentic Tax and Compliance" with five hosted MCP servers) anchors the incumbent end and AI-native challengers Anrok, Numeral (YC W23, Benchmark/Mayfield-backed), and Kintsugi (Vertex holds a ~10% strategic stake) fight for the SaaS mid-market. Vertex and Sovos are excluded as enterprise compliance suites bought by tax departments, Paddle and Lemon Squeezy as merchants of record, Quaderno on compliance depth, and Sphere (YC W22, a16z-backed) sits just under the bar until its API goes self-serve.
53 user stories · 318 judged cells · updated 2026-09-15 · Evidence as of 2026-09-15
Leaderboard — every product ranked by evidenceLeaderboard
| 1 | usage-based vs Avalara AvaTax ↗ | 43/100 | 11/100 | 11/100 | 25/100 | 0/100 | 17/28 verified · 7 disputed | 0/100 integrity | |||
| 2 | subscription-flat vs Stripe Tax ↗ | 48/100 | 21/100 | 4/100 | 10/100 | 3/100 | npm 118.7k/wkpypi 30k/wk | 11/24 verified | 40/100 integrity | ||
| 3 | usage-based vs Stripe Tax ↗ | 43/100 | 21/100 | 7/100 | 14/100 | 0/100 | npm 5/wkpypi 31/wk | 9/27 verified | 42/100 integrity | ||
| 4 | usage-based vs Stripe Tax ↗ | 44/100 | 11/100 | 9/100 | 14/100 | 5/100 | npm 14/wkpypi 1/wk | 12/29 verified · 1 disputed | 36/100 integrity | ||
| 5 | subscription-flat vs Stripe Tax ↗ | 21/100 | 38/100 | 10/100 | 14/100 | 7/100 | 5/27 verified | 0/100 integrity | |||
| 6 | subscription-flat vs Stripe Tax ↗ | 26/100 | 5/100 | 5/100 | 12/100 | 5/100 | npm 67.5k/wkpypi 26.4k/wk | 8/16 verified | 50/100 integrity |
Best by user type — persona-weighted winnersBest by user type
Per persona, the product with the highest persona-weighted coverage over just that persona's stories — not the same ranking as the overall PA Score leaderboard above.
Story matrix — every product × every judged storyStory matrix
Agenticness — how well agents can access and operate the productAgenticness
Agent access
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs | ai-native | fullT 8/10 | fullT 8/10 | none 0/10 | none 0/10 | fullT 9/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productRun the product headlessly / in CI for automation | ai-native | partialT 6/10 | partialC 6/10 | fullT 7/10 | fullT 6/10 | partialT 4/10 | partialT 6/10 |
| Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their tools | ai-native | n/a | n/a | n/a | n/a | n/a | n/a |
| Agenticness — how well agents can access and operate the productConnect an agent via an official MCP server | ai-native | partialT 6/10 | fullT 8/10 | none 0/10 | none 0/10 | fullT 8/10 | partialT 6/10 |
| Agenticness — how well agents can access and operate the productUse an official CLI | ai-native | fullT 7/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productDrive the product through a documented public API | ai-native | fullT 8/10 | fullT 8/10 | fullT 8/10 | fullT 7/10 | fullT 8/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 |
| Agenticness — how well agents can access and operate the productBuild against official SDKs | ai-native | partialT 5/10 | fullT 8/10 | none 0/10 | fullT 7/10 | partialT 6/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productSubscribe to events via webhooks | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Agentic features
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productGet AI-generated insights and suggestions from my data inside the product | ai-native | none 0/10 | partialC 5/10 | fullC 7/10 | none 0/10 | partialC 5/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the background | ai-native | partialT 3/10 | none 0/10 | partialC 4/10 | partialC 4/10 | partialC 5/10 | partialT 5/10 |
| Agenticness — how well agents can access and operate the productDelegate tasks to a built-in AI assistant inside the product | ai-native | none 0/10 | partialT 3/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productOperate the product with natural-language commands | ai-native | partialT 5/10 | partialT 6/10 | partialC 5/10 | none 0/10 | partialT 6/10 | partialT 3/10 |
Api quality
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examples | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialT 4/10 |
| Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent) | ai-native | none 0/10 | none 0/10 | partialT 6/10 | none 0/10 | none 0/10 | disputedD 3/10 |
| Agenticness — how well agents can access and operate the productTest against a sandbox environment without touching production data | ai-native | fullT 8/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy | ai-native | none 0/10 | none 0/10 | none 0/10 | partialT 3/10 | partialC 4/10 | none 0/10 |
Automation depth — how much of the product can run unattendedAutomation depth
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Automation depth — how much of the product can run unattendedPerform bulk operations across many items at once | ai-native | none 0/10 | partialC 2/10 | partialC 4/10 | partialC 3/10 | none 0/10 | partialC 3/10 |
| Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events | ai-native | n/a | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows | ai-native | n/a | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Automation depth — how much of the product can run unattendedVersion, review, and roll back my automations | ai-native | n/a | none 0/10 | n/a | n/a | none 0/10 | n/a |
Exemption certificates — stories about exemption certificates in this arenaExemption certificates
Certificate management
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Exemption certificates — stories about exemption certificates in this arenaExemption and resale certificates are managed end to end — collected from customers, validated, stored with expiry tracking, and applied automatically at calculation time | ops | none 0/10 | partialC 5/10 | partialC 5/10 | none 0/10 | partialC 7/10 | partialC 4/10 |
Exempt customers
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Exemption certificates — stories about exemption certificates in this arenaMark a customer or transaction exempt through the API — with the exemption reason carried through calculation, reporting, and the filed return | developer | none 0/10 | partialC 3/10 | partialC 3/10 | none 0/10 | partialC 4/10 | partialC 5/10 |
Filing remittance — stories about filing remittance in this arenaFiling remittance
Autofile
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Filing remittance — stories about filing remittance in this arenaReturns are prepared, filed, and remitted automatically in every registered jurisdiction — on time, with the vendor's guarantee covering penalties if it files late | finance-lead | disputedD 2/10 | none 0/10 | partialC 3/10 | partialC 6/10 | partialC 6/10 | partialC 5/10 |
Filing visibility
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Filing remittance — stories about filing remittance in this arenaSee the whole filing picture — a calendar of upcoming returns, per-filing status, the amounts remitted, and downloadable confirmations for every return submitted | ops | none 0/10 | none 0/10 | partialC 3/10 | none 0/10 | partialC 4/10 | partialC 3/10 |
Global vat — stories about global vat in this arenaGlobal vat
Invoice compliance
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Global vat — stories about global vat in this arenaInvoices come out compliant where I sell — required VAT fields, registration numbers, and locale rules flow through to my invoicing system or are generated by the product itself | ops | disputedD 5/10 | partialX 5/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 |
Vat coverage
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Global vat — stories about global vat in this arenaVAT and GST are covered like US sales tax — EU OSS/IOSS, UK, Canada, Australia and beyond, with foreign registration thresholds tracked and filings supported | founder | disputedD 4/10 | partialX 6/10 | partialC 6/10 | none 0/10 | partialC 4/10 | none 0/10 |
Vat validation
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Global vat — stories about global vat in this arenaB2B cross-border sales are handled correctly — VAT and tax IDs validated against official registries in real time, reverse charge applied when it should be | developer | disputedD 4/10 | none 0/10 | none 0/10 | none 0/10 | partialC 3/10 | none 0/10 |
Nexus monitoring — stories about nexus monitoring in this arenaNexus monitoring
Exposure analysis
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Nexus monitoring — stories about nexus monitoring in this arenaImport my historical transactions and see where I already owe — a backdated exposure analysis with estimated liability, penalties, and interest per jurisdiction | finance-lead | partialC 3/10 | none 0/10 | none 0/10 | none 0/10 | partialC 3/10 | partialC 5/10 |
Threshold tracking
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Nexus monitoring — stories about nexus monitoring in this arenaThe product watches my economic nexus exposure — tracking sales and transaction counts against every state and country threshold and alerting me before I cross one, not after | founder | partialC 5/10 | none 0/10 | partialC 6/10 | partialC 6/10 | partialC 6/10 | partialC 6/10 |
Openness — open source, data portability, and self-hosting storiesOpenness
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Openness — open source, data portability, and self-hosting storiesDo everything through the API that I can do in the UI | ai-native | partialT 6/10 | partialT 6/10 | partialT 6/10 | partialT 5/10 | partialT 6/10 | partialT 6/10 |
| Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leave | ai-native | partialC 3/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Openness — open source, data portability, and self-hosting storiesRead the product's source under an open license | ai-native | n/a | none 0/10 | n/a | n/a | n/a | n/a |
| Openness — open source, data portability, and self-hosting storiesSelf-host the core product | ai-native | n/a | n/a | n/a | n/a | n/a | n/a |
Privacy posture — data-handling and privacy storiesPrivacy posture
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Privacy posture — data-handling and privacy storiesChoose where my data is stored (region/residency) | ai-native | n/a | none 0/10 | none 0/10 | none 0/10 | n/a | n/a |
| Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models | ai-native | n/a | n/a | none 0/10 | n/a | n/a | n/a |
| Privacy posture — data-handling and privacy storiesControl data retention and deletion | ai-native | n/a | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesOpt out of telemetry and usage tracking | ai-native | n/a | none 0/10 | n/a | n/a | none 0/10 | n/a |
Product taxability — stories about product taxability in this arenaProduct taxability
Marketplace rules
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Product taxability — stories about product taxability in this arenaMarketplace sales are modeled correctly — transactions where a facilitator (Amazon, app stores) collected the tax are tracked for nexus and reporting without being double-remitted | finance-lead | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Saas rules
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Product taxability — stories about product taxability in this arenaThe product gets the hard cases right — SaaS taxability that differs by state, digital-goods rules, and bundled offerings — with the research behind each determination visible | founder | disputedD 4/10 | partialC 5/10 | partialC 5/10 | none 0/10 | none 0/10 | partialC 3/10 |
Tax codes
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Product taxability — stories about product taxability in this arenaMap my catalog to the vendor's tax categories — SaaS, digital goods, services, physical products — so each line item is taxed by what it is, in every jurisdiction it sells | developer | partialX 6/10 | fullC 7/10 | partialC 6/10 | partialC 6/10 | partialC 4/10 | partialC 6/10 |
Tax agent access — stories about tax agent access in this arenaTax agent access
Agent operations
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax agent access — stories about tax agent access in this arenaAn agent can read my tax posture — nexus status, registrations, accrued liability, upcoming filings — and act on it through the API or an MCP surface with scoped credentials | ai-native | partialT 4/10 | partialT 6/10 | partialT 4/10 | partialT 3/10 | fullT 8/10 | partialT 5/10 |
Builtin ai
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax agent access — stories about tax agent access in this arenaThe product ships its own AI for tax questions — is this product taxable in this state, why did this invoice tax this way — answering from its rule base with citations, not a generic chatbot | founder | none 0/10 | none 0/10 | fullC 7/10 | none 0/10 | none 0/10 | none 0/10 |
Tax calculation — stories about tax calculation in this arenaTax calculation
Accuracy guarantee
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax calculation — stories about tax calculation in this arenaThe vendor stands behind its numbers — a documented accuracy guarantee or audit support commitment if a calculation it produced turns out wrong | finance-lead | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Calculation api
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax calculation — stories about tax calculation in this arenaCalculate the right sales tax for a transaction through an API in real time — address-level (rooftop) accuracy, not ZIP-code approximations — fast enough to sit inside checkout | developer | partialX 6/10 | fullC 7/10 | partialC 7/10 | partialT 5/10 | partialT 6/10 | partialT 6/10 |
Integrations
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax calculation — stories about tax calculation in this arenaThere are maintained integrations for my revenue stack — billing systems, payment processors, and commerce platforms feed transactions in without me building the plumbing | developer | partialX 5/10 | partialC 3/10 | partialC 5/10 | fullC 7/10 | partialC 6/10 | partialC 6/10 |
Rate maintenance
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax calculation — stories about tax calculation in this arenaRate and rule changes across thousands of jurisdictions are the vendor's job — updates land automatically, are documented when they take effect, and never require me to redeploy | ops | partialX 7/10 | partialC 5/10 | none 0/10 | partialC 4/10 | partialC 5/10 | partialC 4/10 |
Tax registrations — stories about tax registrations in this arenaTax registrations
Registration filing
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax registrations — stories about tax registrations in this arenaRegistering for a sales tax permit is handled in-product — the vendor files state and local registrations on my behalf with transparent per-registration pricing and status tracking | ops | disputedD 4/10 | none 0/10 | partialC 4/10 | none 0/10 | partialC 6/10 | partialC 5/10 |
Remediation
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax registrations — stories about tax registrations in this arenaPast-due exposure has a remediation path — voluntary disclosure agreements or back-filing support to clean up jurisdictions where I should have been collecting | finance-lead | disputedD 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialC 4/10 |
Tax reporting — stories about tax reporting in this arenaTax reporting
Adjustments
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax reporting — stories about tax reporting in this arenaRefunds and credit notes adjust tax correctly — negative amounts flow through liability, reporting, and the next filing without manual journal fixes | developer | none 0/10 | none 0/10 | partialC 6/10 | none 0/10 | none 0/10 | none 0/10 |
Audit trail
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax reporting — stories about tax reporting in this arenaEvery calculation is reconstructable — the rate, rules, address resolution, and product category that produced each transaction's tax, retained and exportable for an audit | ops | partialC 6/10 | partialC 5/10 | partialC 6/10 | none 0/10 | partialC 5/10 | partialC 3/10 |
Channel imports
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax reporting — stories about tax reporting in this arenaTransactions from every channel can be imported — API backfills and connector syncs from other processors and storefronts — so filings cover my whole business, not just one integration | developer | partialT 4/10 | partialC 5/10 | partialC 6/10 | fullT 7/10 | partialC 5/10 | partialT 6/10 |
Liability reports
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tax reporting — stories about tax reporting in this arenaSee accrued liability by jurisdiction at any moment — collected versus owed, filing-ready detail, and exports my accountant and GL can consume | finance-lead | partialX 5/10 | partialX 3/10 | partialC 5/10 | partialC 3/10 | partialC 4/10 | partialC 6/10 |
Adjacent arenas — categories often shopped togetherAdjacent arenas
Shopping this category often means shopping these too.