Section courante

A propos

Section administrative du site

Le Canada est sans doute l'un des pays ou les taxes de vente sur les produits et services sont les plus compliqués à appliquer. Et pour cause: Elle varie d'une province ou territoire à l'autre, elle est parfois composé ou séparé. Voici leur représentation en date du mois septembre de l'année 2006 :

Province/Territoire Taxe 1 Taxe 2 Taux
Alberta TVH: 6% Aucune 6%
Colombie-Britannique TVH: 6% TVP: 7% 13%
Ile-du-Prince-Édouard TPS: 6% TVP: 10% 16.6%
Manitoba TPS: 6% TVP: 7% 13%
Nouveau-Brunswick TVH: 14% Aucune 14%
Nouvelle-Écosse TVH: 14% Aucune 14%
Nunavut TVH: 6% Aucune 6%
Ontario TPS: 6% TVP: 8% 14%
Québec TPS: 6% TVQ: 7.5% 13.95%
Saskatchewan TPS: 6% TVP: 7% 13%
Terre-Neuve/Labrador TVH: 14% Aucune 14%
Territoire du Nord Ouest TVH: 6% Aucune 6%
Territoire du Yukon TVH: 6% Aucune 6%

Tout d'abord, voici un premier exemple permet d'afficher des données complètes sur les taxes en ASP 3.0 :

  1. <%
  2. Compute=Array("C","C","C","C","S","C","S","S","S","S","C","S","S")
  3. TaxName1=Array("TPS","TVH","TVH","TVH","TPS","TVH","TPS","TVH","TVH","TPS","TPS","TPS","TVH")
  4. TaxRate1=Array(6.0000,14.0000,14.0000,14.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000)
  5. TaxName2=Array("TVQ","","","","TVP","","TVP","","","TVP","TVP","TVP","")
  6. TaxRate2=Array(7.5000,0.0000,0.0000,0.0000,7.0000,0.0000,7.0000,0.0000,0.0000,8.0000,10.0000,7.0000,0.0000)
  7. RegionMID=Array("QC","NS","NB","NF","BC","AB","MB","NT","NU","ON","PE","SK","YT")
  8. RegionName_EN=Array("Quebec","Nova Scotia","New Brunswick","Newfoundland","British Columbia","Alberta","Manitoba","Northwest Territories","Nunavut","Ontario","Prince Edward Island","Saskatchewan","Yukon Territory")
  9. RegionName_FR=Array("Québec","Nouvelle-Écosse","Nouveau-Brunswick","Terre-Neuve/Labrador","Colombie-Britanique","Alberta","Manitoba","Territoire du Nord Ouest","Nunavut","Ontario","Ile-du-Prince-Édouard","Saskatchewan","Territoire du Yukon")
  10.  
  11. Response.Write "<TABLE>"
  12. Response.Write "<TR>"
  13. Response.Write "<TD><B>Nom de la province/territoire</B></TD>"
  14. Response.Write "<TD><B>MID</B></TD>"
  15. Response.Write "<TD><B>Taxe 1</B></TD>"
  16. Response.Write "<TD><B>Taxe 2</B></TD>"
  17. Response.Write "<TD><B>Taux</B></TD>"
  18. Response.Write "</TR>"
  19. For I=LBound(RegionName_FR) To UBound(RegionName_FR)
  20.      Response.Write "<TR>"
  21.      Response.Write "<TD>" & RegionName_FR(I) & "</TD>"
  22.      Response.Write "<TD>" & RegionMID(I) & "</TD>"
  23.      Response.Write "<TD>" & TaxName1(I) & ":" & TaxRate1(I) & "%</TD>"
  24.      If TaxName2(I)=""Then 
  25.           Response.Write "<TD> </TD>"
  26.      Else
  27.           Response.Write "<TD>" & TaxName2(I) & ":" & TaxRate2(I) & "%</TD>"
  28.      End If
  29.      Response.Write "<TD>"
  30.      Select Case Compute(I)
  31.           Case "S": 'Séparé
  32.                Response.Write CStr(TaxRate1(I)+TaxRate2(I)) & "%"
  33.           Case "C": 'Composé
  34.                Response.Write CStr(TaxRate1(I)+((TaxRate2(I)*(100+TaxRate1(I)))/100)) & "%"
  35.      End Select
  36.      Response.Write "</TD></TR>"
  37. Next
  38. Response.Write "</TABLE>"
  39. %>

on obtiendra le résultat suivant :

Nom de la province/territoireMIDTaxe 1Taxe 2Taux
QuébecQCTPS:6%TVQ:7.5%13.95%
Nouvelle-ÉcosseNSTVH:14% 14%
Nouveau-BrunswickNBTVH:14% 14%
Terre-Neuve/LabradorNFTVH:14% 14%
Colombie-BritaniqueBCTPS:6%TVP:7%13%
AlbertaABTVH:6% 6%
ManitobaMBTPS:6%TVP:7%13%
Territoire du Nord OuestNTTVH:6% 6%
NunavutNUTVH:6% 6%
OntarioONTPS:6%TVP:8%14%
Ile-du-Prince-ÉdouardPETPS:6%TVP:10%16.6%
SaskatchewanSKTPS:6%TVP:7%13%
Territoire du YukonYTTVH:6% 6%

