OpenFisca-France 169.3.3__py3-none-any.whl → 169.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of OpenFisca-France might be problematic. Click here for more details.
- {OpenFisca_France-169.3.3.dist-info → OpenFisca_France-169.5.0.dist-info}/METADATA +1 -1
- {OpenFisca_France-169.3.3.dist-info → OpenFisca_France-169.5.0.dist-info}/RECORD +93 -91
- openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py +8 -3
- openfisca_france/model/prelevements_obligatoires/impot_revenu/ir.py +150 -112
- openfisca_france/model/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/ir_prelevement_forfaitaire_unique.py +13 -8
- openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/activite.py +3 -3
- openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_prive.py +3 -3
- openfisca_france/model/prestations/minima_sociaux/aah.py +30 -30
- openfisca_france/model/revenus/activite/salarie.py +5 -5
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/decote/seuil_celib.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/decote/seuil_couple.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/index.yaml +2 -3
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/celib.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/celib_enf.yaml +3 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/general.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/reduc_postplafond.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/plafond_avantages_procures_par_demi_part/reduc_postplafond_veuf.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/couple_ou_pers_a_charge/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/couple_ou_pers_a_charge/not6.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/index.yaml +2 -6
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/sans_pers_a_charge/index.yaml +3 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/sans_pers_a_charge/not31b.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/plaf_qf/quotient_familial/sans_pers_a_charge/not32.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/actions_gratuites/index.yaml +9 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/actions_gratuites/taux2.yaml +3 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/actions_gratuites/taux3.yaml +4 -3
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/actions_gratuites/taux4.yaml +3 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/index.yaml +7 -4
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/taux_moins_3_ans.yaml +17 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/taux_plus_3_ans_pre_2018.yaml +23 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/etnc/index.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/etnc/taux.yaml +12 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/index.yaml +4 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/pea/index.yaml +3 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/pea/taux_avant_2_ans.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/pea/taux_posterieur.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/pvce/index.yml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/{plus_values/pvce.yaml → pvce/taux.yaml} +6 -3
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/report_impot_expire/index.yml +7 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/report_impot_expire/taux_cas_general.yaml +11 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/report_impot_expire/taux_conditionnel.yaml +11 -0
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/recouvrement/index.yaml +4 -4
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/recouvrement/{min.yaml → min_apres_credits_impots.yaml} +2 -2
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/recouvrement/{seuil.yaml → min_avant_credits_impots.yaml} +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/accueil_dans_etablissement_personnes_agees/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/accueil_dans_etablissement_personnes_agees/plafond.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/accueil_dans_etablissement_personnes_agees/taux.yaml +4 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/compte_epargne_co_developpement/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/cotisations_syndicales/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/divers/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/dons/dons_aux_partis_politiques/plafond_seul.yaml +6 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/dons/dons_interet_general/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/dons/dons_interet_general/plafond.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/dons/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/increment_plafond.yaml +4 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/plafond.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/plafond_1ere_annee.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/plafond_maximum.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/taux.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/enfants_scolarises/college.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/enfants_scolarises/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/enfants_scolarises/lycee.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/enfants_scolarises/universite.yaml +3 -3
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissement_forestier/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/location_meublee/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/prestations_compensatoires/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/prestations_compensatoires/plafond.yaml +3 -0
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/prestations_compensatoires/taux.yaml +4 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/reduction_domtom/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/reduction_impot_exceptionnelle/index.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/index.yaml +6 -6
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/plafond.yaml +5 -3
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/plafond_revenu_net_global.yaml +5 -3
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/taux_1.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/taux_2.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_reductions_impots/souscriptions/sofica/taux_3.yaml +3 -1
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/deductions/abatpro/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/deductions/index.yaml +2 -2
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/produits_assurances_vies_assimiles/{abattement.yaml → abattement_celib.yaml} +2 -2
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/produits_assurances_vies_assimiles/abattement_couple.yaml +31 -0
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/produits_assurances_vies_assimiles/index.yaml +4 -2
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/revenus_capitaux_mobiliers_dividendes/abattement_forfaitaire.yaml +1 -1
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/revenus_capitaux_mobiliers_dividendes/index.yaml +2 -1
- openfisca_france/parameters/impot_revenu/calcul_revenus_imposables/rvcm/revenus_capitaux_mobiliers_dividendes/taux_abattement.yaml +2 -2
- openfisca_france/parameters/impot_revenu/contributions_exceptionnelles/contribution_exceptionnelle_hauts_revenus.yaml +7 -3
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/moins_3ans.yaml +0 -11
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/plus_3ans/index.yaml +0 -6
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/plus_3ans/post_2018.yaml +0 -14
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/bspce/plus_3ans/pre_2018.yaml +0 -16
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/plus_values/taux_plus_values_entc.yaml +0 -9
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/plus_values/taux_plus_values_report.yaml +0 -9
- openfisca_france/parameters/impot_revenu/calcul_impot_revenu/pv/plus_values/taux_plus_values_report_conditionnel.yaml +0 -9
- {OpenFisca_France-169.3.3.dist-info → OpenFisca_France-169.5.0.dist-info}/LICENSE.AGPL.txt +0 -0
- {OpenFisca_France-169.3.3.dist-info → OpenFisca_France-169.5.0.dist-info}/WHEEL +0 -0
- {OpenFisca_France-169.3.3.dist-info → OpenFisca_France-169.5.0.dist-info}/top_level.txt +0 -0
|
@@ -416,10 +416,10 @@ class revenu_assimile_salaire_apres_abattements(Variable):
|
|
|
416
416
|
revenu_assimile_salaire = individu('revenu_assimile_salaire', period)
|
|
417
417
|
chomeur_longue_duree = individu('chomeur_longue_duree', period)
|
|
418
418
|
frais_reels = individu('frais_reels', period)
|
|
419
|
-
|
|
419
|
+
parameters_deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions
|
|
420
420
|
|
|
421
|
-
abattement_minimum = where(chomeur_longue_duree,
|
|
422
|
-
abatfor = round_(min_(max_(
|
|
421
|
+
abattement_minimum = where(chomeur_longue_duree, parameters_deductions.abatpro.min2, parameters_deductions.abatpro.min)
|
|
422
|
+
abatfor = round_(min_(max_(parameters_deductions.abatpro.taux * revenu_assimile_salaire, abattement_minimum), parameters_deductions.abatpro.max))
|
|
423
423
|
return (
|
|
424
424
|
(frais_reels > abatfor)
|
|
425
425
|
* (revenu_assimile_salaire - frais_reels)
|
|
@@ -430,9 +430,9 @@ class revenu_assimile_salaire_apres_abattements(Variable):
|
|
|
430
430
|
def formula_2018_01_01(individu, period, parameters):
|
|
431
431
|
revenu_assimile_salaire = individu('revenu_assimile_salaire', period)
|
|
432
432
|
frais_reels = individu('frais_reels', period)
|
|
433
|
-
|
|
433
|
+
parameters_deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions
|
|
434
434
|
|
|
435
|
-
abatfor = round_(min_(max_(
|
|
435
|
+
abatfor = round_(min_(max_(parameters_deductions.abatpro.taux * revenu_assimile_salaire, parameters_deductions.abatpro.min), parameters_deductions.abatpro.max))
|
|
436
436
|
return (
|
|
437
437
|
(frais_reels > abatfor)
|
|
438
438
|
* (revenu_assimile_salaire - frais_reels)
|
|
@@ -464,17 +464,17 @@ class revenu_assimile_pension_apres_abattements(Variable):
|
|
|
464
464
|
|
|
465
465
|
def formula(individu, period, parameters):
|
|
466
466
|
revenu_assimile_pension = individu('revenu_assimile_pension', period)
|
|
467
|
-
|
|
467
|
+
parameters_deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions
|
|
468
468
|
|
|
469
469
|
# TODO: problème car les pensions sont majorées au niveau du foyer
|
|
470
470
|
# d11 = ( AS + BS + CS + DS + ES +
|
|
471
471
|
# AO + BO + CO + DO + EO )
|
|
472
472
|
# penv2 = (d11-f11> abatpen.max)*(penv + (d11-f11-abatpen.max)) + (d11-f11<= abatpen.max)*penv
|
|
473
473
|
# Plus d'abatement de 20% en 2006
|
|
474
|
-
return max_(0, revenu_assimile_pension - round_(max_(
|
|
474
|
+
return max_(0, revenu_assimile_pension - round_(max_(parameters_deductions.abatpen.taux * revenu_assimile_pension, parameters_deductions.abatpen.min)))
|
|
475
475
|
|
|
476
476
|
|
|
477
|
-
# return max_(0, revenu_assimile_pension - min_(round_(max_(
|
|
477
|
+
# return max_(0, revenu_assimile_pension - min_(round_(max_(parameters_deductions.abatpen.taux*revenu_assimile_pension , parameters_deductions.abatpen.min)), parameters_deductions.abatpen.max)) le max se met au niveau du foyer
|
|
478
478
|
|
|
479
479
|
class indu_plaf_abat_pen(Variable):
|
|
480
480
|
value_type = float
|
|
@@ -485,13 +485,13 @@ class indu_plaf_abat_pen(Variable):
|
|
|
485
485
|
def formula(foyer_fiscal, period, parameters):
|
|
486
486
|
rev_pen_i = foyer_fiscal.members('revenu_assimile_pension', period)
|
|
487
487
|
pen_net_i = foyer_fiscal.members('revenu_assimile_pension_apres_abattements', period)
|
|
488
|
-
|
|
488
|
+
parameters_deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions
|
|
489
489
|
|
|
490
490
|
revenu_assimile_pension_apres_abattements = foyer_fiscal.sum(pen_net_i)
|
|
491
491
|
revenu_assimile_pension = foyer_fiscal.sum(rev_pen_i)
|
|
492
492
|
|
|
493
493
|
abat = revenu_assimile_pension - revenu_assimile_pension_apres_abattements
|
|
494
|
-
return abat - min_(abat,
|
|
494
|
+
return abat - min_(abat, parameters_deductions.abatpen.max)
|
|
495
495
|
|
|
496
496
|
|
|
497
497
|
class abattement_salaires_pensions(Variable):
|
|
@@ -504,9 +504,9 @@ class abattement_salaires_pensions(Variable):
|
|
|
504
504
|
def formula(individu, period, parameters):
|
|
505
505
|
revenu_assimile_salaire_apres_abattements = individu('revenu_assimile_salaire_apres_abattements', period)
|
|
506
506
|
revenu_assimile_pension_apres_abattements = individu('revenu_assimile_pension_apres_abattements', period)
|
|
507
|
-
|
|
507
|
+
parameters_deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions
|
|
508
508
|
|
|
509
|
-
return min_(
|
|
509
|
+
return min_(parameters_deductions.abat_supp.taux * max_(revenu_assimile_salaire_apres_abattements + revenu_assimile_pension_apres_abattements, 0), parameters_deductions.abat_supp.max)
|
|
510
510
|
|
|
511
511
|
|
|
512
512
|
class rente_viagere_titre_onereux(Variable):
|
|
@@ -691,6 +691,9 @@ class revenu_categoriel_capital(Variable):
|
|
|
691
691
|
Revenus des valeurs et capitaux mobiliers
|
|
692
692
|
'''
|
|
693
693
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
694
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
695
|
+
veuf = foyer_fiscal('veuf', period)
|
|
696
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
694
697
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
695
698
|
f2ch = foyer_fiscal('f2ch', period)
|
|
696
699
|
f2dc = foyer_fiscal('f2dc', period)
|
|
@@ -700,32 +703,34 @@ class revenu_categoriel_capital(Variable):
|
|
|
700
703
|
f2go = foyer_fiscal('f2go', period)
|
|
701
704
|
f2gr = foyer_fiscal('f2gr', period)
|
|
702
705
|
f2tr = foyer_fiscal('f2tr', period)
|
|
703
|
-
|
|
706
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
707
|
+
|
|
708
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
704
709
|
|
|
705
710
|
f2dc_bis = f2dc
|
|
706
711
|
f2tr_bis = f2tr
|
|
707
712
|
# # Calcul du revenu catégoriel
|
|
708
713
|
# 1.2 Revenus des valeurs et capitaux mobiliers
|
|
709
|
-
b12 = min_(f2ch,
|
|
714
|
+
b12 = min_(f2ch, abattement_assurance_vie)
|
|
710
715
|
TOT1 = f2ch - b12 # c12
|
|
711
716
|
# Part des frais s'imputant sur les revenus déclarés case DC
|
|
712
717
|
den = ((f2dc_bis + f2ts) != 0) * (f2dc_bis + f2ts) + ((f2dc_bis + f2ts) == 0)
|
|
713
718
|
F1 = f2ca / den * f2dc_bis # f12
|
|
714
719
|
# Revenus de capitaux mobiliers nets de frais, ouvrant droit à abattement
|
|
715
720
|
# partie négative (à déduire des autres revenus nets de frais d'abattements
|
|
716
|
-
g12a = -min_(f2dc_bis * (1 -
|
|
721
|
+
g12a = -min_(f2dc_bis * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement) - F1, 0)
|
|
717
722
|
# partie positive
|
|
718
|
-
g12b = max_(f2dc_bis * (1 -
|
|
719
|
-
rev = g12b + f2gr + f2fu * (1 -
|
|
723
|
+
g12b = max_(f2dc_bis * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement) - F1, 0)
|
|
724
|
+
rev = g12b + f2gr + f2fu * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement)
|
|
720
725
|
|
|
721
726
|
# Abattements, limité au revenu
|
|
722
|
-
h12 =
|
|
727
|
+
h12 = parameters_rvcm.revenus_capitaux_mobiliers_dividendes.abattement_forfaitaire * (1 + maries_ou_pacses)
|
|
723
728
|
TOT2 = max_(0, rev - h12)
|
|
724
729
|
# i121= -min_(0,rev - h12)
|
|
725
730
|
|
|
726
731
|
# Part des frais s'imputant sur les revenus déclarés ligne TS
|
|
727
732
|
F2 = f2ca - F1
|
|
728
|
-
TOT3 = (f2ts - F2) + f2go *
|
|
733
|
+
TOT3 = (f2ts - F2) + f2go * parameters_rvcm.majoration_revenus_reputes_distribues + f2tr_bis - g12a
|
|
729
734
|
|
|
730
735
|
DEF = deficit_rcm
|
|
731
736
|
return max_(TOT1 + TOT2 + TOT3 - DEF, 0)
|
|
@@ -735,6 +740,9 @@ class revenu_categoriel_capital(Variable):
|
|
|
735
740
|
Revenus des valeurs et capitaux mobiliers
|
|
736
741
|
'''
|
|
737
742
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
743
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
744
|
+
veuf = foyer_fiscal('veuf', period)
|
|
745
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
738
746
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
739
747
|
f2ch = foyer_fiscal('f2ch', period)
|
|
740
748
|
f2da = foyer_fiscal('f2da', period)
|
|
@@ -745,23 +753,25 @@ class revenu_categoriel_capital(Variable):
|
|
|
745
753
|
f2go = foyer_fiscal('f2go', period)
|
|
746
754
|
f2gr = foyer_fiscal('f2gr', period)
|
|
747
755
|
f2tr = foyer_fiscal('f2tr', period)
|
|
748
|
-
|
|
756
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
757
|
+
|
|
758
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
749
759
|
|
|
750
760
|
part_frais_imputes_sur_f2dc = f2ca / max_(1, f2dc + f2ts) * f2dc
|
|
751
|
-
part_frais_restant_a_imputer = -min_(f2dc * (1 -
|
|
761
|
+
part_frais_restant_a_imputer = -min_(f2dc * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement * (f2da == 0)) - part_frais_imputes_sur_f2dc, 0)
|
|
752
762
|
|
|
753
|
-
dividendes_apres_abattements = max_(f2dc * (1 -
|
|
754
|
-
revenus_assurance_vie_apres_abattements = f2ch - min_(f2ch,
|
|
763
|
+
dividendes_apres_abattements = max_(f2dc * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement * (f2da == 0)) - part_frais_imputes_sur_f2dc, 0)
|
|
764
|
+
revenus_assurance_vie_apres_abattements = f2ch - min_(f2ch, abattement_assurance_vie)
|
|
755
765
|
rvcm_apres_abattements_proportionnels = (
|
|
756
766
|
revenus_assurance_vie_apres_abattements
|
|
757
767
|
+ dividendes_apres_abattements
|
|
758
768
|
+ f2gr
|
|
759
|
-
+ f2fu * (1 -
|
|
769
|
+
+ f2fu * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement * (f2da == 0))
|
|
760
770
|
)
|
|
761
|
-
rvcm_apres_abattements_proportionnels_et_fixes = max_(0, rvcm_apres_abattements_proportionnels -
|
|
771
|
+
rvcm_apres_abattements_proportionnels_et_fixes = max_(0, rvcm_apres_abattements_proportionnels - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.abattement_forfaitaire * (1 + maries_ou_pacses))
|
|
762
772
|
autres_rvcm_sans_abattements = (
|
|
763
773
|
f2ts - (f2ca - part_frais_imputes_sur_f2dc)
|
|
764
|
-
+ f2go *
|
|
774
|
+
+ f2go * parameters_rvcm.majoration_revenus_reputes_distribues
|
|
765
775
|
+ f2tr - part_frais_restant_a_imputer
|
|
766
776
|
)
|
|
767
777
|
|
|
@@ -772,6 +782,9 @@ class revenu_categoriel_capital(Variable):
|
|
|
772
782
|
Revenus des valeurs et capitaux mobiliers
|
|
773
783
|
'''
|
|
774
784
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
785
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
786
|
+
veuf = foyer_fiscal('veuf', period)
|
|
787
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
775
788
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
776
789
|
f2ca = foyer_fiscal('f2ca', period)
|
|
777
790
|
f2ch = foyer_fiscal('f2ch', period)
|
|
@@ -780,15 +793,16 @@ class revenu_categoriel_capital(Variable):
|
|
|
780
793
|
f2go = foyer_fiscal('f2go', period)
|
|
781
794
|
f2tr = foyer_fiscal('f2tr', period)
|
|
782
795
|
f2ts = foyer_fiscal('f2ts', period)
|
|
783
|
-
|
|
796
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
784
797
|
|
|
785
798
|
# Revenus après abatemment
|
|
786
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
787
|
-
abattement_assurance_vie =
|
|
799
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
800
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
801
|
+
|
|
788
802
|
rvcm_apres_abattement = (
|
|
789
803
|
f2fu + f2dc - abattement_dividende
|
|
790
804
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
791
|
-
+ f2ts + f2tr + f2go *
|
|
805
|
+
+ f2ts + f2tr + f2go * parameters_rvcm.majoration_revenus_reputes_distribues
|
|
792
806
|
)
|
|
793
807
|
|
|
794
808
|
return max_(0, rvcm_apres_abattement - f2ca - deficit_rcm)
|
|
@@ -798,6 +812,9 @@ class revenu_categoriel_capital(Variable):
|
|
|
798
812
|
Revenus des valeurs et capitaux mobiliers
|
|
799
813
|
'''
|
|
800
814
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
815
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
816
|
+
veuf = foyer_fiscal('veuf', period)
|
|
817
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
801
818
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
802
819
|
f2ca = foyer_fiscal('f2ca', period)
|
|
803
820
|
f2ch = foyer_fiscal('f2ch', period)
|
|
@@ -808,15 +825,16 @@ class revenu_categoriel_capital(Variable):
|
|
|
808
825
|
f2ts = foyer_fiscal('f2ts', period)
|
|
809
826
|
f2tt_2016 = foyer_fiscal('f2tt_2016', period)
|
|
810
827
|
f2tu_2016 = foyer_fiscal('f2tu_2016', period)
|
|
811
|
-
|
|
828
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
812
829
|
|
|
813
830
|
# Revenus après abatemment
|
|
814
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
815
|
-
abattement_assurance_vie =
|
|
831
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
832
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
833
|
+
|
|
816
834
|
rvcm_apres_abattement = (
|
|
817
835
|
f2fu + f2dc - abattement_dividende
|
|
818
836
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
819
|
-
+ f2ts + f2tr + max_(0, f2tt_2016 - f2tu_2016) + f2go *
|
|
837
|
+
+ f2ts + f2tr + max_(0, f2tt_2016 - f2tu_2016) + f2go * parameters_rvcm.majoration_revenus_reputes_distribues
|
|
820
838
|
)
|
|
821
839
|
|
|
822
840
|
return max_(0, rvcm_apres_abattement - f2ca - deficit_rcm)
|
|
@@ -834,6 +852,9 @@ class revenu_categoriel_capital(Variable):
|
|
|
834
852
|
- Brochure pratique de l'IR 2017 sur revenus 2016 : https://www.impots.gouv.fr/portail/www2/fichiers/documentation/brochure/ir_2017/files/assets/common/downloads/publication.pdf
|
|
835
853
|
'''
|
|
836
854
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
855
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
856
|
+
veuf = foyer_fiscal('veuf', period)
|
|
857
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
837
858
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
838
859
|
f2ca = foyer_fiscal('f2ca', period)
|
|
839
860
|
f2ch = foyer_fiscal('f2ch', period)
|
|
@@ -843,15 +864,15 @@ class revenu_categoriel_capital(Variable):
|
|
|
843
864
|
f2tr = foyer_fiscal('f2tr', period)
|
|
844
865
|
f2ts = foyer_fiscal('f2ts', period)
|
|
845
866
|
f2tt = foyer_fiscal('f2tt', period)
|
|
846
|
-
|
|
867
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
847
868
|
|
|
848
869
|
# Revenus après abatemment
|
|
849
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
850
|
-
abattement_assurance_vie =
|
|
870
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
871
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
851
872
|
rvcm_apres_abattement = (
|
|
852
873
|
f2fu + f2dc - abattement_dividende
|
|
853
874
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
854
|
-
+ f2ts + f2tr + f2tt + f2go *
|
|
875
|
+
+ f2ts + f2tr + f2tt + f2go * parameters_rvcm.majoration_revenus_reputes_distribues
|
|
855
876
|
)
|
|
856
877
|
|
|
857
878
|
return max_(0, rvcm_apres_abattement - f2ca - deficit_rcm)
|
|
@@ -866,8 +887,11 @@ class revenu_categoriel_capital(Variable):
|
|
|
866
887
|
Dans ce cas, ils ne sortent pas de la variable `revenu_categoriel_capital`.
|
|
867
888
|
'''
|
|
868
889
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
890
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
891
|
+
veuf = foyer_fiscal('veuf', period)
|
|
892
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
869
893
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
870
|
-
|
|
894
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
871
895
|
imposition_au_bareme = foyer_fiscal('f2op', period)
|
|
872
896
|
|
|
873
897
|
# Revenus à prendre en compte dans les deux cas: pfu ou imposition au barème
|
|
@@ -887,12 +911,13 @@ class revenu_categoriel_capital(Variable):
|
|
|
887
911
|
f2zz = foyer_fiscal('f2zz', period)
|
|
888
912
|
|
|
889
913
|
# Revenus après abatemment
|
|
890
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
891
|
-
abattement_assurance_vie =
|
|
914
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
915
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
892
916
|
abattement_residuel = max_(abattement_assurance_vie - f2ch, 0)
|
|
893
917
|
abattement_residuel2 = max_(abattement_residuel - f2vv, 0)
|
|
918
|
+
|
|
894
919
|
pre_result = where(imposition_au_bareme, f2zz + max_(f2vv - abattement_residuel, 0) + max_(f2ww - abattement_residuel2, 0) + f2fu + f2dc - abattement_dividende
|
|
895
|
-
+ f2ts + f2tr + f2tt + f2go *
|
|
920
|
+
+ f2ts + f2tr + f2tt + f2go * parameters_rvcm.majoration_revenus_reputes_distribues, 0)
|
|
896
921
|
rvcm_apres_abattement = (
|
|
897
922
|
f2yy
|
|
898
923
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
@@ -911,8 +936,11 @@ class revenu_categoriel_capital(Variable):
|
|
|
911
936
|
Source : Brochure pratique revenus 2019 page 123 et 340: https://www.impots.gouv.fr/www2/fichiers/documentation/brochure/ir_2020/accueil.htm
|
|
912
937
|
'''
|
|
913
938
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
939
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
940
|
+
veuf = foyer_fiscal('veuf', period)
|
|
941
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
914
942
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
915
|
-
|
|
943
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
916
944
|
imposition_au_bareme = foyer_fiscal('f2op', period)
|
|
917
945
|
|
|
918
946
|
# Revenus à prendre en compte dans les deux cas: pfu ou imposition au barème
|
|
@@ -933,12 +961,13 @@ class revenu_categoriel_capital(Variable):
|
|
|
933
961
|
f2tq = foyer_fiscal('f2tq', period)
|
|
934
962
|
|
|
935
963
|
# Revenus après abatemment
|
|
936
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
937
|
-
abattement_assurance_vie =
|
|
964
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
965
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
938
966
|
abattement_residuel = max_(abattement_assurance_vie - f2ch, 0)
|
|
939
967
|
abattement_residuel2 = max_(abattement_residuel - f2vv, 0)
|
|
968
|
+
|
|
940
969
|
pre_result = where(imposition_au_bareme, f2zz + max_(f2vv - abattement_residuel, 0) + max_(f2ww - abattement_residuel2, 0) + f2fu + f2dc - abattement_dividende
|
|
941
|
-
+ f2ts + f2tr + f2tt + f2go *
|
|
970
|
+
+ f2ts + f2tr + f2tt + f2go * parameters_rvcm.majoration_revenus_reputes_distribues + f2tq, 0)
|
|
942
971
|
rvcm_apres_abattement = (
|
|
943
972
|
f2yy
|
|
944
973
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
@@ -957,8 +986,11 @@ class revenu_categoriel_capital(Variable):
|
|
|
957
986
|
Source : Brochure pratique revenus 2020 page 119, 132 et 364: https://www.impots.gouv.fr/www2/fichiers/documentation/brochure/ir_2021/accueil.htm
|
|
958
987
|
'''
|
|
959
988
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
989
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
990
|
+
veuf = foyer_fiscal('veuf', period)
|
|
991
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
960
992
|
deficit_rcm = foyer_fiscal('deficit_rcm', period)
|
|
961
|
-
|
|
993
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
962
994
|
imposition_au_bareme = foyer_fiscal('f2op', period)
|
|
963
995
|
|
|
964
996
|
# Revenus à prendre en compte dans les deux cas: pfu ou imposition au barème
|
|
@@ -980,12 +1012,13 @@ class revenu_categoriel_capital(Variable):
|
|
|
980
1012
|
f2tz = foyer_fiscal('f2tz', period)
|
|
981
1013
|
|
|
982
1014
|
# Revenus après abatemment
|
|
983
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
984
|
-
abattement_assurance_vie =
|
|
1015
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
1016
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
985
1017
|
abattement_residuel = max_(abattement_assurance_vie - f2ch, 0)
|
|
986
1018
|
abattement_residuel2 = max_(abattement_residuel - f2vv, 0)
|
|
1019
|
+
|
|
987
1020
|
pre_result = where(imposition_au_bareme, f2zz + max_(f2vv - abattement_residuel, 0) + max_(f2ww - abattement_residuel2, 0) + f2fu + f2dc - abattement_dividende
|
|
988
|
-
+ f2ts + f2tr + f2tt + f2go *
|
|
1021
|
+
+ f2ts + f2tr + f2tt + f2go * parameters_rvcm.majoration_revenus_reputes_distribues + f2tq + f2tz, 0)
|
|
989
1022
|
rvcm_apres_abattement = (
|
|
990
1023
|
f2yy
|
|
991
1024
|
+ f2ch - min_(f2ch, abattement_assurance_vie)
|
|
@@ -1010,7 +1043,7 @@ class rfr_rvcm_abattements_a_reintegrer(Variable):
|
|
|
1010
1043
|
f2gr = foyer_fiscal('f2gr', period)
|
|
1011
1044
|
f2fu = foyer_fiscal('f2fu', period)
|
|
1012
1045
|
f2da = foyer_fiscal('f2da', period) # noqa F841
|
|
1013
|
-
|
|
1046
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
1014
1047
|
|
|
1015
1048
|
# Calcul de i121
|
|
1016
1049
|
# Part des frais s'imputant sur les revenus déclarés case DC
|
|
@@ -1018,20 +1051,20 @@ class rfr_rvcm_abattements_a_reintegrer(Variable):
|
|
|
1018
1051
|
F1 = f2ca / den * f2dc # f12
|
|
1019
1052
|
# Revenus de capitaux mobiliers nets de frais, ouvrant droit à abattement
|
|
1020
1053
|
# partie positive
|
|
1021
|
-
g12b = max_(f2dc * (1 -
|
|
1022
|
-
rev = g12b + f2gr + f2fu * (1 -
|
|
1054
|
+
g12b = max_(f2dc * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement * (f2da == 0)) - F1, 0)
|
|
1055
|
+
rev = g12b + f2gr + f2fu * (1 - parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement * (f2da == 0))
|
|
1023
1056
|
|
|
1024
1057
|
# Abattements, limité au revenu
|
|
1025
|
-
h12 =
|
|
1058
|
+
h12 = parameters_rvcm.revenus_capitaux_mobiliers_dividendes.abattement_forfaitaire * (1 + maries_ou_pacses)
|
|
1026
1059
|
i121 = - min_(0, rev - h12)
|
|
1027
|
-
return max_((
|
|
1060
|
+
return max_((parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement) * (f2dc + f2fu) * (f2da == 0) - i121, 0)
|
|
1028
1061
|
|
|
1029
1062
|
def formula_2013_01_01(foyer_fiscal, period, parameters):
|
|
1030
1063
|
f2dc = foyer_fiscal('f2dc', period)
|
|
1031
1064
|
f2fu = foyer_fiscal('f2fu', period)
|
|
1032
|
-
|
|
1065
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
1033
1066
|
|
|
1034
|
-
abattement_dividende = (f2fu + f2dc) *
|
|
1067
|
+
abattement_dividende = (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement
|
|
1035
1068
|
|
|
1036
1069
|
return abattement_dividende
|
|
1037
1070
|
|
|
@@ -1043,6 +1076,9 @@ class rfr_rvcm_abattements_a_reintegrer(Variable):
|
|
|
1043
1076
|
Si le foyer a choisi l'imposition au barème pour les revenus éligibles au pfu, les revenus de l'assurance-vie entrent dans le calcul du RFR via `revenus_categoriel` net d'abattement.
|
|
1044
1077
|
'''
|
|
1045
1078
|
maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)
|
|
1079
|
+
celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period)
|
|
1080
|
+
veuf = foyer_fiscal('veuf', period)
|
|
1081
|
+
jeune_veuf = foyer_fiscal('jeune_veuf', period)
|
|
1046
1082
|
imposition_au_bareme = foyer_fiscal('f2op', period)
|
|
1047
1083
|
f2ch = foyer_fiscal('f2ch', period)
|
|
1048
1084
|
f2dh = foyer_fiscal('f2dh', period)
|
|
@@ -1050,14 +1086,15 @@ class rfr_rvcm_abattements_a_reintegrer(Variable):
|
|
|
1050
1086
|
f2ww = foyer_fiscal('f2ww', period)
|
|
1051
1087
|
f2dc = foyer_fiscal('f2dc', period)
|
|
1052
1088
|
f2fu = foyer_fiscal('f2fu', period)
|
|
1053
|
-
|
|
1089
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
1054
1090
|
|
|
1055
|
-
abattement_assurance_vie =
|
|
1056
|
-
|
|
1091
|
+
abattement_assurance_vie = parameters_rvcm.produits_assurances_vies_assimiles.abattement_couple * maries_ou_pacses + parameters_rvcm.produits_assurances_vies_assimiles.abattement_celib * (celibataire_ou_divorce | veuf | jeune_veuf)
|
|
1092
|
+
abattement_assu_vie = where(imposition_au_bareme, 0,
|
|
1093
|
+
(f2ch < abattement_assurance_vie) * max_(0, min_(f2vv + f2ww, abattement_assurance_vie - f2ch - f2dh))
|
|
1057
1094
|
)
|
|
1058
|
-
abattement_dividende = where(imposition_au_bareme, (f2fu + f2dc) *
|
|
1095
|
+
abattement_dividende = where(imposition_au_bareme, (f2fu + f2dc) * parameters_rvcm.revenus_capitaux_mobiliers_dividendes.taux_abattement, 0)
|
|
1059
1096
|
|
|
1060
|
-
return -
|
|
1097
|
+
return - abattement_assu_vie + abattement_dividende
|
|
1061
1098
|
|
|
1062
1099
|
|
|
1063
1100
|
class revenu_categoriel_foncier(Variable):
|
|
@@ -1637,13 +1674,13 @@ class reduction_ss_condition_revenus(Variable):
|
|
|
1637
1674
|
nb_adult = foyer_fiscal('nb_adult', period)
|
|
1638
1675
|
nb_parts = foyer_fiscal('nbptr', period)
|
|
1639
1676
|
rfr = foyer_fiscal('rfr', period)
|
|
1640
|
-
|
|
1677
|
+
parameters = parameters(period).impot_revenu.calcul_impot_revenu.plaf_qf.reduction_ss_condition_revenus
|
|
1641
1678
|
|
|
1642
1679
|
ir_apres_plaf_qf_et_decote = ir_plaf_qf - decote
|
|
1643
|
-
plafond1 =
|
|
1644
|
-
plafond2 =
|
|
1645
|
-
reduction1 =
|
|
1646
|
-
reduction2 =
|
|
1680
|
+
plafond1 = parameters.plafond_rfr_celib * nb_adult + parameters.majoration_plafond_par_demi_parts_supp * 2 * (nb_parts - nb_adult)
|
|
1681
|
+
plafond2 = parameters.plafond_rfr_couple * nb_adult + parameters.majoration_plafond_par_demi_parts_supp * 2 * (nb_parts - nb_adult)
|
|
1682
|
+
reduction1 = parameters.taux * ir_apres_plaf_qf_et_decote
|
|
1683
|
+
reduction2 = parameters.taux * ir_apres_plaf_qf_et_decote * (plafond2 - rfr) / (plafond2 - plafond1)
|
|
1647
1684
|
|
|
1648
1685
|
reduction_sous_condition_de_ressources = (
|
|
1649
1686
|
(rfr < plafond1) * reduction1
|
|
@@ -1767,8 +1804,8 @@ class assiette_service(Variable):
|
|
|
1767
1804
|
|
|
1768
1805
|
return foyer_fiscal.sum(ebic_imps_i)
|
|
1769
1806
|
|
|
1770
|
-
#
|
|
1771
|
-
# assert (ebic_imps <=
|
|
1807
|
+
# parameters = _P.impot_revenu.calcul_revenus_imposables.rpns.micro.microentreprise
|
|
1808
|
+
# assert (ebic_imps <= parameters.servi.max)
|
|
1772
1809
|
|
|
1773
1810
|
|
|
1774
1811
|
class assiette_proflib(Variable):
|
|
@@ -1787,7 +1824,7 @@ class assiette_proflib(Variable):
|
|
|
1787
1824
|
# http://vosdroits.service-public.fr/professionnels-entreprises/F23267.xhtml
|
|
1788
1825
|
return foyer_fiscal.sum(ebnc_impo_i)
|
|
1789
1826
|
|
|
1790
|
-
# assert (ebnc_impo <=
|
|
1827
|
+
# assert (ebnc_impo <= parameters.microentreprise.regime_micro_bic.services.plafond)
|
|
1791
1828
|
|
|
1792
1829
|
|
|
1793
1830
|
class microsocial(Variable):
|
|
@@ -1844,9 +1881,9 @@ class tax_rvcm_forfaitaire(Variable):
|
|
|
1844
1881
|
Taxation des revenus des valeurs et capitaux mobiliers
|
|
1845
1882
|
'''
|
|
1846
1883
|
f2fa = foyer_fiscal('f2fa', period)
|
|
1847
|
-
|
|
1884
|
+
parameters_rvcm = parameters(period).impot_revenu.calcul_revenus_imposables.rvcm
|
|
1848
1885
|
|
|
1849
|
-
return f2fa *
|
|
1886
|
+
return f2fa * parameters_rvcm.taux_forfaitaire
|
|
1850
1887
|
|
|
1851
1888
|
|
|
1852
1889
|
class taxation_plus_values_hors_bareme(Variable):
|
|
@@ -1877,7 +1914,7 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
1877
1914
|
rpns_pvce = foyer_fiscal.sum(rpns_pvce_i)
|
|
1878
1915
|
|
|
1879
1916
|
return round_(
|
|
1880
|
-
pv.
|
|
1917
|
+
pv.pvce.taux * rpns_pvce
|
|
1881
1918
|
+ pv.pv_cession_valeurs_mobilieres_pv_professionnelles.taux * max_(0, f3vg - f3vh)
|
|
1882
1919
|
+ pv.actions_gratuites.taux2 * glo_taxation_ir_forfaitaire_taux2
|
|
1883
1920
|
+ pv.pv_cession_valeurs_mobilieres_pv_professionnelles.taux * f3vl
|
|
@@ -1886,8 +1923,8 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
1886
1923
|
+ pv.plus_values.taux_pv_entrep * f3sa_2012
|
|
1887
1924
|
+ pv.actions_gratuites.taux3 * glo_taxation_ir_forfaitaire_taux3
|
|
1888
1925
|
+ pv.actions_gratuites.taux4 * glo_taxation_ir_forfaitaire_taux4
|
|
1889
|
-
+ pv.bspce.
|
|
1890
|
-
+ pv.bspce.
|
|
1926
|
+
+ pv.bspce.taux_plus_3_ans_pre_2018 * f3sj
|
|
1927
|
+
+ pv.bspce.taux_moins_3_ans * f3sk
|
|
1891
1928
|
)
|
|
1892
1929
|
|
|
1893
1930
|
def formula_2013_01_01(foyer_fiscal, period, parameters):
|
|
@@ -1907,14 +1944,14 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
1907
1944
|
pv = parameters(period).impot_revenu.calcul_impot_revenu.pv
|
|
1908
1945
|
|
|
1909
1946
|
return round_(
|
|
1910
|
-
pv.
|
|
1947
|
+
pv.pvce.taux * rpns_pvce
|
|
1911
1948
|
+ pv.pea.taux_avant_2_ans * f3vm
|
|
1912
1949
|
+ pv.pea.taux_posterieur * f3vt
|
|
1913
1950
|
+ pv.actions_gratuites.taux2 * glo_taxation_ir_forfaitaire_taux2
|
|
1914
1951
|
+ pv.actions_gratuites.taux3 * glo_taxation_ir_forfaitaire_taux3
|
|
1915
1952
|
+ pv.actions_gratuites.taux4 * glo_taxation_ir_forfaitaire_taux4
|
|
1916
|
-
+ pv.bspce.
|
|
1917
|
-
+ pv.bspce.
|
|
1953
|
+
+ pv.bspce.taux_plus_3_ans_pre_2018 * f3sj
|
|
1954
|
+
+ pv.bspce.taux_moins_3_ans * f3sk
|
|
1918
1955
|
)
|
|
1919
1956
|
|
|
1920
1957
|
def formula_2016_01_01(foyer_fiscal, period, parameters):
|
|
@@ -1936,16 +1973,16 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
1936
1973
|
pv = parameters(period).impot_revenu.calcul_impot_revenu.pv
|
|
1937
1974
|
|
|
1938
1975
|
return round_(
|
|
1939
|
-
pv.
|
|
1976
|
+
pv.pvce.taux * rpns_pvce
|
|
1940
1977
|
+ pv.pea.taux_avant_2_ans * f3vm
|
|
1941
1978
|
+ pv.pea.taux_posterieur * f3vt
|
|
1942
1979
|
+ pv.actions_gratuites.taux2 * glo_taxation_ir_forfaitaire_taux2
|
|
1943
1980
|
+ pv.actions_gratuites.taux3 * glo_taxation_ir_forfaitaire_taux3
|
|
1944
1981
|
+ pv.actions_gratuites.taux4 * glo_taxation_ir_forfaitaire_taux4
|
|
1945
|
-
+ pv.bspce.
|
|
1946
|
-
+ pv.bspce.
|
|
1947
|
-
+ pv.
|
|
1948
|
-
+ pv.
|
|
1982
|
+
+ pv.bspce.taux_plus_3_ans_pre_2018 * f3sj
|
|
1983
|
+
+ pv.bspce.taux_moins_3_ans * f3sk
|
|
1984
|
+
+ pv.report_impot_expire.taux_cas_general * f3wi
|
|
1985
|
+
+ pv.report_impot_expire.taux_conditionnel * f3wj
|
|
1949
1986
|
)
|
|
1950
1987
|
|
|
1951
1988
|
def formula_2017_01_01(foyer_fiscal, period, parameters):
|
|
@@ -1969,17 +2006,17 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
1969
2006
|
pv = parameters(period).impot_revenu.calcul_impot_revenu.pv
|
|
1970
2007
|
|
|
1971
2008
|
return round_(
|
|
1972
|
-
pv.
|
|
2009
|
+
pv.pvce.taux * rpns_pvce
|
|
1973
2010
|
+ pv.actions_gratuites.taux2 * glo_taxation_ir_forfaitaire_taux2
|
|
1974
2011
|
+ pv.actions_gratuites.taux3 * glo_taxation_ir_forfaitaire_taux3
|
|
1975
2012
|
+ pv.actions_gratuites.taux4 * glo_taxation_ir_forfaitaire_taux4
|
|
1976
|
-
+ pv.bspce.
|
|
1977
|
-
+ pv.bspce.
|
|
2013
|
+
+ pv.bspce.taux_plus_3_ans_pre_2018 * f3sj
|
|
2014
|
+
+ pv.bspce.taux_moins_3_ans * f3sk
|
|
1978
2015
|
+ pv.pea.taux_avant_2_ans * f3vm
|
|
1979
2016
|
+ pv.pea.taux_posterieur * f3vt
|
|
1980
|
-
+ pv.
|
|
1981
|
-
+ pv.
|
|
1982
|
-
+ pv.
|
|
2017
|
+
+ pv.report_impot_expire.taux_cas_general * f3wi
|
|
2018
|
+
+ pv.report_impot_expire.taux_conditionnel * f3wj
|
|
2019
|
+
+ pv.etnc.taux * f3pi
|
|
1983
2020
|
)
|
|
1984
2021
|
|
|
1985
2022
|
def formula_2019_01_01(foyer_fiscal, period, parameters):
|
|
@@ -2002,19 +2039,19 @@ class taxation_plus_values_hors_bareme(Variable):
|
|
|
2002
2039
|
rpns_pvce = foyer_fiscal.sum(rpns_pvce_i)
|
|
2003
2040
|
rpns_info = foyer_fiscal.sum(rpns_info_i)
|
|
2004
2041
|
pv = parameters(period).impot_revenu.calcul_impot_revenu.pv
|
|
2005
|
-
|
|
2042
|
+
parameters_rpns = parameters(period).impot_revenu.calcul_revenus_imposables.rpns
|
|
2006
2043
|
|
|
2007
2044
|
return round_(
|
|
2008
|
-
pv.
|
|
2045
|
+
pv.pvce.taux * rpns_pvce
|
|
2009
2046
|
+ pv.actions_gratuites.taux2 * glo_taxation_ir_forfaitaire_taux2
|
|
2010
2047
|
+ pv.actions_gratuites.taux3 * glo_taxation_ir_forfaitaire_taux3
|
|
2011
2048
|
+ pv.actions_gratuites.taux4 * glo_taxation_ir_forfaitaire_taux4
|
|
2012
|
-
+
|
|
2013
|
-
+ pv.bspce.
|
|
2014
|
-
+ pv.bspce.
|
|
2015
|
-
+ pv.
|
|
2016
|
-
+ pv.
|
|
2017
|
-
+ pv.
|
|
2049
|
+
+ parameters_rpns.taux10 * rpns_info
|
|
2050
|
+
+ pv.bspce.taux_plus_3_ans_pre_2018 * f3sj
|
|
2051
|
+
+ pv.bspce.taux_moins_3_ans * f3sk
|
|
2052
|
+
+ pv.report_impot_expire.taux_cas_general * f3wi
|
|
2053
|
+
+ pv.report_impot_expire.taux_conditionnel * f3wj
|
|
2054
|
+
+ pv.etnc.taux * f3pi
|
|
2018
2055
|
)
|
|
2019
2056
|
|
|
2020
2057
|
|
|
@@ -2285,22 +2322,22 @@ class impot_revenu_restant_a_payer(Variable):
|
|
|
2285
2322
|
contribution_exceptionnelle_hauts_revenus = foyer_fiscal('contribution_exceptionnelle_hauts_revenus', period)
|
|
2286
2323
|
prelevement_forfaitaire_unique_ir = foyer_fiscal('prelevement_forfaitaire_unique_ir', period)
|
|
2287
2324
|
prelevement_forfaitaire_liberatoire = foyer_fiscal('prelevement_forfaitaire_liberatoire', period)
|
|
2288
|
-
|
|
2325
|
+
parameters_recouvrement = parameters(period).impot_revenu.calcul_impot_revenu.recouvrement
|
|
2289
2326
|
|
|
2290
2327
|
pre_result = iai - credits_impot - acomptes_ir + contribution_exceptionnelle_hauts_revenus - prelevement_forfaitaire_unique_ir - prelevement_forfaitaire_liberatoire
|
|
2291
2328
|
result = iai - credits_impot - acomptes_ir + contribution_exceptionnelle_hauts_revenus - prelevement_forfaitaire_unique_ir
|
|
2292
2329
|
impots_totaux_avant_imputations = iai + contribution_exceptionnelle_hauts_revenus - prelevement_forfaitaire_unique_ir - prelevement_forfaitaire_liberatoire
|
|
2293
2330
|
|
|
2294
2331
|
return (
|
|
2295
|
-
(impots_totaux_avant_imputations >
|
|
2296
|
-
(pre_result <
|
|
2332
|
+
(impots_totaux_avant_imputations > parameters_recouvrement.min_avant_credits_impots) * (
|
|
2333
|
+
(pre_result < parameters_recouvrement.min_apres_credits_impots)
|
|
2297
2334
|
* (result > 0)
|
|
2298
2335
|
* result
|
|
2299
2336
|
* 0
|
|
2300
|
-
+ ((pre_result <= 0) + (pre_result >=
|
|
2337
|
+
+ ((pre_result <= 0) + (pre_result >= parameters_recouvrement.min_apres_credits_impots))
|
|
2301
2338
|
* (- result)
|
|
2302
2339
|
)
|
|
2303
|
-
+ (impots_totaux_avant_imputations <=
|
|
2340
|
+
+ (impots_totaux_avant_imputations <= parameters_recouvrement.min_avant_credits_impots) * (
|
|
2304
2341
|
(pre_result < 0)
|
|
2305
2342
|
* (-result)
|
|
2306
2343
|
+ (pre_result >= 0)
|
|
@@ -2498,6 +2535,7 @@ class rpns_pvce(Variable):
|
|
|
2498
2535
|
entity = Individu
|
|
2499
2536
|
label = 'Plus values de cession nettes des moins-values - Revenu des professions non salariées'
|
|
2500
2537
|
definition_period = YEAR
|
|
2538
|
+
# Somme des cases "plus-values nettes à long terme" de la déclaration sur les revenus des professions non-salariées
|
|
2501
2539
|
|
|
2502
2540
|
def formula(individu, period, parameters):
|
|
2503
2541
|
'''
|
|
@@ -2799,8 +2837,8 @@ class defacc(Variable):
|
|
|
2799
2837
|
cga = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.cga_taux2
|
|
2800
2838
|
micro = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.micro
|
|
2801
2839
|
|
|
2802
|
-
def abat_rpns(rev,
|
|
2803
|
-
return max_(0, rev - min_(rev, max_(
|
|
2840
|
+
def abat_rpns(rev, parameters):
|
|
2841
|
+
return max_(0, rev - min_(rev, max_(parameters.taux * min_(parameters.plafond, rev), micro.microentreprise.montant_minimum)))
|
|
2804
2842
|
|
|
2805
2843
|
nacc_impn = foyer_fiscal.sum(nacc_impn_i)
|
|
2806
2844
|
macc_pvct = foyer_fiscal.sum(macc_pvct_i)
|
|
@@ -2825,8 +2863,8 @@ class defacc(Variable):
|
|
|
2825
2863
|
aacc_impn_i = foyer_fiscal.members('aacc_impn', period)
|
|
2826
2864
|
micro = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.micro
|
|
2827
2865
|
|
|
2828
|
-
def abat_rpns(rev,
|
|
2829
|
-
return max_(0, rev - min_(rev, max_(
|
|
2866
|
+
def abat_rpns(rev, parameters):
|
|
2867
|
+
return max_(0, rev - min_(rev, max_(parameters.taux * min_(parameters.plafond, rev), micro.microentreprise.montant_minimum)))
|
|
2830
2868
|
|
|
2831
2869
|
macc_pvct = foyer_fiscal.sum(macc_pvct_i)
|
|
2832
2870
|
macc_impv = foyer_fiscal.sum(macc_impv_i)
|
|
@@ -2859,8 +2897,8 @@ class defncn(Variable):
|
|
|
2859
2897
|
micro = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.micro
|
|
2860
2898
|
specialbnc = micro.microentreprise.regime_micro_bnc
|
|
2861
2899
|
|
|
2862
|
-
def abat_rpns(rev,
|
|
2863
|
-
return max_(0, rev - min_(rev, max_(
|
|
2900
|
+
def abat_rpns(rev, parameters):
|
|
2901
|
+
return max_(0, rev - min_(rev, max_(parameters.taux * min_(parameters.plafond, rev), micro.microentreprise.montant_minimum)))
|
|
2864
2902
|
cncn_bene = foyer_fiscal.sum(cncn_bene_i)
|
|
2865
2903
|
mncn_impo = foyer_fiscal.sum(mncn_impo_i)
|
|
2866
2904
|
mncn_pvct = foyer_fiscal.sum(mncn_pvct_i)
|
|
@@ -2883,8 +2921,8 @@ class defncn(Variable):
|
|
|
2883
2921
|
micro = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.micro
|
|
2884
2922
|
specialbnc = micro.microentreprise.regime_micro_bnc
|
|
2885
2923
|
|
|
2886
|
-
def abat_rpns(rev,
|
|
2887
|
-
return max_(0, rev - min_(rev, max_(
|
|
2924
|
+
def abat_rpns(rev, parameters):
|
|
2925
|
+
return max_(0, rev - min_(rev, max_(parameters.taux * min_(parameters.plafond, rev), micro.microentreprise.montant_minimum)))
|
|
2888
2926
|
mncn_impo = foyer_fiscal.sum(mncn_impo_i)
|
|
2889
2927
|
mncn_pvct = foyer_fiscal.sum(mncn_pvct_i)
|
|
2890
2928
|
cncn_aimp = foyer_fiscal.sum(cncn_aimp_i)
|
|
@@ -3429,8 +3467,8 @@ class rpns_imposables(Variable):
|
|
|
3429
3467
|
locations_pro = individu('locations_pro', period)
|
|
3430
3468
|
micro = parameters(period).impot_revenu.calcul_revenus_imposables.rpns.micro
|
|
3431
3469
|
|
|
3432
|
-
def abat_rpns(rev,
|
|
3433
|
-
return max_(0, rev - min_(rev, max_(
|
|
3470
|
+
def abat_rpns(rev, parameters):
|
|
3471
|
+
return max_(0, rev - min_(rev, max_(parameters.taux * min_(parameters.plafond, rev), micro.microentreprise.montant_minimum)))
|
|
3434
3472
|
|
|
3435
3473
|
# # B revenus industriels et commerciaux professionnels
|
|
3436
3474
|
# regime micro entreprise
|