Les acteurs

Les fonctions d’acteurs permettent de déclarer les profils.

Personnes

class srd.Person(age=50, male=True, earn=0, rpp=0, cpp=0, net_cap_gains=0, prev_cap_losses=0, cap_gains_exempt=0, othtax=0, othntax=0, inc_rrsp=0, self_earn=0, div_elig=0, div_other_can=0, con_rrsp=0, con_non_rrsp=0, con_rpp=0, union_dues=0, donation=0, gift=0, years_can=None, disabled=False, widow=False, med_exp=0, ndays_chcare_k1=0, ndays_chcare_k2=0, asset=0, oas_years_post=0, months_cerb_cesb=0, student=False, essential_worker=False, emp_temp_constraints=False, hours_month=None, prev_inc_work=None, dep_senior=False, home_support_cost=0, months_ei=0, months_crb=0, pub_drug_insurance=False, tax_shield=False, rent=0, prop_tax=0)

Classe pour définir une personne.

Ceci définit une personne et son profil en termes de revenus et d’actifs.

Paramètres
  • age (int) – âge de l’individu

  • male (bool) – prend la valeur True si l’individu est un homme

  • earn (float) – revenu de travail

  • rpp (float) – revenu de régime complémentaire de retraite (RCR)

  • cpp (float) – revenu du Régime de rentes du Québec (RRQ) ou du Régime de pensions du Canada (RPC)

  • net_cap_gains (float) – gains (ou pertes si valeur négative) nets en capital réalisés dans l’année

  • prev_cap_losses (float) – pertes en capital nettes d’autres années (avec facteur d’inclusion partielle déjà appliqué)

  • cap_gains_exempt (float) – exonération des gains en capital admissibles demandée (sur gains en capital nets); soumis à un plafond à vie

  • othtax (float) – autre revenu imposable

  • othntax (float) – autre revenu non-imposable

  • inc_rrsp (float) – revenu de REER (retrait de fonds)

  • self_earn (float) – revenu de travail autonome

  • div_elig (float) – montant réel des dividendes déterminés (canadiens)

  • div_other_can (float) – montant réel des dividendes ordinaires (canadiens)

  • con_rrsp (float) – cotisation REER

  • con_non_rrsp (float) – cotisation autre que REER (p.ex. à un CELI ou à des comptes non enregistrés)

  • con_rpp (float) – cotisation à un régime de pension agréé (RPA)

  • union_dues (float) – cotisations syndicales, professionnelles ou autres

  • donation (float) – don de bienfaisance et autres dons

  • gift (float) – dons de biens culturels et écosensibles

  • years_can (int) – nombre d’années vécues au Canada depuis l’âge de 18 ans lorsque la Pension de la sécurité de la vieillesse (PSV) est demandée

  • disabled (boolean) – statut d’invalidité selon les règles fiscales (le même statut est utilisé pour l’ensemble des mesures fiscales modélisées)

  • widow (boolean) – statut de veuf/veuve selon le Programme de la sécurité de la vieillesse

  • med_exp (float) – montant des dépenses en santé admissibles selon les règles fiscales (le même montant est utilisé pour tous les paliers de gouvernement)

  • ndays_chcare_k1 (float) – nombre de jours de garde du premier enfant

  • ndays_chcare_k2 (float) – nombre de jours de garde du second enfant

  • asset (float) – valeur marchande des actifs (avoirs liquides) comptabilisés aux fins d’admissibilité à l’aide sociale (vérifier la définition selon la province)

  • oas_years_post (int) – nombre d’années de report pour la PSV (après 65 ans)

  • months_cerb_cesb (int) – nombre de mois pour lesquels la PCU ou la PCUE est demandée

  • student (boolean) – statut d’étudiant aux fins d’admissibilité à la PCUE

  • essential_worker (boolean) – True si travailleur essentiel (au Québec seulement)

  • hours_month (float) – nombre d’heures travaillées par mois

  • prev_inc_work (float) – revenu du travail de l’année précédente

  • dep_senior (boolean) – True si la personne aînée n’est pas autonome aux du crédit d’impôt pour maintien à domicile des aînés

  • home_support_cost (float) – dépenses engagées pour des services de maintien à domicile rendus ou à être rendus à partir du jour du 70e anniversaire

  • months_ei (int) – nombre de mois pour lesquels l’Assurance-Emploi sont demandée

  • months_crb (int) – nombre de mois pour lesquels la PCRE est demandée

  • pub_drug_insurance (boolean) – True si la personne doit cotiser à l’Assurance médicaments du Québec (pas d’assurance médicaments privée)

  • tax_shield (boolean) – True si la personne demande le crédit d’impôt bouclier ficscal au Québec

  • rent (float) – dépense de logement

  • prop_tax (float) – dépense sur taxe foncière

