image provider

Canadian GST HST PST TPS/TVQ/QST Sales Tax Calculator

Unfortunately, Oracle has effectively decommitted Applets. This means you can no longer run the various CMP programs in a browser. You must download them and install them. You must have the most recent Java JRE (Java Runtime Environment) 1.8.0_131 32-bit or 64-bit. It no longer matters which browser you use.
Oracle has effectively decommited Applets, so this Applet will no longer run online in your browser, but it is a hybrid you can also download, install and run it on your own machine as standalone application. It will start and run faster if you do that. It will also work safely even if you have disabled Java in your browser.

This Applet will calculate all three types of Canadian sales tax, GST (Goods and Services Tax), HST (Harmonised Sales Tax) and PST (Provincial Sales Tax).



The calculator is also available with Java source to download and run off-net. It is designed to be cannibalised, so that you can use whatever parts of the calculator source code you want in your own code, e.g. a shopping cart. There are notes in the source on precisely how the taxes are calculated. You can also configure your copy of the downloaded program to start up with whatever province you like.

Prince Edward Island uses a dishonest ploy to make the provincial sales tax sound lower than it really is. Unlike all the other provinces, provincial sales tax is computed not only on the original sale amount, but also on the GST. This means Prince Edward’s nominal 10% tax is effectively 10.5%. It is taxing tax! This Applet shows the posted crooked nominal rate, not the honest, effective one

This Applet computes either GST + PST or HST. The rules about which goods need to pay GST/PST/HST are complex and vary from province to province. Unfortunately, this Applet won’t help you sort that out. It just computes the tax if it is payable. Book vendors will be familiar with the rules for books, for example, or you can check with the provincial taxation agencies listed at the bottom of the page.

Applet failed to run. No Java 1.8 or later plug-in found.
  1. Leave the date as today or select any date in the range 1991-01-01 to 2015-12-31 for which you wish to calculate taxes.
  2. Select buyer’s province.
  3. Do one or more of the following:
    • Click the up/down Amount of Sale spinner arrows.
    • Key the Amount of Sale, then click Calc ⇓ to find the Total Payable.
    • Key the Total Payable, then click Calc ⇑ to find the original Amount of Sale.

Out of province vendors must now collect the same tax as vendors in the buyer’s home province.

Fine Points

Java Requirements and Troubleshooting

