Skip to content
SPECIFICTION
Get listed

OpenSalesTax

github.com

Free plan Open source WebmacOSLinuxAPISelf-hosted
Visit github.com
Spec score 8.7 #3 of 28 in Tax Engine Software

What it is

OpenSalesTax is a free, self-hosted API that calculates sales tax for US transactions using public data and per-state modules. The project says its modules cover 52 jurisdictions, while each published data dump includes all 48 jurisdictions that impose sales tax. The API calculates tax on line items and can break results down by state, county, city, or district. Documented item categories include general goods, clothing, groceries, prescription drugs, prepared food, and digital goods. Its data comes from Streamlined Sales Tax files and state Department of Revenue publications, rather than paid tax feeds. The engine can be installed from source or run with Docker; PostgreSQL is the default, with optional MariaDB support. Access defaults to open with per-IP rate limiting, or can use API keys with per-key limits and usage tracking. Release dumps reflect the SST quarterly file current at release, and the project documents loading newer data. It identifies incomplete sub-state tax stacking for Colorado home-rule cities and Louisiana parish-level collectors. The project says its calculations are not legal or tax advice and advises checking results with the relevant state Department of Revenue before remitting.

Spec sheet

What it does
OpenSalesTax calculates destination-based U.S. sales tax through an open-source API using public Streamlined Sales Tax data and state-specific contributor modules.Read 15 Oct 2026 · github.com
Purpose
OpenSalesTax calculates how much sales tax to charge on US transactions using public data and per-state modules.Read 4 Oct 2026 · github.com
Deployment
Users can install from source with Poetry and PostgreSQL or run the stack with Docker Compose.Read 15 Oct 2026 · github.com
License
The engine is released under the Apache License 2.0.Read 15 Oct 2026 · github.com
Adoption status
The public users registry says there are no listed self-hosters or integrators yet and that OpenSalesTax is pre-1.0.Read 4 Oct 2026 · github.com
Advice disclaimer
The project describes its output as calculation only, not legal or tax advice, and tells users to verify results with their state revenue department.Read 15 Oct 2026 · github.com
API access
Authentication defaults to open access with per-IP rate limiting, while an API-key mode requires an X-API-Key header and supports per-key rate limits and usage tracking.Read 4 Oct 2026 · github.com
API endpoints
The documented API exposes health, jurisdiction coverage, ZIP-based rates, and POST tax calculations under version 1 routes.Read 15 Oct 2026 · github.com
Calculations
The API calculates tax for line items and can return a breakdown by state, county, city, or district jurisdiction.Read 4 Oct 2026 · github.com
Contributions
Contributors must sign commits using the Developer Certificate of Origin process.Read 15 Oct 2026 · github.com
Coverage
The project says it has modules for 52 jurisdictions, with all 48 sales-taxing jurisdictions loaded into each published data dump.Read 4 Oct 2026 · github.com
Coverage limitation
Colorado home-rule cities and Louisiana parish-level collectors are not fully represented, so sub-state stacking is incomplete there.Read 15 Oct 2026 · github.com
Data refresh
Operators can bypass the bundled dump and fetch and load newer state data directly from upstream sources.Read 15 Oct 2026 · github.com
Data sources
The project uses Streamlined Sales Tax files and state Department of Revenue publications, and says it does not ingest paid tax data feeds.Read 4 Oct 2026 · github.com
Data-release limitation
Release dumps before v0.59.0 omitted 23 taxing states and require restoration from a corrected asset.Read 15 Oct 2026 · github.com
Database support
MariaDB is available through an optional installation extra, but the bundled release dump is PostgreSQL COPY format.Read 15 Oct 2026 · github.com
Docker limitation
The published runtime image lacks the psql client, so the documented data-restore command fails in the container until that package is added.Read 15 Oct 2026 · github.com
Holiday rules
The engine includes holiday-aware calculations, illustrated by a Texas clothing exemption example.Read 15 Oct 2026 · github.com
Hosting
The engine can be installed from source or run with Docker and requires PostgreSQL by default; MariaDB support is available as an optional extra.Read 4 Oct 2026 · github.com
Independent limitation
WiserReview says users must host and update the engine, handle remittance themselves, and that marketplace and multi-vendor allocation are not covered.Read 15 Oct 2026 · wiserreview.com
Independent pricing assessment
WiserReview lists the engine and WooCommerce plugin at $0 software cost, with hosting and maintenance left to the user.Read 15 Oct 2026 · wiserreview.com
Item categories
Documented categories include general, clothing, groceries, prescription drugs, prepared food, and digital goods.Read 4 Oct 2026 · github.com
Jurisdiction detail
Calculation responses break tax into state, county, city, and district jurisdictions so totals can be reconciled.Read 15 Oct 2026 · github.com
Limitations
The project identifies incomplete sub-state tax stacking for Colorado home-rule cities and Louisiana parish-level collectors.Read 4 Oct 2026 · github.com
Magento integration
The Magento 2 module supports U.S.-destination, USD checkouts and can fail back to Magento tax tables when the engine is unavailable.Read 15 Oct 2026 · packagist.org
Maker identity
The repository identifies Eric Osterberg as the initial project maintainer responsible for direction and license decisions.Read 15 Oct 2026 · github.com
Medusa integration
The Medusa provider returns one tax line per line-item and jurisdiction and silently skips non-U.S., non-USD, or invalid-ZIP inputs.Read 15 Oct 2026 · github.com
OpenAPI documentation
Swagger UI, ReDoc, and an OpenAPI JSON specification are available from the running API.Read 15 Oct 2026 · github.com
Package adoption
Packagist reports 444 installs and 11 dependents for the PHP SDK.Read 15 Oct 2026 · packagist.org
Package issue status
Packagist shows zero open issues for the PHP SDK package.Read 15 Oct 2026 · packagist.org
Package release date
Packagist lists PHP SDK version 0.3.0 as published on May 19, 2026.Read 15 Oct 2026 · packagist.org
Package security
Packagist reports zero security advisories for the PHP SDK package.Read 15 Oct 2026 · packagist.org
PHP SDK
The PHP client is an approximately 200-line stateless wrapper around the v1 HTTP API and does not implement business logic or caching.Read 15 Oct 2026 · packagist.org
PHP SDK maturity
Packagist describes the SDK as v0.1 alpha, with a stable API surface tested against engine versions 0.14 through 0.24.Read 15 Oct 2026 · packagist.org
PHP SDK requirements
The PHP SDK requires PHP 8.2 or newer, Guzzle 7.8 or newer, and PSR HTTP Client 1.x.Read 15 Oct 2026 · packagist.org
Prebuilt data
Each release includes an approximately 47 MiB compressed PostgreSQL dump intended to make a fresh installation usable in under two minutes.Read 15 Oct 2026 · github.com
Python SDK
The Python client is installable with pip and depends on eval-type-backport, httpx, and pydantic.Read 15 Oct 2026 · piwheels.org
Python SDK release
Piwheels lists version 0.1.2 as released on May 6, 2026.Read 15 Oct 2026 · piwheels.org
Saleor integration
The Saleor connector routes checkout and order tax webhooks through a merchant-hosted OpenSalesTax engine.Read 15 Oct 2026 · app.unpkg.com
Support and community
The project invites users to report incorrect rates or adopt a state, and directs contributors to its GitHub contributing guide.Read 4 Oct 2026 · github.com
System requirements
The source installation requires Python 3.11 or newer, a reachable PostgreSQL server, and the psql client.Read 15 Oct 2026 · github.com
Tax categories
The API recognizes general, clothing, groceries, prescription drugs, prepared food, and digital goods categories with state-specific taxability rules.Read 15 Oct 2026 · github.com
Tax scope
The engine covers 52 registered jurisdictions, including 50 states, Washington, D.C., and Puerto Rico; 48 levy sales tax.Read 15 Oct 2026 · github.com
WooCommerce integration
A companion WooCommerce plugin replaces built-in checkout tax calculation with calls to a self-hosted engine and supports per-jurisdiction tax lines.Read 15 Oct 2026 · github.com

