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.

Nous présentons ici la liste des fonctions incluses dans le gabarit:
(Cliquez sur le nom pour afficher les détails)

- file()

srd.federal.form_2016.file(self, hh)

Fonction qui permet de calculer l’impôt.

Cette fonction est celle qui calcule les déductions,les crédits non-remboursables et remboursables et l’impôt net.

Paramètres

hh (Hhold) – instance de la classe Hhold

- calc_gross_income()

srd.federal.form_2016.calc_gross_income(self, p)

Fonction qui calcule le revenu total (brut).

Cette fonction correspond au revenu total d’une personne aux fins de l’impôt.

Paramètres

p (Person) – instance de la classe Person

- calc_net_income()

srd.federal.form_2016.calc_net_income(self, p)

Fonction qui calcule le revenu net au sens de l’impôt.

Paramètres

p (Person) – instance de la classe Person

- calc_taxable_income()

srd.federal.form_2016.calc_taxable_income(self, p)

Fonction qui calcule le revenu imposable au sens de l’impôt.

Paramètres

p (Person) – instance de la classe Person

- calc_deduc_gross_income()

srd.federal.form_2016.calc_deduc_gross_income(self, p, hh)

Fonction qui calcule les déductions.

Cette fonction fait la somme des différentes déductions du contribuable.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- chcare()

srd.federal.form_2016.chcare(self, p, hh)

Fonction qui calcule la déduction fédérale pour frais de garde.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

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()

srd.federal.form_2016.cpp_deduction(self, p)

Fonction qui calcule la déduction pour les cotisations au RRQ/RPC pour les travailleurs autonomes.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant de la déduction.

Type renvoyé

float

- qpip_deduction()

srd.federal.form_2016.qpip_deduction(self, p)

Fonction qui calcule la déduction pour les cotisations au RQAP pour les travailleurs autonomes.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant de la déduction.

Type renvoyé

float

- 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()

srd.federal.form_2016.calc_tax(self, p)

Fonction qui calcule l’impôt à payer selon la table d’impôt.

Cette fonction utilise la table d’impôt de l’année en cours.

Paramètres

p (Person) – instance de la classe Person

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- get_age_cred()

srd.federal.form_2016.get_age_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable en raison de l’âge.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_cpp_contrib_cred()

srd.federal.form_2016.get_cpp_contrib_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour cotisations au RRQ/RPC.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_qpip_cred()

srd.federal.form_2016.get_qpip_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour cotisations au RQAP de travailleur salarié.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_qpip_self_cred()

srd.federal.form_2016.get_qpip_self_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour cotisations au RQAP de travailleur autonome.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_empl_cred()

srd.federal.form_2016.get_empl_cred(self, p)

Fonction qui calcule le montant canadien pour emploi.

Ce crédit est non-remboursable.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_pension_cred()

srd.federal.form_2016.get_pension_cred(self, p, hh)

Fonction qui calcule le crédit d’impôt non-remboursable pour revenu de retraite.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la class Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- get_disabled_cred()

srd.federal.form_2016.get_disabled_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour invalidité.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- get_med_exp_nr_cred()

srd.federal.form_2016.get_med_exp_nr_cred(self, p, hh)

Fonction qui calcule le crédit d’impôt non-remboursable pour frais médicaux.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- get_donations_cred()

srd.federal.form_2016.get_donations_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour dons.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float

- div_tax_credit()

srd.federal.form_2016.div_tax_credit(self, p)

Fonction qui calcule le crédit d’impôt pour dividendes.

Paramètres

p (Person) – instance de la classe Person

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- abatment()

srd.federal.form_2016.abatment(self, p, hh)

Fonction qui calcule l’abattement du Québec à l’impôt fédéral.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de l’abattement.

Type renvoyé

float

- ccb()

srd.federal.form_2016.ccb(self, p, hh, iclaw=True)

Fonction qui calcule l’Allocation canadienne pour enfants (ACE).

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • iclaw (boolean) – récupération des prestations si True; pas de récupération si False

Renvoie

Montant de l’ACE.

Type renvoyé

float

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de l’ACT.

Type renvoyé

float

- 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).

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du supplépment pour invalidité.

Type renvoyé

float

- 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
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • rate (float) – taux appliqué au revenu du travail

  • base (float) – montant de base de la PFRT / l’ACT

  • witb_max (float) – montant maximal de la PFRT / l’ACT

  • claw_rate – taux de réduction

  • exemption (float) – exemption

Renvoie

Montant de la PFRT / l’ACT ou du supplément.

Type renvoyé

float

- med_exp()

srd.federal.form_2016.med_exp(self, p, hh)

Fonction qui calcule le crédit remboursable pour frais médicaux.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- 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é.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- get_spouses_cred()

srd.federal.form_2016.get_spouses_cred(self, p, hh)

Fonction qui calcule le montant pour époux ou conjoint de fait.

Ce crédit est non-remboursable.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- get_dep_cred()

srd.federal.form_2016.get_dep_cred(self, p, hh)

Fonction qui calcule le montant pour personne à charge admissible.

Ce crédit est non-remboursable.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du crédit.

Type renvoyé

float

- get_spouse_transfer()

srd.federal.form_2016.get_spouse_transfer(self, p, hh)

Fonction qui récupère le surplus des crédits non-remboursables transférables au conjoint (s’il y lieu).

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- get_ei_contrib_cred()

srd.federal.form_2016.get_ei_contrib_cred(self, p)

Fonction qui calcule le crédit d’impôt non-remboursable pour cotisations à l’assurance emploi.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant du crédit.

Type renvoyé

float


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()

srd.federal.form_2020.compute_basic_amount(self, p)

Fonction qui calcule le montant personnel de base.

Le calcul de ce montant change en 2020.

Paramètres

p (Person) – instance de la classe Person

Renvoie

Montant personnel de base.

Type renvoyé

float

- calc_net_income()

srd.federal.form_2020.calc_net_income(self, p)

Fonction qui calcule le revenu net au sens de l’impôt.

Paramètres

p (Person) – instance de la classe Person

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- 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$.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant du paiement unique de SV et de SRG.

Type renvoyé

float


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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • iclaw (boolean) – récupération des prestations si True; pas de récupération si False

Renvoie

Montant de l’ACE.

Type renvoyé

float

- 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).

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • iclaw (boolean) – récupération des prestations si True; pas de récupération si False

Renvoie

Montant de l’ACE.

Type renvoyé

float