US SaaS taxability
US SaaS taxability
Now dataset-backed. SaaS (
digital_service) taxability — and 24 other product categories — comes from the us-tax-data dataset by default, across all states. The curatedStaticProductTaxabilitymap described below is the fallback used when the dataset is disabled (or for US pairs it leaves undetermined).
Whether SaaS / cloud software is subject to US sales tax varies state by state.
The engine ships a curated StaticProductTaxability override map for the
digital_service category, keyed "US-XX:digital_service" => taxable, bound by
default. It covers only states with clear, citable guidance; states where the
guidance conflicts, is local/home-rule-only, or is conditional/partial in a way a
boolean cannot represent, are deliberately absent and throw
UnresolvedProductTaxability so an operator configures them.
Not a substitute for tax advice. The determinations below are drawn from authoritative, dated practitioner compilations, not from reading each statute. SaaS taxability is nuanced (bundling, delivery method, home-rule localities, B2B vs B2C) and changes. Verify with your tax advisor before relying on this in production.
Rates are state-precision by default. Where SaaS is taxable, the dataset rate source returns the state rate at
Confidence::Derived; local city/county/special-district components are stacked only when a rooftop locality is resolved (experimental, off by default). With the dataset disabled, theStaticTaxRateSourceinstead refusesUS:*:digital_serviceunless a category-specific rate band is bound.
Sources
The map is curated from two recognised, dated SaaS-by-state compilations, retrieved 2026-07-17; only states where both agree on a clear taxable/exempt outcome are shipped:
| Source | URL |
|---|---|
| TaxJar — "Software-as-a-service (SaaS) sales tax by state" | https://www.taxjar.com/sales-tax/saas-sales-tax |
| Anrok — "SaaS sales tax by state" | https://www.anrok.com/saas-sales-tax-by-state |
Shipped — taxable (18 jurisdictions)
SaaS treated as taxable for the digital_service category. Citation: both
compilations above concur (retrieved 2026-07-17).
| State | Note |
|---|---|
| US-AZ Arizona | |
| US-CT Connecticut | Business use taxed at 1%, personal at the full rate; the map records "taxable" |
| US-DC District of Columbia | |
| US-HI Hawaii | General excise tax applies broadly |
| US-KY Kentucky | Taxable since 2023 |
| US-LA Louisiana | Taxable at state level; parish-level rules add complexity |
| US-MA Massachusetts | |
| US-NM New Mexico | Gross receipts tax applies broadly |
| US-NY New York | |
| US-PA Pennsylvania | |
| US-RI Rhode Island | |
| US-SC South Carolina | |
| US-SD South Dakota | |
| US-TN Tennessee | |
| US-UT Utah | |
| US-VT Vermont | |
| US-WA Washington | |
| US-WV West Virginia |
Shipped — exempt (26 jurisdictions)
SaaS treated as not taxable at the state level for the digital_service
category. Citation: both compilations concur (retrieved 2026-07-17).
| State | Note |
|---|---|
| US-AR Arkansas | |
| US-CA California | No transfer of tangible personal property |
| US-CO Colorado | State-level exempt; home-rule cities (e.g. Denver) may tax |
| US-FL Florida | |
| US-GA Georgia | |
| US-ID Idaho | |
| US-IL Illinois | State-level exempt; Chicago's lease-transaction tax may apply |
| US-IN Indiana | |
| US-KS Kansas | |
| US-ME Maine | |
| US-MI Michigan | Downloadable components may still be taxable |
| US-MN Minnesota | |
| US-MO Missouri | |
| US-NE Nebraska | |
| US-NV Nevada | |
| US-NJ New Jersey | |
| US-NC North Carolina | |
| US-ND North Dakota | |
| US-OK Oklahoma | |
| US-VA Virginia | |
| US-WI Wisconsin | |
| US-WY Wyoming | |
| US-DE Delaware | No general statewide sales tax |
| US-MT Montana | No general statewide sales tax |
| US-NH New Hampshire | No general statewide sales tax |
| US-OR Oregon | No general statewide sales tax |
Undetermined — operator configures (throws)
These are not in the shipped map. StaticProductTaxability throws
UnresolvedProductTaxability for these jurisdictions. You must configure these
before invoicing SaaS in them; do not rely on a default.
| State | Why undetermined |
|---|---|
| US-AL Alabama | Sources conflict (one taxable, one exempt) |
| US-MS Mississippi | Sources conflict (recent law change) |
| US-TX Texas | Partial: SaaS is a data-processing service, 80% taxable / 20% exempt — not a boolean |
| US-IA Iowa | Conditional on B2B vs B2C (exempt for business use) |
| US-OH Ohio | Conditional on B2B vs B2C (taxable for business use) |
| US-MD Maryland | Conditional: business use taxed at a reduced rate, personal use fully taxable |
| US-AK Alaska | No statewide sales tax; home-rule localities set their own SaaS rules |
Representative primary-source constraints behind the "undetermined" bucket:
| State | Primary-source constraint |
|---|---|
| US-TX Texas | Texas Comptroller guidance treats data processing as taxable with 20% of the charge exempt, so a plain taxable/exempt boolean is not enough. See https://comptroller.texas.gov/taxes/publications/94-127.php. |
| US-OH Ohio | Ohio taxes automatic data processing / computer / electronic information services when provided for business use, so customer/use context matters. See https://tax.ohio.gov/wps/portal/gov/tax/business/ohio-business-taxes/sales-and-use/information-releases/index-sales/st199904-archive3. |
| US-MD Maryland | Maryland distinguishes non-commercial SaaS from commercial-use software/SaaS, with further enterprise-computer-system analysis. See https://marylandtaxes.gov/forms/Business_Tax_Tips/bustip29.pdf. |
Scope of the map
- Covers the
digital_servicecategory only. Tangible goods (standard) remain taxable-by-default, which is generally correct. - Determinations are state-level. Home-rule localities (Chicago; Colorado home-rule cities) may tax SaaS even where the state does not — resolving those needs rooftop resolution the package does not yet ship a crosswalk for.
- Taxable state-level SaaS resolves at the state rate. With the dataset
disabled and no category-specific band bound, the engine throws
UnresolvedTaxRaterather than applying an illustrative base rate. - Override any entry, or supply your own full map, by binding
Cbox\Tax\Contracts\ProductTaxability.