Plans and prices

Free / open source Free Apache 2.0 · self-hostable · US sales tax calculation API Read 4 Oct 2026 · github.com
Free self-hosted engine Free Docker or source deployment · REST API · hosting and maintenance are your responsibility Read 15 Oct 2026 · wiserreview.com

Every OpenSalesTax plan and price →

Strong points and limits

Strong points

  • Calculates line-item tax with jurisdiction breakdowns.
  • Supports multiple documented item categories.
  • Uses public government and SST data sources.
  • Offers API-key limits and usage tracking.
  • Free and self-hostable under Apache 2.0.

Limits

  • Sub-state tax stacking is incomplete in specified areas.
  • Docker restore fails without adding the psql client or using source installation.
  • Calculations are not legal or tax advice.
  • Project is pre-1.0.

Who it suits

OpenSalesTax may suit developers or operators seeking a self-hosted API for US sales-tax calculations using public data. Users needing complete sub-state tax stacking in the named Colorado or Louisiana cases should note the stated limitations.

Verdict

OpenSalesTax provides a self-hosted calculation API with configurable access controls and documented data-refresh steps. Its stated sub-state limitations and tax-advice disclaimer matter when evaluating whether it fits a transaction workflow.

Where Specifiction places it

Alternatives to OpenSalesTaxAll alternatives →