UNPKG

sales-tax

Version:

International sales tax calculator for Node (offline, but provides optional online VAT number fraud check). Tax rates are kept up-to-date.

258 lines (144 loc) 15.6 kB
Changelog ========= ## 2.23.0 (2026-05-19) ### Non-Breaking Changes * Migrate `jsvat` to `jsvat-next` [[@baptistejamin](https://github.com/baptistejamin), [#90](https://github.com/valeriansaliou/node-sales-tax/pull/90)]. ## 2.22.0 (2026-04-30) ### Bug Fixes * Disable `validate-vat` dependency on the browser, since it causes build issues with certain bundlers [[@valeriansaliou](https://github.com/valeriansaliou), [51c9804](https://github.com/valeriansaliou/node-sales-tax/commit/51c980426268a00c6ef0212bd49d7537d41dcd3d)]. ## 2.21.0 (2025-10-29) ### Bug Fixes * Pull `MC` (Monaco) and `IM` (Isle of Man) from the `EU` region, as they should never have been included in the first place [[@valeriansaliou](https://github.com/valeriansaliou), [2be5f39](https://github.com/valeriansaliou/node-sales-tax/commit/2be5f396480bf22894230dae868ce54b6ff1c74c)]. * Fix broken tests, due to France national VAT database being consistently down over the last few months, breaking EU VIES [[@valeriansaliou](https://github.com/valeriansaliou), [1cb7f89](https://github.com/valeriansaliou/node-sales-tax/commit/1cb7f8987f7c2f0d32d3ed1cbe3bfa9f2ee2ea14)]. ## 2.20.0 (2025-10-16) ### Tax Rate Updates * **Romania**: 19% to 21% (1st August 2025) [[@diacu](https://github.com/diacu), [#86](https://github.com/valeriansaliou/node-sales-tax/pull/86)]. * **Nova Scotia, Canada**: 10% to 9% (1st April 2025) [[@WolfeCub](https://github.com/WolfeCub), [#87](https://github.com/valeriansaliou/node-sales-tax/pull/87)]. ### Non-Breaking Changes * Migrate to NPMJS OIDC publishing tokens (since Classic Tokens will be removed in November 2025) [[@valeriansaliou](https://github.com/valeriansaliou), [64a6886](https://github.com/valeriansaliou/node-sales-tax/commit/64a68869675fb7b33679b26bce1696ec9276f777)]. ## 2.19.0 (2025-07-01) ### Breaking Changes * **Great Britain**: GB VAT numbers are not fraud-checked anymore against HMRC APIs, since the API now requires authentication [[@valeriansaliou](https://github.com/valeriansaliou), [c2b6448](https://github.com/valeriansaliou/node-sales-tax/commit/c2b64483e4fae9c8fddda3366fee5110c46a72ff)]. ### Tax Rate Updates * **Kansas, United States**: 6.3% to 6.5% [[@valeriansaliou](https://github.com/valeriansaliou), [20922b4](https://github.com/valeriansaliou/node-sales-tax/commit/20922b4ee16b26b8b12f1e5642c27154fd47d478)]. * **Estonia**: 22% to 24% (1st July 2025) [[@viljark](https://github.com/viljark), [#84](https://github.com/valeriansaliou/node-sales-tax/pull/84)]. ## 2.18.0 (2025-01-06) ### Tax Rate Updates * **Israel**: 17% to 18% (1st January 2025) [[@valeriansaliou](https://github.com/valeriansaliou), [46d696d](https://github.com/valeriansaliou/node-sales-tax/commit/46d696d1ed2da701cac049c23c9bf2e51db1b1f7)]. ## 2.17.0 (2025-01-01) ### Tax Rate Updates * **Slovakia**: 20% to 23% (1st January 2025) [[@valeriansaliou](https://github.com/valeriansaliou), [f141689](https://github.com/valeriansaliou/node-sales-tax/commit/f141689fea598f199b0c7a6318cc6aa970d8ff75)]. * Add tax entries for: Andorra [[@Kikobeats](https://github.com/Kikobeats), [#74](https://github.com/valeriansaliou/node-sales-tax/pull/74)]. ## 2.16.0 (2024-09-18) ### Bug Fixes * Switched from `node-fetch` to `cross-fetch` to address an incompatible dependency issue starting in NodeJS 22 [[@mlecoq](https://github.com/mlecoq), [#67](https://github.com/valeriansaliou/node-sales-tax/pull/67)]. ## 2.15.0 (2024-09-02) ### Tax Rate Updates * **Finland**: 24% to 25.5% (1st September 2024) [[@brennofaneco](https://github.com/brennofaneco), [#69](https://github.com/valeriansaliou/node-sales-tax/pull/69)]. ## 2.14.0 (2024-02-16) ### Tax Rate Updates * **Japan**: 8% to 10% [[@intarsz](https://github.com/intarsz), [#65](https://github.com/valeriansaliou/node-sales-tax/pull/65)]. * **Turkey**: 18% to 20% [[@intarsz](https://github.com/intarsz), [#65](https://github.com/valeriansaliou/node-sales-tax/pull/65)]. ## 2.13.1 (2024-02-12) ### Bug Fixes * Fix broken EU VAT numbers fraud-checks for certain countries, where the official country code does not match the Eurostat country code (eg. Greece) [[@intarsz](https://github.com/intarsz), [#64](https://github.com/valeriansaliou/node-sales-tax/pull/64)]. ## 2.13.0 (2024-02-05) ### Tax Rate Updates * **Estonia**: 20% to 22% (1st January 2024) [[@DanielRaouf](https://github.com/DanielRaouf), [#63](https://github.com/valeriansaliou/node-sales-tax/pull/63)]. ## 2.12.0 (2023-08-12) ### New Features * Return a `currency` attribute in all sales tax response objects [[@mindflowgo](https://github.com/mindflowgo), [#61](https://github.com/valeriansaliou/node-sales-tax/pull/61)]. ### Non-Breaking Changes * Replace deprecated `request` dependency with `node-fetch` [[@wootra](https://github.com/wootra), [#53](https://github.com/valeriansaliou/node-sales-tax/pull/53)]. ### Tax Rate Updates * Add tax entries for: Bosnia, Ukraine and Eritrea [[@mindflowgo](https://github.com/mindflowgo), [#61](https://github.com/valeriansaliou/node-sales-tax/pull/61)]. ## 2.11.0 (2023-06-27) ### Tax Rate Updates * **Ghana**: 12.5% to 15% (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [5c8f0b1](https://github.com/valeriansaliou/node-sales-tax/commit/5c8f0b1bdbade8d6830cf35cde3f5d631dad214a)]. ## 2.10.0 (2023-05-30) ### Tax Rate Updates * **Luxembourg**: 17% to 16% (1st January 2023 to 31st December 2023) [[@pszxzsd](https://github.com/pszxzsd), [#56](https://github.com/valeriansaliou/node-sales-tax/pull/56)]. ## 2.9.0 (2023-03-03) ### New Features * Add TypeScript type definitions [[@valeriansaliou](https://github.com/valeriansaliou), [0f5f245](https://github.com/valeriansaliou/node-sales-tax/commit/0f5f245d89ce1afd633931ad0ad092d1bcebcfaf)]. ## 2.8.0 (2023-03-02) ### Tax Rate Updates * **Switzerland**: 7.7% to 8.1% (1st January 2024) [[@adrai](https://github.com/adrai), [#55](https://github.com/valeriansaliou/node-sales-tax/pull/55)]. ## 2.7.1 (2023-01-09) ### New Features * Automate the package release process via GitHub Actions (ie. `npm publish`) [[@valeriansaliou](https://github.com/valeriansaliou), [73b8247](https://github.com/valeriansaliou/node-sales-tax/commit/73b8247d5dfd350c54ed576297dafa20c15b7fa3)]. ## 2.7.0 (2022-10-21) ### Non-Breaking Changes * Update the `jsvat` offline VAT number format validator to its latest version [[@valeriansaliou](https://github.com/valeriansaliou), [403b38e](https://github.com/valeriansaliou/node-sales-tax/commit/403b38e7edc7b5db76a9b2c237d8e8601bc3206f)]. ### Bug Fixes * Fix broken EU VAT numbers fraud-checks due to (_once again_) changed Europa VAT APIs data schema (from `ec.europa.eu`) [[@valeriansaliou](https://github.com/valeriansaliou), [403b38e](https://github.com/valeriansaliou/node-sales-tax/commit/403b38e7edc7b5db76a9b2c237d8e8601bc3206f)]. ## 2.6.0 (2022-08-19) ### Tax Rate Updates * **New Mexico, United States**: 5.125% to 5% [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Botswana**: 14% to 12% (1st August 2022 to 1st February 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Anguilla**: 13% GST [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Aruba**: 12.5% VAT (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Indonesia**: 10% to 11% [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Sri Lanka**: 12% VAT [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Maldives**: 6% to 8% (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Singapore**: 7% to 8% (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Singapore**: 8% to 9% (1st January 2024) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Suriname**: 10% to 15% (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Uzbekistan**: 15% to 12% (1st January 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. * **Thailand**: 7% to 10% (1st September 2023) [[@valeriansaliou](https://github.com/valeriansaliou), [701781c](https://github.com/valeriansaliou/node-sales-tax/commit/701781c0843799948077e8f112807b2bfc41431e)]. ## 2.5.0 (2021-12-31) ### Tax Rate Updates * **The Bahamas**: 7.5% to 12% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Botswana**: 12% to 14% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Brazil**: 35% to 17% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **China**: 16% to 13% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Ecuador**: 14% to 12% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Kenya**: 14% to 16% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Lebanon**: 10% to 11% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Nigeria**: 5% to 7.5% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Pakistan**: 16% to 17% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Puerto Rico**: 10.5% to 11.5% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Saint Lucia**: 15% to 12.5% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. * **Tunisia**: 18% to 19% [[@PhilosophicalPsycho](https://github.com/PhilosophicalPsycho), [#47](https://github.com/valeriansaliou/node-sales-tax/pull/47)]. ## 2.4.0 (2021-11-23) ### Breaking Changes * Drop support for NodeJS versions that do not support native `Promise`. This should not impact anyone anyway, because the `package.json` already restricts NodeJS version to `"node": ">= 6.4.0"`. All target NodeJS versions therefore have native `Promise` support [[@valeriansaliou](https://github.com/valeriansaliou), [1b7c53e](https://github.com/valeriansaliou/node-sales-tax/commit/1b7c53e423aea319a4928333c67fbbe2bbd308db)]. ### Bug Fixes * Fix broken EU VAT numbers fraud-checks due to changed Europa VAT APIs data schema (from `ec.europa.eu`) [[@valeriansaliou](https://github.com/valeriansaliou), [ec05b71](https://github.com/valeriansaliou/node-sales-tax/commit/ec05b71a780855c1997a89ebb54329a0265821e6), [#45](https://github.com/valeriansaliou/node-sales-tax/issues/45)]. ## 2.3.0 (2021-04-20) ### Non-Breaking Changes * **Great Britain**: GB VAT numbers are now fraud-checked against HMRC APIs [[@valeriansaliou](https://github.com/valeriansaliou), [b8352f8](https://github.com/valeriansaliou/node-sales-tax/commit/b8352f8ee389ed45bdbcafe6cbc40b18efef74e4), [#40](https://github.com/valeriansaliou/node-sales-tax/issues/40)]. ## 2.2.6 (2021-02-12) ### Tax Rate Updates * **Great Britain**: pulled out of the VAT MOSS scheme, as it is not a member of the European Union anymore as of 31st December 2020 [[@valeriansaliou](https://github.com/valeriansaliou), [#26](https://github.com/valeriansaliou/node-sales-tax/issues/26)]. ## 2.2.5 (2020-11-16) ### Bug Fixes * Fix an issue where a country sales tax that is cancelled by a negative regional tax would still result in the details object being populated with the exempted country tax (eg. a tax-exempt region in Spain like Gran Canaria), while this details object should have been empty [[@lfalck](https://github.com/lfalck), [#36](https://github.com/valeriansaliou/node-sales-tax/pull/36)]. ## 2.2.4 (2020-10-27) ### Tax Rate Updates * **India**: VAT has been moved to GST (now 18%) [[@valeriansaliou](https://github.com/valeriansaliou), [#31](https://github.com/valeriansaliou/node-sales-tax/issues/31)]. ## 2.2.3 (2020-10-27) ### Tax Rate Fixes * **Canada**: fix updated tax rates for some states, as calculation errors were introduced in `v2.2.2` due to the GST offset not being taken into account when HST is used [[@valeriansaliou](https://github.com/valeriansaliou), [57b0620](https://github.com/valeriansaliou/node-sales-tax/commit/57b0620817ea261e60a3a4e89d0f825aa8d6ff63)]. ## 2.2.2 (2020-10-21) ### Tax Rate Updates * **Canada**: tax rates have been updated for some states [[@stephankaag](https://github.com/stephankaag), [#32](https://github.com/valeriansaliou/node-sales-tax/pull/32)]. ## 2.2.1 (2020-09-01) ### Tax Rate Updates * **Ireland**: 23% to 21% (1st September 2020 to 28th February 2021) [[@gierschv](https://github.com/gierschv)]. ## 2.2.0 (2020-06-12) ### Non-Breaking Changes * Return a detailed view of all sub-tax rates used when calling `getSalesTax()` and `getAmountWithSalesTax()` (this is useful eg. for Canada, which has multiple tax rates ie. state and country taxes) [[@maktouch](https://github.com/maktouch), [@valeriansaliou](https://github.com/valeriansaliou), [6e5b9be](https://github.com/valeriansaliou/node-sales-tax/commit/6e5b9be2df632ca6e4b97286a690529fffae3b98), [#27](https://github.com/valeriansaliou/node-sales-tax/pull/27)]. ## 2.1.0 (2020-06-11) ### Non-Breaking Changes * Add a way to schedule tax rate updates for a country or state in a future date [[@valeriansaliou](https://github.com/valeriansaliou), [accda53](https://github.com/valeriansaliou/node-sales-tax/commit/accda53ce1d89ac48f2a1c77d9a58b04d143cc36)]. ### Tax Rate Updates * **Germany**: 19% to 16% (1st July 2020 to 31st December 2020) [[@valeriansaliou](https://github.com/valeriansaliou)]. * **Kenya**: 16% to 14% (1st April 2020) [[@adrai](https://github.com/adrai)]. * **Saudi Arabia**: 5% to 15% (1st July 2020) [[@adrai](https://github.com/adrai)]. ## 2.0.0 (2017-10-27) ### New Features * More methods added [[@valeriansaliou](https://github.com/valeriansaliou)]. ## 1.0.0 (2017-05-05) ### New Features * Initial release [[@valeriansaliou](https://github.com/valeriansaliou)].