Fonctions incluses dans cette classe:
(Cliquez pour afficher les détails)

- attach_prev_work_inc()

srd.Person.attach_prev_work_inc(self, prev_work_inc)

Fonction qui ajoute le revenu du travail de l’an passé s’il est disponible, ou l’approxime avec le revenu du travail de l’année courante sinon.

Paramètres

prev_work_inc (float) – revenu de travail de l’année précédente

- attach_inc_work_month()

srd.Person.attach_inc_work_month(self, earn, self_earn)

Fonction qui convertit le revenu de travail annuel en revenu mensuel et vice versa.

On entre le revenu de travail annuel ou mensuel (liste avec 12 éléments) et le revenu de travail annuel et mensuel deviennent des attributs de la personne.

Paramètres
  • earn (float or list) – revenu de travail salarié

  • self_earn (float or list) – revenu de travail autonome

- inc_work()

srd.Person.inc_work()

Fonction qui retourne le revenu de travail.

Inclut le revenu de travail autonome.

Renvoie

Revenu de travail.

Type renvoyé

float

- inc_non_work()

srd.Person.inc_non_work()

Fonction qui retourne le total des revenus autres que les revenus du travail.

Renvoie

Revenu provenant de sources autres que le travail.

Type renvoyé

float

- inc_tot()

srd.Person.inc_tot()

Fonction qui retourne le revenu total.

Ce revenu total contient les montants réels des dividendes de sociétés canadiennes (et non les montants imposables).

Renvoie

Revenu total.

Type renvoyé

float

- compute_months_cerb_cesb()

srd.Person.compute_months_cerb_cesb(self, months_cerb_cesb, student)

Fonction qui établit le nombre de mois de PCU ou de PCUE selon le nombre de mois pour lesquels la personne demande la prestation et selon son statut d’étudiant.

Paramètres
  • months_cerb_cesb (int) – nombre de mois pour lesquels la prestation est demandée

  • student (boolean) – True si la personne est étudiante (ou l’était en décembre 2019)

- copy()

srd.Person.copy(self)

Fonction qui produit une copie des attributs de la personne.

- reset()

srd.Person.reset(self)

Fonction qui utilise la copie des attributs de la personne pour réinitialiser l’instance de la personne.


Dépendants (enfant ou proche à charge)

class srd.Dependent(age, disa=False, child_care=0, school=None, home_care=None, med_exp=0)

Classe pour définir un dépendant.

Ceci définit un dépendant et son profil.

Paramètres
  • age (int) – âge de l’individu

  • disa (boolean) – statut d’invalidité

  • child_care (float) – dépenses réelles de frais de garde

  • school (float) – dépenses de scolarité

  • home_care (float) – dépenses engagées pour des services de maintien à domicile rendus ou à être rendus à partir du jour du 70e anniversaire

  • med_exp (float) – dépenses en santé admissibles


Ménages

class srd.Hhold(first, second=None, prov='qc', n_adults_in_hh=None, prev_fam_net_inc_prov=None)

Classe pour définir un ménage.

Ceci définit un ménage et son profil.

