Exemple de calcul du revenu disponible

Construction du ménage

On construit un ménage où les deux conjoints ont 45 ans, les revenus de travail sont respectivement 50 000$ et 25 000$ et Jean contribue 5000$ à son REER.

import srd
jean = srd.Person(age=45,earn=50e3,con_rrsp=5e3)
pauline = srd.Person(age=45,earn=25e3)
hh = srd.Hhold(jean,pauline,prov='qc')

Le revenu familial total, disponible et après impôts peuvent être appelés. À ce stade, le revenu après impôts et le revenu disponible ne sont pas encore calculés.

hh.fam_inc_tot, hh.fam_after_tax_inc, hh.fam_disp_inc
(75000.0, None, None)

Le calculateur

On invoque une instance du calculateur en spécifiant l’année. Il existe aussi des indicateurs pour spécifier si on veut ou non obtenir le calcul de différents impôts. L’exemple ici utilisera seulement le calcul de l’impôt fédéral.

tax_form = srd.tax(2022)

La fonction compute() calcule tous les impôts et cotisations demandés:

tax_form.compute(hh)

Calcul du revenu après impôts et du revenu disponible

Après avoir fait les calculs, on peut aussi calculer différents concepts de revenu après impôts à l’aide des fonctions compute_after_tax_inc() et disp_inc(). Celles-ci viendront modifier les attributs des conjoints pour les variables after_tax_inc et disp_inc.

tax_form.disp_inc(hh)
tax_form.compute_after_tax_inc(hh)

On peut voir que les variables ont été modifiées:

hh.fam_inc_tot, hh.fam_after_tax_inc, hh.fam_disp_inc
(75000.0, 66834.418125, 56381.918125)
jean.inc_tot, jean.after_tax_inc, jean.disp_inc
(50000.0, 43301.5791875, 34594.8291875)
pauline.inc_tot, pauline.after_tax_inc, pauline.disp_inc
(25000.0, 23532.8389375, 21787.0889375)