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