Paramètres
  • first (Person) – instance Person du 1er membre du couple

  • second (Person) – instance Person du 2e membre du couple, s’il y a lieu

  • prov (str) – province (qc = Québec)

  • n_adults_in_hh (int) – nombre d’adultes (18 ans et plus) dans le ménage

Fonctions incluses dans cette classe - les fonctions relatives au revenu utilisent des quantités déjà calculées au niveau individuel par la classe principale du calculateur (tax), soit le calculateur de revenu disponible:
(Cliquez pour afficher les détails)

- adjust_n_adults()

srd.Hhold.adjust_n_adults(self, n_adults_in_hh)

Fonction qui calcule le nombre d’adultes dans le ménage si celui-ci n’est pas fourni.

Paramètres

n_adults_in_hh (float) – nombre d’adultes dans le ménage s’il est fourni, None sinon

Renvoie

Nombre d’adultes dans le ménage.

Type renvoyé

float

- fam_inc_work()

srd.Hhold.fam_inc_work()

Fonction qui calcule le revenu de travail du ménage.

Renvoie

Revenu de travail du ménage.

Type renvoyé

float

- fam_inc_non_work()

srd.Hhold.fam_inc_non_work(self)

Fonction qui calcule le revenu familial de sources autres que le travail.

Renvoie

Revenu familial de sources autres que le travail.

Type renvoyé

float

- fam_inc_tot()

srd.Hhold.fam_inc_tot()

Fonction qui calcule le revenu familial total.

Renvoie

Revenu familial total.

Type renvoyé

float

- fam_after_tax_inc()

srd.Hhold.fam_after_tax_inc()

Fonction qui calcule le revenu familial après impôts.

Renvoie

Revenu familial après impôts.

Type renvoyé

float

- fam_disp_inc()

srd.Hhold.fam_disp_inc()

Fonction qui additionne les revenus disponibles du conjoint pour obtenir le revenu disponible familial.

Il s’agit du revenu disponible après impôts, cotisations sociales, épargne (positive ou négative) et prestations.

Renvoie

Revenu familial disponible, après impôts et cotisations.

Type renvoyé

float

- child_care_exp()

srd.Hhold.child_care_exp()

Fonction qui calcule la dépense en frais de garde pour le ménage.

Renvoie

Montant total des dépenses de frais de garde.

Type renvoyé

float

- fam_net_inc_prov()

srd.Hhold.fam_net_inc_prov()

Fonction qui calcule le revenu familial net pour l’impôt et les programmes provinciaux.

Renvoie

Revenu familial net provincial.

Type renvoyé

float

- fam_net_inc_fed()

srd.Hhold.fam_net_inc_fed()

Fonction qui calcule le revenu familial net pour l’impôt et les programmes fédéraux.

Renvoie

Revenu familial net fédéral.

Type renvoyé

float

- add_dependent()

srd.Hhold.add_dependent(self, *dependents)

Fonction pour ajouter un ou plusieurs dépendant(s).

Paramètres

dependent (Dependent) – instance de la classe Dependent ou liste d’instances de la classe Dependent

- count()

srd.Hhold.count(self)

Fonction pour calculer le nombre d’enfants dans différentes catégories d’âge.

- compute_max_split()

srd.Hhold.compute_max_split(self)

Fonction qui calcule le montant maximal de revenu de pension pouvant être fractionné, et qui l’attache à chaque conjoint du ménage dans l’attribut max_split.

- assess_elig_split()

srd.Hhold.assess_elig_split(self)

Fonction qui établit si le ménage est admissible pour le fractionnement du revenu de pension, et qui l’attache au ménage dans l’attribut elig_split.

- copy()

srd.Hhold.copy(self)

Fonction qui produit une copie des attributs du ménage et des personnes dans le ménage.

- reset()

srd.Hhold.reset(self)

Fonction qui utilise la copie des attributs du ménage et des personnes pour réinitialiser l’instance du ménage.