OpenSalesTax
github.com
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
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
- Tax Engine Software#3 of 288.7