CanadianTax is a signed Java Applet (that can also be run as an application) to Canadian Sales Tax Calculator. You are welcome to install it on your own website. If it does not work…
  1. For this Applet hybrid to work, you must click grant/accept/always run on this site/I accept the risk to give it permission to let you copy/paste. If you refuse to grant permission, the program may crash with an inscrutable stack dump on the console complaining about AccessController.checkPermission.
  2. In the Java Control Panel security tab, click Start ⇒ Control Panel ⇒ Programs ⇒ Java ⇒ Security, configure medium security to allow self-signed and vanilla unsigned applets to run. If medium is not available, or if Java security is blocking you from running the program, configure high security and add to the Exception Site List at the bottom of the security tab.
  3. Often problems can be fixed simply by clicking the reload button on your browser.
  4. Make sure you have both JavaScript and Java enabled in your browser.
  5. Make sure the Java in your browser is enabled in the security tab of the Java Control panel. Click Start ⇒ Control Panel ⇒ Programs ⇒ Java ⇒ Security ⇒ Enable Java Content in the browser.
  6. This signed Java Applet (that can also be run as an application) needs 32-bit or 64-bit Java 1.8 or later. For best results use the latest 1.8.0_131 Java.
  7. You also need a recent browser.
  8. It works under any operating system that supports Java e.g. W2K, XP, W2003, Vista, W2008, W7-32, W7-64, W8-32, W8-64, W2012, W10-32, W10-64, Linux, LinuxARM, LinuxX86, LinuxX64, Ubuntu, Solaris, SolarisSPARC, SolarisSPARC64, SolarisX86, SolarisX64 and OSX
  9. You should see the Applet hybrid above looking much like this screenshot. If you don’t, the following hints should help you get it working:
  10. Optionally, you may permanently install the Canadian Mind Products code-signing certificate so you don’t have to grant each time.
  11. If the above Applet hybrid appears to freeze-up, click Alt-Esc repeatedly to check for any buried permission dialog box.
  12. If you have certificate troubles, check the installed certificates and remove or update any obsolete or suspected defective certificates. The only certificate used by this program is mindprodcert2017rsa.cer.
  13. Especially if this Applet hybrid has worked before, try clearing the browser cache and rebooting.
  14. To ensure your Java is up to date, check with Wassup. First, download it and run it as an application independent of your browser, then run it online as an Applet to add the complication of your browser.
  15. If the above Applet hybrid does not work, check the Java console for error messages.
  16. If the above Applet hybrid does not work, you might have better luck with the downloadable version available below.
  17. If you are using Mac OS X and would like an improved Look and Feel, download the QuaQua look & feel from UnZip the contained quaqua.jar and install it in ~/Library/Java/Extensions or one of the other ext dirs.
  18. Upgrade to the latest version of Internet Explorer or another browser.
  19. Click the Information bar, and then click Allow blocked content. Unfortunately, this also allows dangerous ActiveX code to run. However, you must do this in order to get access to perfectly-safe Java Applets running in a sandbox. This is part of Microsoft’s war on Java.
  20. Try upgrading to a more recent version of your browser, or try a different browser e.g. Firefox, SeaMonkey, IE or Avant.
  21. If you still can’t get the program working click the red HELP button below for more detail.
  22. If you can’t get the above Applet hybrid working after trying the advice above and from the red HELP button below, have bugs to report or ideas to improve the program or its documentation, please send me an email atemail Roedy Green.
Java powered   Get New Java   Get New Browser   Help

Nickel Rounding

On 2013-02-04 Canada discontinued the penny. It is still used for credit card and debit card transactions, but for cash sales, amounts including tax are rounded to the nearest nickel. The program above shows the total payable both penny-rounded and nickel-rounded as the government suggests, but does not require.


History Of Canadian Sales Tax

Canadian Tax Calculator now has a Time Travel feature, where you can input a date and have the taxes calculated using the rates the way they were or will be on that date. To do this, I need an accurate history of what sales taxes have been since 1991. Much of the material on the Internet in contradictory or incomplete. Please let me know of any errors or omissions in the following table of changes to Canadian sales taxes ( GST, HST and PST/TVQ/QST) since 1991.


I am in favour of consolidating the GST and PST into the HST for the following reasons: Many people oppose the HST, not because there is something inherently wrong with harmonisation, but for other unrelated reasons such as:


BC is proposing something really stupid — making the sales tax different for businesses and individuals. This means a bookkeeping nightmare if you buy something for your business with your own money and then get reimbursed. Liberals claim to be the party of business but these donkeys have no clue about avoiding pointless paperwork. On 2012-04-01 they are going back from HST to GST + PST with no net tax rate change. The exemptions change, but surely it was not necessary to go to PST just to change the exemptions. The arguments pro and con have been exceedingly emotional and irrational. HST is clearly superior since there is less bookkeeping and less calculation. The public was mainly outraged when all manner of formerly-tax free items were taxed under HST. They demanded to go back to the old system. The dishonest BC Liberals changed the calculation back to PST (which was a extra cost to the taxpayers) but made more items taxable, such as used cars. Talk about a lose-lose situation.

To help the tax medicine go down, governments across Canada sometimes offer a cash back scheme billed as a GST/HST rebate. It actually has nothing to do with the tax since you need not provide any receipts for purchases or taxes paid. Its main function is to encourage people to file income tax promptly since you don’t get the cheque unless you have filed.

