TaxLite separates tax handling into three distinct steps:
TaxLite currently covers general US sales tax (state/county/city/special district). VAT, excise, and income tax are not supported yet.
TaxLite calculates the correct tax rate and jurisdictions when a rate is needed (typically during checkout).
After a payment succeeds, the completed transaction is recorded for reporting and audit purposes.
Reports are generated later using the same jurisdiction data captured at calculation time.
This separation is intentional and ensures that:
Use /api/calculate when you need to determine the correct tax for an address.
This endpoint:
Every calculation includes:
The exact filing jurisdictions that apply to the address.
State and local rates expressed in basis points (bps).
The computed tax for the provided taxable base.
Signals how the result was determined (direct lookup vs fallback).
This data is designed to be reused downstream.
TaxLite does not automatically record transactions.
After a payment succeeds, you must explicitly call /api/record-sale.
This is deliberate.
Recording a sale:
Only record sales that actually happened.
Use the jurisdiction codes and tax values returned from /api/calculate.
Do not recompute or modify them.
Tax filings are not submitted as a single "total tax" number.
They are filed per jurisdiction.
Each jurisdiction code represents:
When you file, authorities expect totals grouped by these codes.
TaxLite gives you this structure upfront so you don't have to reconstruct it later.
Not all addresses resolve equally.
TaxLite exposes:
This allows you to:
Nothing is hidden.
Reports are generated from recorded sales, not calculations.
The reporting system:
If a transaction appears in a report, it means:
TaxLite is optimized for:
It is not designed to:
/api/calculate during checkout/api/record-sale after payment succeedsThis flow ensures your data stays correct, explainable, and defensible.
If you treat TaxLite as a rate oracle, you'll miss its value.
If you treat it as tax instrumentation, it will give you exactly what filings require.
That's how TaxLite thinks.