Ensuite, voici un deuxième exemple permet de calculer la taxe de vente d'un produit ou service en fonction des provinces ou territoires en ASP 3.0 :

  1. <%
  2. Compute=Array("C","C","C","C","S","C","S","S","S","S","C","S","S")
  3. TaxName1=Array("TPS","TVH","TVH","TVH","TPS","TVH","TPS","TVH","TVH","TPS","TPS","TPS","TVH")
  4. TaxRate1=Array(6.0000,14.0000,14.0000,14.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000)
  5. TaxName2=Array("TVQ","","","","TVP","","TVP","","","TVP","TVP","TVP","")
  6. TaxRate2=Array(7.5000,0.0000,0.0000,0.0000,7.0000,0.0000,7.0000,0.0000,0.0000,8.0000,10.0000,7.0000,0.0000)
  7. RegionMID=Array("QC","NS","NB","NF","BC","AB","MB","NT","NU","ON","PE","SK","YT")
  8. RegionName_EN=Array("Quebec","Nova Scotia","New Brunswick","Newfoundland","British Columbia","Alberta","Manitoba","Northwest Territories","Nunavut","Ontario","Prince Edward Island","Saskatchewan","Yukon Territory")
  9. RegionName_FR=Array("Québec","Nouvelle-Écosse","Nouveau-Brunswick","Terre-Neuve/Labrador","Colombie-Britanique","Alberta","Manitoba","Territoire du Nord Ouest","Nunavut","Ontario","Ile-du-Prince-Édouard","Saskatchewan","Territoire du Yukon")
  10.  
  11. Response.Write "<TABLE>"
  12. Response.Write "<TR>"
  13. Response.Write "<TD><B>Nom de la province/territoire</B></TD>"
  14. Response.Write "<TD><B>Taxe 1</B></TD>"
  15. Response.Write "<TD><B>Taxe 2</B></TD>"
  16. Response.Write "<TD><B>Taux</B></TD>"
  17. Response.Write "<TD><B>1$</B></TD>"
  18. Response.Write "<TD><B>15$</B></TD>"
  19. Response.Write "<TD><B>44,95$</B></TD>"
  20. Response.Write "<TD><B>100$</B></TD>"
  21. Response.Write "</TR>"
  22. For I=LBound(RegionName_FR) To UBound(RegionName_FR)
  23.      Response.Write "<TR>"
  24.      Response.Write "<TD>" & RegionName_FR(I) & "</TD>"
  25.      Response.Write "<TD>" & TaxName1(I) & ":" & TaxRate1(I) & "%</TD>"
  26.      If TaxName2(I)=""Then 
  27.           Response.Write "<TD> </TD>"
  28.      Else
  29.           Response.Write "<TD>" & TaxName2(I) & ":" & TaxRate2(I) & "%</TD>"
  30.      End If
  31.      Response.Write "<TD>"
  32.      Select Case Compute(I)
  33.           Case "S": 'Séparé
  34.               Tax = TaxRate1(I)+TaxRate2(I)
  35.           Case "C": 'Composé
  36.                Tax = TaxRate1(I)+((TaxRate2(I)*(100+TaxRate1(I)))/100)
  37.      End Select
  38.      Response.Write CStr(Tax) & "%"
  39.      Response.Write "</TD>"
  40.      Response.Write "<TD>" & CStr(1*(1+(Tax/100))) & "$</TD>"
  41.      Response.Write "<TD>" & CStr(15*(1+(Tax/100))) & "$</TD>"
  42.      Response.Write "<TD>" & CStr(44.95*(1+(Tax/100))) & "$</TD>"
  43.      Response.Write "<TD>" & CStr(100*(1+(Tax/100))) & "$</TD>"
  44.      Response.Write "</TR>"
  45. Next
  46. Response.Write "</TABLE>"
  47. %>

on obtiendra le résultat suivant :

Nom de la province/territoireTaxe 1Taxe 2Taux1$15$44,95$100$
QuébecTPS:6%TVQ:7.5%13.95%1.1395$17.0925$51.220525$113.95$
Nouvelle-ÉcosseTVH:14% 14%1.14$17.1$51.243$114$
Nouveau-BrunswickTVH:14% 14%1.14$17.1$51.243$114$
Terre-Neuve/LabradorTVH:14% 14%1.14$17.1$51.243$114$
Colombie-BritaniqueTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
AlbertaTVH:6% 6%1.06$15.9$47.647$106$
ManitobaTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du Nord OuestTVH:6% 6%1.06$15.9$47.647$106$
NunavutTVH:6% 6%1.06$15.9$47.647$106$
OntarioTPS:6%TVP:8%14%1.14$17.1$51.243$114$
Ile-du-Prince-ÉdouardTPS:6%TVP:10%16.6%1.166$17.49$52.4117$116.6$
SaskatchewanTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du YukonTVH:6% 6%1.06$15.9$47.647$106$


Dernière mise à jour : Mercredi, le 20 août 2014