Both the USA and Canada have the idiotic rule that the vendor must remit tax to the buyer’s province. It would have made much more sense for the vendor to collect the tax based on his own province and to remit the tax to his province. After all that is the province that provided the services to create the good or service. It would have made sales tax an order of magnitude simpler for businesses. The vendor would not need to know anything about the buyer’s location, would have a single tax rate to consider and a single place to remit taxes collected. Any difference in the total amounts calculated could have been corrected by a handful of cheques exchanged between the provinces or states.

The city of Vancouver in BC Canada is considering fiddling the sales tax to raise money for relieving traffic congestion. I hope the measure fails. If they are not careful, this measure will mean modifying every website, business, calculator and cash register in North America to adjust to this new wrinkle. It not just a matter of adjusting a rate in a table. It is whole new kind of sales tax, similar to the complex way sales tax works in the USA. The city of Vancouver has no right to impose this cost on all of North American business.

Canadian Sales Tax Calculator
4.4 2013-02-03 free Java
more infoprecisscreenshotbrowse source repository
for the current version of Canadian Sales Tax Calculator.
Applet to calculate Canadian Sales tax, GST, HST and PST today or for dates in the past
download 1,123K zip for Canadian Sales Tax Calculator Java source, compiled class files, jar and documentation to run on your own machine either as an application or an Applet.

Runs on any OS that supports Java e.g. W2K, XP, W2003, Vista, W2008, W7-32, W7-64, W8-32, W8-64, W2012, W10-32, W10-64, Linux, LinuxARM, LinuxX86, LinuxX64, Ubuntu, Solaris, SolarisSPARC, SolarisSPARC64, SolarisX86, SolarisX64 and OSX.

First install the most recent Java.

To install, extract the zip download with WinZip, (or similar unzip utility) into any directory you please, often J:\ — ticking off the use folder names option.

To check out the corresponding source from the Subversion repository, use the TortoiseSVN repo-browser to
access canadiantax source in repository with [Tortoise] Subversion client on

After you have installed the jar, you can run it as an application. Type:

java -jar J:\com\mindprod\canadiantax\canadiantax.jar

adjusting as necessary to account for where the jar file is.

download ASP PAD XML program description for the current version of Canadian Sales Tax Calculator.

$1989.00 US donated so far. If the CMP utilities solved your problem, please donate a buck or two, or donate to one of the charities featured in the footer public service ads throughout the website and get a tax receipt.

Canadian Sales Tax Calculator is free. Full source included. You may even include the source code, modified or unmodified in free/commercial open source/proprietary programs that you write and distribute. Non-military use only.


Sales taxes are flat taxes. Unlike progressive income taxes, everyone rich or poor pays the same rate. However, income taxes are full of loop holes the very rich can use to avoid income tax altogether. Conservative economists want to get rid of income taxes and raise sales taxes to remove tax burden from the upper middle class and put it on the lower middle. It is more difficult for them to avoid sales taxes. Sales taxes discourage consumption. So they can be looked on as a pro-environmental, anti-business tax. I would prefer a more pointedly pro-environmental tax and more friendly to business, that heavily taxed wasteful use of energy and resources but did not tax prudent use of them. I would want to tax polluters at double the cost of cleanup. There are other ways of collecting revenue, by taxing income, wealth, luxury, sin (sex, alcohol, marijuana, gambling), lotteries, transportation or fees for government services.

BC government
Canada drops the penny
Canada GST/PST from
Canada GST/PST/HST rules and rates
Canada out-of-province sales generally
Canada Revenue Agency
Canadian GST General Information
definition of in-province for HST
Manitoba government
New Brunswick government
New Brunswick government
Newfoundland and Labrador government
Nova Scotia government
Ontario government
Prince Edward Island government
Québec business taxes
Québec government sales taxes
Québec retail sales tax act
rounding to the nearest nickel
Saskatchewan government
Saskatchewan: out-of-province sales
what’s taxable under HST

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number