Update: It was announced yesterday that the GST is being reduced another point to 5% effective January 1, 2008 so this post is relevant again.


On July 1, the GST (Goods and Services Tax) is being reduced from 7% to 6%. This is a much bigger issue than just being able to buy loot for less.

This has Quality and Testing ramifications in (at least) two places which could have been easily mitigated with proper up-front planning.

  1. Presentation – If you have any sort of invoice displayed to a user which shows the breakdown of the tax and it only says the type of tax, but not the rate then you have dodged this bullet. However, if it shows the rate then there is a 50/50 chance that it shows the actual rate. The easy way to have this rate shown is to hard code it into the form itself. However, if this approach was taken you have to change the content, re-test to verify that it correctly displays and then re-deploy the application. All timed to be co-ordinated for 12:01AM on July 1. Not fun. If your developers are especially good/forward-thinking they would have had this value populated dynamically from somewhere else (likely a database) and when the initial testing was done the content was tested to pick up values that were changed there. For the changeover all that needs to be done is update 1 value in the database and to thank your developers for making your life easier.
  2. Algorithm – Logically, the other place that this affects is the actual tax calculation. This is much like the Presentation issues above but more dangerous as it deals with actual money. If your tax calculation used a static GST rate you need to fully retest the algorithm. If it was a dynamic value using the same field as the Presentation rate then it will Just Work and be altered in lock-step with the Presentation rate.

The trick then is to keep an eye on the code your group is producing and make sure you are not setting yourself inadvertantly for pain. The only constant is change afterall. So log bugs against your presentation layer and algorithms that have anything statically included.