Handling variable tax rates based on member's province
I have an extension we developed for a client with simple needs in Quebec that is not yet ready for general use - https://github.com/JMAConsulting/biz.jmaconsulting.cdntaxcalculator . I just looked at it now and removed a bit of custom code to support shipping fees for physical items. I seem to recall that we used custom templates for the messages for purchases. I would love to talk to you about doing this in a more general way as another organization is currently interested in this as well. 

Background: The extension uses billing address to determine province of buyer and use that to determine which taxes should apply. A more general solution would handle place of supply (the tax term for place which determines which sales taxes apply) for events based on venue location. For online events it would be buyer's location. 

Unfortunately there are some complications in handling two taxes as this affects the display on contribution/membership pages, their confirmation pages, and a fair number of system message templates. 

A longer specification is available at https://wiki.civicrm.org/confluence/display/CRM/Canadian+Sales+Tax+Extension