
In simple English
This program calculates US sales tax for any ZIP code and purchase amount. It helps online stores charge the right amount of tax without paying for expensive commercial services. You run it on your own server using Docker or Python. It uses free public tax data, so you need to check rates against official state websites before filing your taxes.
What it is
An open-source US sales tax calculation API that covers fifty states, Washington DC, and Puerto Rico. It combines public data from the Streamlined Sales Tax project with state-specific modules to return tax rates and breakdowns.
What it is good for
Solo builders and small business owners who sell goods across the United States and need an API to calculate sales tax on checkouts without paying monthly fees to commercial providers.
- Runs on your own server for free with no per-request charges or API limits.
- Pre-built database dumps let you set up all states in under two minutes.
- Provides detailed tax breakdowns split by state, county, city, and special districts.
- Requires a running PostgreSQL database and familiarity with the command line.
- Does not constitute official tax or legal advice, so you must verify rates.
- Some states with complex local rules like Colorado and Louisiana have incomplete local stacking.
Paid commercial sales tax APIs like TaxJar or Avalara
A shopping cart or checkout API running on PostgreSQL
- taxjar/taxjar-python30 stars
Python bindings for the commercial TaxJar service rather than a free self-hosted tax database.
- btcpayserver/btcpayserver7.8k stars
Payment software you run yourself that takes Bitcoin into a wallet whose keys you hold.
- hledgerorg/hledger4.8k stars
Double-entry accounting over plain text files, with command-line, terminal, web and editor interfaces.
- akaunting/akaunting10k stars
Self-hosted invoicing and expense tracking, with the double-entry accounting sold separately as an add-on.
git clone https://github.com/ejosterberg/open-sales-tax.git cd open-sales-tax docker compose --profile postgres up -d docker compose run --rm api alembic upgrade head docker compose run --rm api python -m opensalestax data restore