Impôt fédéral¶
Survol¶
La fiscalité fédérale est prise en charge par le module federal. 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 crée une instance de déclaration pour cette année. L’instance est retournée par la fonction suivante:
- srd.federal.form(year)¶
Fonction qui permet de sélectionner le formulaire d’impôt fédéral par année.
- Renvoie
Une instance du formulaire pour l’année sélectionnée.
- Type renvoyé
class instance
Voici les mesures fiscales fédérales prises en compte dans ce module:
L’impôt des particuliers
L’abattement du Québec à l’impôt fédéral
Les déductions et crédits d’impôt pour les cotisations sociales (RRQ/RPC, AE et RQAP)
Les déductions pour la perte en capital nette d’autres années et pour gain en capital exonéré
La déduction fédérale pour frais de garde
Le crédit d’impôt non-remboursable pour dividendes
Le crédit d’impôt non-remboursable en raison de l’âge
Le crédit d’impôt non-remboursable pour revenu de retraite
Le crédit d’impôt non-remboursable pour invalidité
Le crédit d’impôt non-remboursable pour dons de bienfaisance
Le crédit d’impôt non-remboursable pour personne à charge admissible
Le montant canadien pour emploi
Le montant pour personne à charge admissible
Le montant pour époux ou conjoint de fait
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 remboursable pour la taxe sur les produits et services/taxe de vente harmonisée (TPS/TVH)
L’allocation canadienne pour les travailleurs (ACT) et son supplément pour invalidité
L’allocation canadienne pour enfants (ACE) et son supplément pour jeunes enfants (ACESJE)
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.federal.template()¶
Gabarit pour l’impôt fédéral.
- file()
- calc_gross_income()
- calc_net_income()
- calc_taxable_income()
- calc_deduc_gross_income()
- chcare()
- srd.federal.form_2016.chcare(self, p, hh)¶
Fonction qui calcule la déduction fédérale pour frais de garde.
- Paramètres
- Renvoie
Montant de la déduction pour frais de garde.
Cette fonction calcule le montant reçu en fonction des frais de garde, de l’âge des enfants et du revenu le moins élevé du couple. Le montant est reçu par le conjoint qui a le revenu le moins élevé.
- Type renvoyé
float
- cpp_deduction()
- qpip_deduction()
- calc_deduc_net_income()
- srd.federal.form_2016.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()
- srd.federal.form_2016.calc_non_refundable_tax_credits(self, p, hh)¶
Fonction qui calcule les crédits d’impôt non-remboursables.
Cette fonction fait la somme de tous les crédits modélisés en appelant les fonctions définies ci-après.
- get_age_cred()
- get_cpp_contrib_cred()
- get_qpip_cred()
- get_qpip_self_cred()
- get_empl_cred()
- get_pension_cred()
- get_disabled_cred()
- get_med_exp_nr_cred()
- get_donations_cred()
- div_tax_credit()
- calc_refundable_tax_credits()
- srd.federal.form_2016.calc_refundable_tax_credits(self, p, hh)¶
Fonction qui fait la somme des crédits remboursables, en appelant les fonctions suivantes, décrites ailleurs dans cette page: abatment, ccb, get_witb, get_witbds, med_exp, gst_hst_credit.
- abatment()
- ccb()
- srd.federal.form_2016.ccb(self, p, hh, iclaw=True)¶
Fonction qui calcule l’Allocation canadienne pour enfants (ACE).
- get_witb()
- srd.federal.form_2016.get_witb(self, p, hh)¶
Fonction qui calcule l’Allocation canadienne pour les travailleurs (ACT).
Avant 2019, celle-ci était appelée la Prestation fiscale pour le revenu de travail (PFRT).
Dans le cas d’un couple, la prestation est répartie au prorata des revenus de travail.
- get_witbds()
- srd.federal.form_2016.get_witbds(self, p, hh)¶
Fonction qui calcule le supplément pour invalidité à la Prestation fiscale pour le revenu de travail (SIPFRT).
À partir de 2019, le SIPFRT devient le supplément pour invalidité à l’Allocation canadienne pour les travailleurs (ACT).
- compute_witb_witbds()
- srd.federal.form_2016.compute_witb_witbds(self, p, hh, rate, base, witb_max, claw_rate, exemption)¶
Fonction appelée par get_witb et get_witbds pour calculer le montant de la PFRT / l’ACT et de son supplément.
- Paramètres
- Renvoie
Montant de la PFRT / l’ACT ou du supplément.
- Type renvoyé
float
- med_exp()
- gst_hst_credit()
- srd.federal.form_2016.gst_hst_credit(self, p, hh)¶
Fonction qui calcule le crédit pour la taxe sur les produits et services/taxe de vente harmonisée (TPS/TVH).
Le montant du crédit est reçu par le conjoint au revenu imposable le plus élevé.
- get_spouses_cred()
- get_dep_cred()
- get_spouse_transfer()
- get_ei_contrib_cred()
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 variables générées par l’impôt des attributs d’une personne qui font partie de son profil. C’est la fonction create_return() qui fait ce travail.
- srd.federal.create_return()¶
Fonctions spécifiques ou modifiées¶
2016
- class srd.federal.form_2016¶
Formulaire d’impôt de 2016.
2017
- class srd.federal.form_2017¶
Formulaire d’impôt de 2017.
2018
- class srd.federal.form_2018¶
Formulaire d’impôt de 2018.
2019
- class srd.federal.form_2019¶
Formulaire d’impôt de 2019.
- cpp_deduction()
- srd.federal.form_2019.cpp_deduction(self, p)¶
Fonction qui calcule la déduction pour les cotisations au RRQ/RPC de base pour les travailleurs autonomes et pour le régime supplémentaire du RRQ/RPC pour tous.
- Paramètres
p (Person) – instance de la classe Person
- Renvoie
Montant de la déduction.
- Type renvoyé
float
2020
- class srd.federal.form_2020¶
Formulaire d’impôt de 2020.
- compute_basic_amount()
- calc_net_income()
- repayments_ei()
- srd.federal.form_2020.repayments_ei(self, p)¶
Fonction qui calcule le montant du remboursement de prestations d’assurance-emploi et qui ajuste le montant des prestations, le revenu net et le revenu brut.
- Paramètres
p (Person) – instance de la classe Person
- Renvoie
Montant du remboursement.
- Type renvoyé
float
- calc_refundable_tax_credits()
- srd.federal.form_2020.calc_refundable_tax_credits(self, p, hh)¶
Fonction qui fait la somme des crédits remboursables, en appelant les fonctions suivantes, décrites ailleurs dans cette page: abatment, ccb, get_witb, get_witbds, med_exp, gst_hst_credit.
- oas_gis_covid_bonus()
- srd.federal.form_2020.oas_gis_covid_bonus(self, p)¶
Fonction qui calcule le montant supplémentaire unique de Pension de sécurité de vieillesse (PSV) et de Supplément de revenu garanti (SRG). Pour l’année 2020, le gouvernement a versé une prestation unique non imposable de 300$ aux bénéficiaires de la PSV. Les bénéficiaires du SRG ont aussi eu droit à un montant additionnel de 200$.
2021
- class srd.federal.form_2021¶
Formulaire d’impôt de 2021.
- calc_refundable_tax_credits()
- srd.federal.form_2021.calc_refundable_tax_credits(self, p, hh)¶
Fonction qui fait la somme des crédits remboursables, en appelant les fonctions suivantes, décrites ailleurs dans cette page: abatment, ccb, get_witb, get_witbds, med_exp, gst_hst_credit.
- ccb()
- srd.federal.form_2021.ccb(self, p, hh, iclaw=True)¶
Fonction qui calcule pour 2021 l’Allocation canadienne pour enfants (ACE) avec l’ACE supplément pour jeunes enfants (ACESJE), soit de moins de 6 ans.
- compute_witb_witbds()
- srd.federal.form_2021.compute_witb_witbds(self, p, hh, rate, base, witb_max, claw_rate, exemption)¶
Fonction appelée par get_witb et get_witbds pour calculer le montant de la PFRT / l’ACT et de son supplément. :param p: instance de la classe Person :type p: Person :param hh: instance de la classe Hhold :type hh: Hhold :param rate: taux appliqué au revenu du travail :type rate: float :param base: montant de base de la PFRT / l’ACT :type base: float :param witb_max: montant maximal de la PFRT / l’ACT :type witb_max: float :param claw_rate: taux de réduction :param exemption: exemption :type exemption: float
- Renvoie
Montant de la PFRT / l’ACT ou du supplément.
- Type renvoyé
float
2022
- class srd.federal.form_2022¶
Formulaire d’impôt de 2022.
- ccb()
- srd.federal.form_2022.ccb(self, p, hh, iclaw=True)¶
Fonction qui calcule l’Allocation canadienne pour enfants (ACE).