Impôt du Québec¶
Survol¶
L’impôt du Québec est pris en charge par le module quebec. Ce module contient un gabarit que nous documentons ci-dessous ainsi que des classes dérivées spécifiques pour chaque année.
La fonction form permet de choisir l’année de la déclaration de revenus et ira tirer une instance de la déclaration pour cette année. L’instance est retournée par la fonction suivante:
- srd.quebec.form(year)¶
Fonction qui permet de sélectionner le formulaire d’impôt provincial par année.
- Paramètres
year (int) – année (présentement entre 2016 et 2022)
- Renvoie
Une instance du formulaire pour l’année sélectionnée.
- Type renvoyé
class instance
Voici les mesures fiscales provinciales prises en compte dans ce module:
L’impôt des particuliers
Les déductions pour les cotisations sociales (RRQ/RPC et RQAP)
La déduction pour travailleur
Les déductions pour pertes en capital nettes d’autres années et pour gain en capital exonéré
Le crédit d’impôt non-remboursable pour dividendes
Le crédit d’impôt non-remboursable en raison de l’âge, pour personne vivant seule et pour revenu de retraite
Le crédit d’impôt non-remboursable pour la prolongation de carrière
Le crédit d’impôt non-remboursable pour cotisations syndicales et professionnelles
Le crédit d’impôt non-remboursable pour dons
Le crédit d’impôt non-remboursable pour invalidité
Le transfert de crédits non-remboursables d’un conjoint à l’autre
Les crédits d’impôt pour frais médicaux (remboursable et non-remboursable)
Le crédit d’impôt remboursable pour solidarité
Le crédit d’impôt remboursable pour maintien à domicile des aînés
Le crédit d’impôt remboursable pour soutien aux ainés
Le crédit d’impôt remboursable pour frais de garde d’enfant
Le crédit d’impôt remboursable accordant une allocation aux familles
Le crédit d’impôt remboursable relatif à la prime au travail
Les crédits d’impôt remboursables liés à la hausse du coût de la vie (2021-2022)
La cotisation au régime d’assurance médicaments du Québec
La cotisation au Fonds des services de santé (FSS)
La contribution santé (2016)
La contribution additionnelle pour les services de garde éducatifs à l’enfance subventionnés (2016 à 2018)
Le crédit d’impôt bouclier fiscal
La liste exhaustive des éléments calculés dans le module est présentée dans la section ci-dessous.
Gabarit de déclaration¶
Nous utilisons un gabarit afin de créer les déclarations chaque année. Quand l’impôt change seulement au niveau des paramètres d’une année à l’autre, la déclaration ira seulement chercher les nouveaux paramètres. Quand des fonctions changent, l’utilisateur n’a qu’à modifier les fonctions touchées (ou à en ajouter de nouvelles). Toutes les modifications de fonction survenues après l’année 2016 sont indiquées dans la section suivante (Fonctions spécifiques ou modifiées).
- srd.quebec.template()¶
Gabarit pour l’impôt provincial québécois.
- file()
- calc_gross_income()
- calc_net_income()
- calc_taxable_income()
- calc_deduc_gross_income()
- work_deduc()
- cpp_qpip_deduction()
- calc_deduc_net_income()
- srd.quebec.form_2020.calc_deduc_net_income(self, p)¶
Fonction qui calcule les déductions suivantes: 1. Pertes en capital nettes d’autres années; 2. Déduction pour gain en capital exonéré.
Permet une déduction maximale égale aux gains en capital taxables nets.
- Paramètres
p (Person) – instance de la classe Person
- calc_tax()
- calc_non_refundable_tax_credits()
- get_age_cred()
- get_living_alone_cred()
- get_pension_cred()
- get_nrtcred_clawback()
- srd.quebec.form_2020.get_nrtcred_clawback(self, p, hh)¶
Fonction qui calcule la récupération de la somme des crédits non-remboursables 1. en raison de l’âge; 2. pour personne vivant seule; et 3. pour revenu de retraite.
Cette fonction utilise le revenu net du ménage.
- get_exp_worker_cred()
- srd.quebec.form_2020.get_exp_worker_cred(self, p)¶
Fonction qui calcule le crédit d’impôt non-remboursable pour les travailleurs d’expérience. Depuis 2019, renommé crédit d’impôt pour la prolongation de carrière.
On fait l’hypothèse que les travailleurs de 65 ans sont nés le 1er janvier de l’année en cours. (En réalité, les revenus gagnés avant et après le 65e anniversaire sont soumis à des traitements différents, ce qui complique beaucoup le modèle mais change peu les résultats.)
- Paramètres
p (Person) – instance de la classe Person
- Renvoie
Montant du crédit.
- Type renvoyé
float
- get_donations_cred()
- get_union_dues_cred()
- get_disabled_cred()
- get_med_exp_cred()
- div_tax_credit()
- calc_refundable_tax_credits()
- chcare()
- srd.quebec.form_2020.chcare(self, p, hh)¶
Fonction qui calcule le crédit d’impôt remboursable pour frais de garde.
- witb()
- srd.quebec.form_2020.witb(self, p, hh)¶
Fonction qui calcule la prime au travail.
Le calcul est fait en tenant compte du revenu de travail, du revenu du ménage et de la présence d’un enfant à charge. Pour les couples, la prime est partagée au prorata des revenus de travail.
Notes: le supplément à la prime au travail et la prime au travail adaptée ne sont pas calculés.
- home_support()
- med_exp()
- ccap()
- srd.quebec.form_2020.ccap(self, p, hh)¶
Fonction qui calcule le crédit d’impôt remboursable accordant une allocation aux familles (CIRAAF) (qui s’appelait le Soutien aux enfants avant 2019). Seules les composantes suivantes sont modélisées : l’allocation famille et le supplément pour l’achat de fournitures scolaires.
Cette fonction calcule le montant reçu selon le nombre d’enfants, la situation familiale (couple/monoparental) et le revenu.
- calc_contributions()
- srd.quebec.form_2020.calc_contributions(self, p, hh)¶
Fonction qui remplace la fonction antérieure du même nom, et calcule les contributions.
Cette fonction fait la somme des contributions du contribuable. La contribution additionnelle pour service de garde éducatifs à l’enfance subventionnés est abolie en 2019.
- health_contrib()
- add_contrib_subsid_chcare()
- srd.quebec.form_2020.add_contrib_subsid_chcare(self, p, hh)¶
Contribution additionnelle pour les services de garde éducatifs à l’enfance subventionnés.
Cette fonction calcule le montant dû en fonction du nombre de jours de garde et du revenu familial. Chaque conjoint paie en fonction du nombre de jours de garde sur son relevé 30. La contribution a été abolie en 2019.
- solidarity()
- srd.quebec.form_2020.solidarity(self, p, hh)¶
Fonction qui calcule le crédit d’impôt pour solidarité.
Cette fonction calcule le montant reçu par chacun des conjoints en fonction du revenu familial de l’année fiscale courante (en réalité, le calcul est basé sur le revenu de l’année précédente).
- drug_insurance_contrib()
- contrib_hsf()
- get_spouse_transfer()
- cost_of_living()
- srd.quebec.form_2020.cost_of_living(self, p, hh)¶
Fonction qui calcule le crédit d’impôt remboursable attribuant une prestation exceptionnelle pour pallier la hausse du coût de la vie et le crédit d’impôt remboursable attribuant un montant ponctuel pour pallier la hausse du coût de la vie.
En vigueur en 2021 seulement.
- p: Person
instance de la classe Person
- hh: Hhold
instance de la classe Hhold
- tax_shield()
- srd.quebec.form_2020.tax_shield(self, p, hh)¶
Fonction qui calcule le crédit d’impôt Bouclier fiscal.
La part de ce crédit liée à la prime au travail est partagée proportionnellement au revenu des conjoints par rapport au revenu famillial.
Le gabarit collige les résultats dans un formulaire d’impôt qui sera rattaché à la personne sous la forme d’un dictionnaire Python. Cette procédure permet de différencier les attributs d’une personne qui font partie de son profil des variables générées par l’impôt. C’est la fonction create_return() qui fait ce travail.
- srd.quebec.create_return()¶
Fonctions spécifiques ou modifiées par année¶
2016
- class srd.quebec.form_2016¶
Formulaire d’impôt de 2016.
2017
- class srd.quebec.form_2017¶
Formulaire d’impôt de 2017.
- calc_contributions()
- srd.quebec.form_2017.calc_contributions(self, p, hh)¶
Fonction qui remplace dans le gabarit (classe srd.quebec.template) la fonction du même nom, et calcule les contributions.
Cette fonction fait la somme des contributions du contribuable. La contribution santé est abolie en 2017.
- get_donations_cred()
- ccap()
- srd.quebec.form_2017.ccap(self, p, hh)¶
Fonction qui calcule le crédit d’impôt remboursable accordant une allocation aux familles (CIRAAF) (qui s’appelait le Soutien aux enfants avant 2019). Seules les composantes suivantes sont modélisées : l’allocation famille et le supplément pour l’achat de fournitures scolaires.
Cette fonction calcule le montant reçu selon le nombre d’enfants, la situation familiale (couple/monoparental) et le revenu.
2018
- class srd.quebec.form_2018¶
Formulaire d’impôt de 2018.
- senior_assist()
- srd.quebec.form_2018.senior_assist(self, p, hh)¶
Fonction qui remplace dans le gabarit (classe srd.quebec.template) la fonction du même nom, et calcule le crédit remboursable pour soutien aux ainés. En vigueur à partir de 2018.
2019
- class srd.quebec.form_2019¶
Formulaire d’impôt de 2019.
- cpp_qpip_deduction()
- calc_contributions()
- srd.quebec.form_2019.calc_contributions(self, p, hh)¶
Fonction qui remplace la fonction antérieure du même nom, et calcule les contributions.
Cette fonction fait la somme des contributions du contribuable. La contribution additionnelle pour service de garde éducatifs à l’enfance subventionnés est abolie en 2019.
2020
- class srd.quebec.form_2020¶
Formulaire d’impôt de 2020.
- calc_deduc_gross_income()
2021
- class srd.quebec.form_2021¶
Formulaire d’impôt de 2021.
- calc_deduc_gross_income()
- cost_of_living()
- srd.quebec.form_2021.cost_of_living(self, p, hh)¶
Fonction qui calcule les crédits d’impôt remboursables attribuant une prestation exceptionnelle et un montant ponctuel pour pallier la hausse du coût de la vie.
2022
- class srd.quebec.form_2022¶
Formulaire d’impôt de 2022.
- cost_of_living()