<html lang="en-US" prefix="og: http://ogp.me/ns#" <head><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <style type="text/css"><!-- [et_pb_line_break_holder] --> </style><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><link rel='stylesheet' id='wp-paginate-css' href='https://www.bcrealestatelawyers.com/wp-content/plugins/wp-paginate/css/wp-paginate.css?ver=2.0.4' type='text/css' media='screen' /><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <script language="javascript"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var GST_RATE = 0.05;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function doForwardCalc() {<!-- [et_pb_line_break_holder] --> var netPrice = toNum(document.getElementById("inHO3").value);<!-- [et_pb_line_break_holder] --> var forwardResult = forwardCalc(netPrice);<!-- [et_pb_line_break_holder] --> var gstField = document.getElementById("calcHO3a");<!-- [et_pb_line_break_holder] --> var rebateField = document.getElementById("calcHO3b");<!-- [et_pb_line_break_holder] --> var finalPriceField = document.getElementById("calcHO3c");<!-- [et_pb_line_break_holder] --> gstField.innerHTML = forwardResult.gst.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> rebateField.innerHTML = forwardResult.gstRebate.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> finalPriceField.value= forwardResult.finalPrice.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function doReverseCalc() {<!-- [et_pb_line_break_holder] --> var finalPrice = toNum(document.getElementById("calcHO3c").value);<!-- [et_pb_line_break_holder] --> var netPrice = reverseCalc(finalPrice);<!-- [et_pb_line_break_holder] --> var forwardResult = forwardCalc(netPrice);<!-- [et_pb_line_break_holder] --> var diff = 1.0*finalPrice - forwardResult.finalPrice;<!-- [et_pb_line_break_holder] --> var oldNetPrice = netPrice;<!-- [et_pb_line_break_holder] --> var oldDiff = diff;<!-- [et_pb_line_break_holder] --> var oldForwardResult = forwardResult;<!-- [et_pb_line_break_holder] --> //alert("1: diff=" + diff + "\n netPrice=" + netPrice);<!-- [et_pb_line_break_holder] --> //shooting method to eliminate round-off errors<!-- [et_pb_line_break_holder] --> var maxTries = 200;<!-- [et_pb_line_break_holder] --> var stepSizeRatio = 1.618; // empirical diff/stepSize ratio for eliminating round-off errors<!-- [et_pb_line_break_holder] --> var numTries = 0;<!-- [et_pb_line_break_holder] --> while (Math.abs(diff) > 0.001 && numTries < maxTries) {<!-- [et_pb_line_break_holder] --> netPrice = 1.0*netPrice + diff/stepSizeRatio;<!-- [et_pb_line_break_holder] --> forwardResult = forwardCalc(netPrice);<!-- [et_pb_line_break_holder] --> diff = 1.0*finalPrice - forwardResult.finalPrice;<!-- [et_pb_line_break_holder] --> //alert("2: diff=" + diff + "\n netPrice=" + netPrice);<!-- [et_pb_line_break_holder] --> numTries ++;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if (numTries == maxTries) {<!-- [et_pb_line_break_holder] --> if (Math.abs(diff) > Math.abs(oldDiff)) {<!-- [et_pb_line_break_holder] --> // should not happen, just in case.<!-- [et_pb_line_break_holder] --> // shooting method did not find a satisfactory result within maxTries<!-- [et_pb_line_break_holder] --> // use the old result with round-off errors<!-- [et_pb_line_break_holder] --> netPrice = oldNetPrice;<!-- [et_pb_line_break_holder] --> forwardResult = oldForwardResult;<!-- [et_pb_line_break_holder] --> alert("Calculation done with a small round-off error.");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> //alert("3: diff=" + diff + "\n netPrice=" + netPrice);<!-- [et_pb_line_break_holder] --> var netPriceField = document.getElementById("inHO3");<!-- [et_pb_line_break_holder] --> var gstField = document.getElementById("calcHO3a");<!-- [et_pb_line_break_holder] --> var rebateField = document.getElementById("calcHO3b");<!-- [et_pb_line_break_holder] --> netPriceField.value= netPrice.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> gstField.innerHTML = forwardResult.gst.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> rebateField.innerHTML = forwardResult.gstRebate.toCurrencyFormat();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function forwardCalc(netPrice) {<!-- [et_pb_line_break_holder] --> var gst = netPrice * GST_RATE;<!-- [et_pb_line_break_holder] --> var gstRebate = 0.0;<!-- [et_pb_line_break_holder] --> if (netPrice <= 350000) {<!-- [et_pb_line_break_holder] --> gstRebate = gst * 0.36;<!-- [et_pb_line_break_holder] --> } else if (netPrice >= 450000) {<!-- [et_pb_line_break_holder] --> gstRebate = 0.0;<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> gstRebate = (450000 - netPrice ) * 0.063;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> //we have to introduce round-off errors here because users only use rounded numbers to calculate <!-- [et_pb_line_break_holder] --> var finalPrice = 1.0*toNum((1.0*netPrice).toCurrencyFormat()) <!-- [et_pb_line_break_holder] --> + 1.0*toNum(gst.toCurrencyFormat()) <!-- [et_pb_line_break_holder] --> - 1.0*toNum(gstRebate.toCurrencyFormat());<!-- [et_pb_line_break_holder] --> return {gst:gst, gstRebate:gstRebate, finalPrice:finalPrice};<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function reverseCalc(finalPrice) {<!-- [et_pb_line_break_holder] --> var netPrice = 0.0;<!-- [et_pb_line_break_holder] --> if (finalPrice <= 361200) {<!-- [et_pb_line_break_holder] --> netPrice = finalPrice/1.032;<!-- [et_pb_line_break_holder] --> } else if (finalPrice >= 472500) {<!-- [et_pb_line_break_holder] --> netPrice = finalPrice/(1.0 + GST_RATE)<!-- [et_pb_line_break_holder] --> } else {<!-- [et_pb_line_break_holder] --> netPrice = (1.0*finalPrice + 28350)/1.113<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> return netPrice; <!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> function toNum(str) {<!-- [et_pb_line_break_holder] --> return str.replace(/[$,]/g, "");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> Number.prototype.toCurrencyFormat = function(c, d, t){<!-- [et_pb_line_break_holder] --> var n = this, <!-- [et_pb_line_break_holder] --> c = isNaN(c = Math.abs(c)) ? 2 : c, <!-- [et_pb_line_break_holder] --> d = d == undefined ? "." : d, <!-- [et_pb_line_break_holder] --> t = t == undefined ? "," : t, <!-- [et_pb_line_break_holder] --> s = n < 0 ? "-" : "", <!-- [et_pb_line_break_holder] --> i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", <!-- [et_pb_line_break_holder] --> j = (j = i.length) > 3 ? j % 3 : 0;<!-- [et_pb_line_break_holder] --> return "$" + s + (j ? i.substr(0, j) + t : "") <!-- [et_pb_line_break_holder] --> + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) <!-- [et_pb_line_break_holder] --> + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");<!-- [et_pb_line_break_holder] --> };<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> </script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <meta name="google-site-verification" content="IRm1vurESd9dOEJl0LMABYcR93KOJQX289eCphTNfV0" /><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> </head><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><body onload="doForwardCalc()"><!-- [et_pb_line_break_holder] --> <div id="header"><!-- [et_pb_line_break_holder] --> <div id="header-inside" class="row"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <div class="container-fluid"><!-- [et_pb_line_break_holder] --> <!-- Brand and toggle get grouped for better mobile display --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --></div><!-- container-fluid --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --></div><!--END INSIDE HEADER--><!-- [et_pb_line_break_holder] --></div><!--END HEADER--><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><div class="container"><div id="inner-content"><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><div id="inner-banner" class="row"><!-- [et_pb_line_break_holder] --> <div class="col-md-12"><!-- [et_pb_line_break_holder] --> <h1 class="widebox-inner-banner">GST Calculator</h1><!-- [et_pb_line_break_holder] --> <img width="980" height="315" src="https://www.bcrealestatelawyers.com/wp-content/uploads/banner-calculator.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://www.bcrealestatelawyers.com/wp-content/uploads/banner-calculator.jpg 980w, https://www.bcrealestatelawyers.com/wp-content/uploads/banner-calculator-300x96.jpg 300w" sizes="(max-width: 980px) 100vw, 980px" /> </div><!-- [et_pb_line_break_holder] --></div><!--END BANNER--><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <div id="inner-main"> <!-- class="no-banner" --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <div class="row"><!-- [et_pb_line_break_holder] --> <div class="col-md-12 inner-column"><!-- [et_pb_line_break_holder] --> <form><!-- [et_pb_line_break_holder] --> <table id="calc-table" align="center" style="margin-left:auto;margin-right:auto;"><!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td colspan="2"><!-- [et_pb_line_break_holder] --> <br /><!-- [et_pb_line_break_holder] --> <p><strong>The calculators are tools to provide only rough estimated figures, as rules, laws, and rates change frequently. These calculators are not to be relied on and it does not constitute any advice or opinion of any kind. Please consult the appropriate professional advisors for exact figures.</strong> <p><!-- [et_pb_line_break_holder] --> <p>To determine the GST, simply type in the purchase price in the appropriate box, then click on the final purchase price. Keep in mind that for certain developers the grant may be claimed on closing. Be careful with this, as not all developers allow the Buyer to claim the rebate, resulting in the Buyer requiring all of the funds, then applying and waiting several months for the rebate to arrive. GST is applicable for newly built Residntial properties and most commercial properties.</p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><p>For the reverse calculator (when the GST in included in the price) simply type the final purchase price into the box and then click in the Purchase Price box.</p><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --><!-- Completion date on/after April 1, 2015 OR<!-- [et_pb_line_break_holder] --> Completion date on/after April 1, 2013 but construction<!-- [et_pb_line_break_holder] --> NOT 10% complete at April 1, 2013 --></td> <!-- [et_pb_line_break_holder] --> </tr> <!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td colspan="2" style="text-align:center;"><strong>Homeowner - Buyer eligible for GST rebate</strong></td> <!-- [et_pb_line_break_holder] --> </tr> <!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td>Purchase Price</td> <!-- [et_pb_line_break_holder] --> <td class="bg-blue"><input id="inHO3" value="0" onchange="doForwardCalc()" /></td> <!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td>GST paid at the time of purchase</td> <!-- [et_pb_line_break_holder] --> <td class="bg-blue"><span id="calcHO3a">$0.00</span></td> <!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td>GST Rebate at the time of purchase</td> <!-- [et_pb_line_break_holder] --> <td class="bg-blue"><span id="calcHO3b">$0.00</span></td> <!-- [et_pb_line_break_holder] --> </tr> <!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td>Final Purchase Price including GST after receiving Rebate</td> <!-- [et_pb_line_break_holder] --> <td class="bg-blue"><input id="calcHO3c" value="0" onchange="doReverseCalc()" /></td> <!-- [et_pb_line_break_holder] --> </tr> <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td colspan="2" style="text-align:center;">(Same calculation as above except for showing an additional (Price + GST) row)</td> <!-- [et_pb_line_break_holder] --> </tr> <!-- [et_pb_line_break_holder] --> </table> <!-- [et_pb_line_break_holder] --> </form><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!--END MAIN--><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --> </div><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> </body><!-- [et_pb_line_break_holder] --></html><!-- [et_pb_line_break_holder] -->