OpenFisca-France 162.0.1__py3-none-any.whl → 163.0.1__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.

Files changed (90) hide show
  1. {OpenFisca_France-162.0.1.data → OpenFisca_France-163.0.1.data}/data/share/openfisca/openfisca-france/CHANGELOG.md +17 -1
  2. {OpenFisca_France-162.0.1.dist-info → OpenFisca_France-163.0.1.dist-info}/METADATA +1 -1
  3. {OpenFisca_France-162.0.1.dist-info → OpenFisca_France-163.0.1.dist-info}/RECORD +41 -80
  4. openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py +278 -278
  5. openfisca_france/model/revenus/activite/salarie.py +3 -0
  6. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier → dispositif_scellier}/index.yaml +3 -2
  7. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier/scellier_outremer → dispositif_scellier/logement_BBC}/duree_reduction.yaml +3 -9
  8. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/logement_BBC/index.yaml +6 -0
  9. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier → dispositif_scellier}/logement_BBC/taux.yaml +3 -9
  10. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/logement_non_BBC/duree_reduction.yaml +20 -0
  11. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/logement_non_BBC/index.yaml +6 -0
  12. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier → dispositif_scellier}/logement_non_BBC/taux.yaml +3 -9
  13. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/logement_non_BBC/taux_transitoire.yaml +20 -0
  14. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/plafond.yaml +15 -0
  15. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier/logement_non_BBC → dispositif_scellier/scellier_outremer}/duree_reduction.yaml +3 -9
  16. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_scellier → dispositif_scellier}/scellier_outremer/index.yaml +2 -1
  17. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/scellier_outremer/taux.yaml +33 -0
  18. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/scellier_outremer_bis/duree_reduction.yaml +20 -0
  19. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/scellier_outremer_bis/index.yaml +8 -0
  20. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/dispositif_scellier/scellier_outremer_bis/taux.yaml +33 -0
  21. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{scelli → dispositif_scellier}/taux_prorogation.yaml +2 -0
  22. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/index.yaml +13 -0
  23. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_pinel_denormandie_metro_6ans.yaml → location_6_ans/taux_metro.yaml} +2 -2
  24. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_pinel_denormandie_om_6ans.yaml → location_6_ans/taux_om.yaml} +2 -2
  25. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_duflot_metro.yaml → location_9_ans/taux_metro.yaml} +2 -2
  26. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_duflot_om.yaml → location_9_ans/taux_om.yaml} +2 -2
  27. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/plafond.yaml +1 -1
  28. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/index.yaml +5 -3
  29. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/taux_pinel_denormandie_metro_9ans.yaml +0 -13
  30. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/taux_pinel_denormandie_om_9ans.yaml +0 -13
  31. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/index.yaml +0 -8
  32. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_6_ans/index.yaml +0 -7
  33. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_6_ans/taux_6_ans_metropole.yaml +0 -26
  34. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_6_ans/taux_6_ans_outre_mer.yaml +0 -26
  35. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_6_ans/taux_addition_3_ans.yaml +0 -26
  36. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_6_ans/taux_addition_bis_3_ans.yaml +0 -26
  37. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_9_ans/index.yaml +0 -6
  38. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_9_ans/taux_3_ans.yaml +0 -26
  39. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_9_ans/taux_9_ans_metropole.yaml +0 -26
  40. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/location_9_ans/taux_9_ans_outre_mer.yaml +0 -26
  41. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/dispositif_denormandie/plafond.yaml +0 -27
  42. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_anciens/index.yaml +0 -11
  43. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_duflot/duree.yaml +0 -25
  44. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_duflot/index.yaml +0 -8
  45. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_duflot/plafond.yaml +0 -26
  46. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_duflot/taux_metropole.yaml +0 -26
  47. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_duflot/taux_outre_mer.yaml +0 -26
  48. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/index.yaml +0 -7
  49. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_6_ans/index.yaml +0 -7
  50. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_6_ans/taux_6_ans_metropole.yaml +0 -24
  51. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_6_ans/taux_6_ans_outre_mer.yaml +0 -24
  52. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_6_ans/taux_addition_3_ans.yaml +0 -24
  53. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_6_ans/taux_addition_bis_3_ans.yaml +0 -24
  54. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_9_ans/index.yaml +0 -6
  55. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_9_ans/taux_3_ans.yaml +0 -24
  56. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_9_ans/taux_9_ans_metropole.yaml +0 -24
  57. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/location_9_ans/taux_9_ans_outre_mer.yaml +0 -24
  58. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_pinel/plafond.yaml +0 -24
  59. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/logement_BBC/duree_reduction.yaml +0 -31
  60. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/logement_BBC/index.yaml +0 -5
  61. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/logement_non_BBC/index.yaml +0 -5
  62. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/plafond.yaml +0 -32
  63. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/scellier_intermediaire.yaml +0 -48
  64. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/scellier_outremer/taux.yaml +0 -48
  65. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/scellier_outremer_bis/duree_reduction.yaml +0 -31
  66. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/scellier_outremer_bis/index.yaml +0 -5
  67. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/dispositif_scellier/scellier_outremer_bis/taux.yaml +0 -48
  68. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/logements_neufs/index.yaml +0 -9
  69. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/index.yaml +0 -1
  70. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/max.yaml +0 -6
  71. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux13.yaml +0 -6
  72. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux15.yaml +0 -6
  73. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux22.yaml +0 -6
  74. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux24.yaml +0 -6
  75. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux25.yaml +0 -6
  76. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux36.yaml +0 -6
  77. openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/scelli/taux40.yaml +0 -6
  78. {OpenFisca_France-162.0.1.data → OpenFisca_France-163.0.1.data}/data/share/openfisca/openfisca-france/README.md +0 -0
  79. {OpenFisca_France-162.0.1.dist-info → OpenFisca_France-163.0.1.dist-info}/LICENSE.AGPL.txt +0 -0
  80. {OpenFisca_France-162.0.1.dist-info → OpenFisca_France-163.0.1.dist-info}/WHEEL +0 -0
  81. {OpenFisca_France-162.0.1.dist-info → OpenFisca_France-163.0.1.dist-info}/top_level.txt +0 -0
  82. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/duree.yaml +0 -0
  83. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/index.yaml +0 -0
  84. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/plafond/index.yaml +0 -0
  85. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/plafond/plaf_couple.yaml +0 -0
  86. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/plafond/plaf_personne_seule.yaml +0 -0
  87. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/{logements_neufs/dispositif_mehaignerie → dispositif_mehaignerie}/taux.yaml +0 -0
  88. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_prolong1_6ans.yaml → taux_prolongation/taux_prolong1_6ans.yaml} +0 -0
  89. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_prolong2_6ans.yaml → taux_prolongation/taux_prolong2_6ans.yaml} +0 -0
  90. /openfisca_france/parameters/impot_revenu/calcul_reductions_impots/investissements_immobiliers/duflot_pinel_denormandie/{taux_prolong_9ans.yaml → taux_prolongation/taux_prolong_9ans.yaml} +0 -0
@@ -208,16 +208,16 @@ class duflot_pinel_denormandie_metropole(Variable):
208
208
  '''
209
209
  Duflot
210
210
  '''
211
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
211
+ reduction = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
212
212
 
213
213
  # Duflot année N, 2013
214
214
  f7gh = foyer_fiscal('f7gh', period) # Métropole
215
215
  f7gi = foyer_fiscal('f7gi', period) # Outre-Mer
216
216
 
217
- inv_om = min_(P.plafond, f7gi)
218
- inv_metro = min_(P.plafond - inv_om, f7gh)
217
+ inv_om = min_(reduction.plafond, f7gi)
218
+ inv_metro = min_(reduction.plafond - inv_om, f7gh)
219
219
 
220
- ri_metro = around(inv_metro * P.taux_duflot_metro / 9)
220
+ ri_metro = around(inv_metro * reduction.location_9_ans.taux_metro / 9)
221
221
 
222
222
  return ri_metro
223
223
 
@@ -228,7 +228,7 @@ class duflot_pinel_denormandie_metropole(Variable):
228
228
  even though they may contain OM investments as well (only relevant after 2015,
229
229
  but since there are no separate cases, nothing one can potentially do).
230
230
  '''
231
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
231
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
232
232
 
233
233
  # Duflot année N, 2013
234
234
  f7gh = foyer_fiscal('f7gh', period) # Métropole
@@ -249,13 +249,13 @@ class duflot_pinel_denormandie_metropole(Variable):
249
249
 
250
250
  # Duflot 2013
251
251
 
252
- reduc_2013 = around(P.taux_duflot_metro * min_(P.plafond - f7gi, f7gh) / 9)
252
+ reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(duflot_pinel_denormandie.plafond - f7gi, f7gh) / 9)
253
253
 
254
254
  # Duflot et Pinel 2014
255
- max1 = max_(0, P.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'
255
+ max1 = max_(0, duflot_pinel_denormandie.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'
256
256
 
257
- reduc_2014 = (around(P.taux_duflot_metro * min_(max1, f7ek + f7qb) / 9)
258
- + around(P.taux_pinel_denormandie_metro_6ans * min_(max1 - f7ek - f7qb, f7qa) / 6))
257
+ reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max1, f7ek + f7qb) / 9)
258
+ + around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max1 - f7ek - f7qb, f7qa) / 6))
259
259
 
260
260
  ri_metro = reduc_2013 + reduc_2014 + f7fi
261
261
 
@@ -266,7 +266,7 @@ class duflot_pinel_denormandie_metropole(Variable):
266
266
  Investissement locatif privé - Dispositif Pinel
267
267
  De 2015 à 2018
268
268
  '''
269
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
269
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
270
270
 
271
271
  # Duflot année N, 2013
272
272
  f7gh = foyer_fiscal('f7gh', period) # Métropole
@@ -320,13 +320,13 @@ class duflot_pinel_denormandie_metropole(Variable):
320
320
  }
321
321
 
322
322
  # Duflot 2013
323
- reduc_2013 = around(P.taux_duflot_metro * min_(P.plafond - f7gi, f7gh) / 9)
323
+ reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(duflot_pinel_denormandie.plafond - f7gi, f7gh) / 9)
324
324
 
325
325
  # Duflot et Pinel 2014
326
- max1 = max_(0, P.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'
326
+ max1 = max_(0, duflot_pinel_denormandie.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'
327
327
 
328
- reduc_2014 = (around(P.taux_duflot_metro * min_(max1, f7ek + f7qb) / 9)
329
- + around(P.taux_pinel_denormandie_metro_6ans * min_(max1 - f7ek - f7qb, f7qa) / 6))
328
+ reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max1, f7ek + f7qb) / 9)
329
+ + around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max1 - f7ek - f7qb, f7qa) / 6))
330
330
 
331
331
  def calcul_reduction_investissement(cases):
332
332
  reduction = foyer_fiscal.empty_array()
@@ -336,9 +336,9 @@ class duflot_pinel_denormandie_metropole(Variable):
336
336
  depense = foyer_fiscal(variable, period)
337
337
  if zone == 'metropole':
338
338
  if duree == 9:
339
- reduction += around(P.taux_pinel_denormandie_metro_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
339
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
340
340
  elif duree == 6:
341
- reduction += around(P.taux_pinel_denormandie_metro_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
341
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
342
342
  depenses_cumulees += depense
343
343
  return reduction
344
344
 
@@ -355,7 +355,7 @@ class duflot_pinel_denormandie_metropole(Variable):
355
355
  '''
356
356
  Duflot + Pinel + Denormandie
357
357
  '''
358
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
358
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
359
359
 
360
360
  cases_investissement = {
361
361
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
@@ -405,9 +405,9 @@ class duflot_pinel_denormandie_metropole(Variable):
405
405
  depense = foyer_fiscal(variable, period)
406
406
  if zone == 'metropole':
407
407
  if duree == 9:
408
- reduction += around(P.taux_pinel_denormandie_metro_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
408
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
409
409
  elif duree == 6:
410
- reduction += around(P.taux_pinel_denormandie_metro_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
410
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
411
411
  depenses_cumulees += depense
412
412
  return reduction
413
413
 
@@ -426,7 +426,7 @@ class duflot_pinel_denormandie_metropole(Variable):
426
426
  NB: it is not clear whether the extension of the Pinel investment should also
427
427
  count towards the ceiling of € 300K. I will assume it does.
428
428
  '''
429
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
429
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
430
430
  cases_investissement = {
431
431
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
432
432
  ('f7qp', 9, 'outremer'), # Pinel 2017
@@ -484,9 +484,9 @@ class duflot_pinel_denormandie_metropole(Variable):
484
484
  depense = foyer_fiscal(variable, period)
485
485
  if zone == 'metropole':
486
486
  if duree == 9:
487
- reduction += around(P.taux_pinel_denormandie_metro_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
487
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
488
488
  elif duree == 6:
489
- reduction += around(P.taux_pinel_denormandie_metro_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
489
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
490
490
  depenses_cumulees += depense
491
491
  return reduction
492
492
 
@@ -497,7 +497,7 @@ class duflot_pinel_denormandie_metropole(Variable):
497
497
  reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])
498
498
  report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])
499
499
 
500
- prorogation = around(min_(P.plafond - f7rs, f7rr) * P.taux_prolong1_6ans / 3)
500
+ prorogation = around(min_(duflot_pinel_denormandie.plafond - f7rs, f7rr) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)
501
501
 
502
502
  return reduction_cumulee + report + f7fi + f7fk + f7fr + f7fv + f7fw + f7fx + prorogation
503
503
 
@@ -505,7 +505,7 @@ class duflot_pinel_denormandie_metropole(Variable):
505
505
  '''
506
506
  Duflot + Pinel + Denormandie
507
507
  '''
508
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
508
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
509
509
  cases_investissement = {
510
510
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
511
511
  ('f7qu', 9, 'outremer'),
@@ -573,9 +573,9 @@ class duflot_pinel_denormandie_metropole(Variable):
573
573
  depense = foyer_fiscal(variable, period)
574
574
  if zone == 'metropole':
575
575
  if duree == 9:
576
- reduction += around(P.taux_pinel_denormandie_metro_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
576
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
577
577
  elif duree == 6:
578
- reduction += around(P.taux_pinel_denormandie_metro_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
578
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
579
579
  depenses_cumulees += depense
580
580
  return reduction
581
581
 
@@ -586,8 +586,8 @@ class duflot_pinel_denormandie_metropole(Variable):
586
586
  reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])
587
587
  report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])
588
588
 
589
- prorogation = (around(min_(P.plafond - f7rs, f7rr) * P.taux_prolong1_6ans / 3)
590
- + around(min_(P.plafond - f7ry, f7rx) * P.taux_prolong1_6ans / 3))
589
+ prorogation = (around(min_(duflot_pinel_denormandie.plafond - f7rs, f7rr) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)
590
+ + around(min_(duflot_pinel_denormandie.plafond - f7ry, f7rx) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3))
591
591
 
592
592
  return reduction_cumulee + report + f7fi + f7fk + f7fr + f7fv + f7fw + f7fx + prorogation + f7sx
593
593
 
@@ -602,14 +602,14 @@ class duflot_pinel_denormandie_om(Variable):
602
602
  '''
603
603
  Duflot
604
604
  '''
605
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
605
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
606
606
 
607
607
  # Duflot année N, 2013
608
608
  f7gi = foyer_fiscal('f7gi', period) # Outre-Mer
609
609
 
610
- inv_om = min_(P.plafond, f7gi)
610
+ inv_om = min_(duflot_pinel_denormandie.plafond, f7gi)
611
611
 
612
- ri_om = around(inv_om * P.taux_duflot_om / 9)
612
+ ri_om = around(inv_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)
613
613
 
614
614
  return ri_om
615
615
 
@@ -620,7 +620,7 @@ class duflot_pinel_denormandie_om(Variable):
620
620
  even though they may contain OM investments as well (only relevant after 2015,
621
621
  but since there are no separate cases, nothing one can potentially do).
622
622
  '''
623
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
623
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
624
624
 
625
625
  # Duflot année N, 2013
626
626
  f7gi = foyer_fiscal('f7gi', period) # Outre-Mer
@@ -633,14 +633,14 @@ class duflot_pinel_denormandie_om(Variable):
633
633
  f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans
634
634
 
635
635
  # Duflot 2013
636
- reduc_2013 = around(P.taux_duflot_om * min_(P.plafond, f7gi) / 9)
636
+ reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9)
637
637
 
638
638
  # Duflot et Pinel 2014
639
- inv_29_om = min_(P.plafond, f7el + f7qd)
640
- inv_23_om = min_(P.plafond - inv_29_om, f7qc)
639
+ inv_29_om = min_(duflot_pinel_denormandie.plafond, f7el + f7qd)
640
+ inv_23_om = min_(duflot_pinel_denormandie.plafond - inv_29_om, f7qc)
641
641
 
642
- reduc = (around((inv_29_om * P.taux_duflot_om / 9)
643
- + around(inv_23_om * P.taux_pinel_denormandie_om_6ans / 6))) + reduc_2013
642
+ reduc = (around((inv_29_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)
643
+ + around(inv_23_om * duflot_pinel_denormandie.location_6_ans.taux_om / 6))) + reduc_2013
644
644
 
645
645
  return reduc
646
646
 
@@ -648,7 +648,7 @@ class duflot_pinel_denormandie_om(Variable):
648
648
  '''
649
649
  Duflot + Pinel
650
650
  '''
651
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
651
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
652
652
 
653
653
  # Duflot année N, 2013
654
654
  f7gi = foyer_fiscal('f7gi', period) # Outre-Mer
@@ -661,11 +661,11 @@ class duflot_pinel_denormandie_om(Variable):
661
661
  f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans
662
662
 
663
663
  # Duflot 2013
664
- reduc_2013 = P.taux_duflot_om * min_(P.plafond, f7gi) / 9
664
+ reduc_2013 = duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9
665
665
 
666
666
  # Duflot et Pinel 2014
667
- reduc_2014 = (around(P.taux_duflot_om * min_(P.plafond, f7el + f7qd) / 9)
668
- + around(P.taux_pinel_denormandie_om_6ans * min_(P.plafond - f7el - f7qd, f7qc) / 6))
667
+ reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7el + f7qd) / 9)
668
+ + around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(duflot_pinel_denormandie.plafond - f7el - f7qd, f7qc) / 6))
669
669
 
670
670
  cases_investissement = {
671
671
  2015: [
@@ -705,9 +705,9 @@ class duflot_pinel_denormandie_om(Variable):
705
705
  depense = foyer_fiscal(variable, period)
706
706
  if zone == 'outremer':
707
707
  if duree == 9:
708
- reduction += around(P.taux_pinel_denormandie_om_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
708
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
709
709
  elif duree == 6:
710
- reduction += around(P.taux_pinel_denormandie_om_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
710
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
711
711
  depenses_cumulees += depense
712
712
  return reduction
713
713
 
@@ -724,7 +724,7 @@ class duflot_pinel_denormandie_om(Variable):
724
724
  '''
725
725
  Duflot + Pinel + Denormandie
726
726
  '''
727
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
727
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
728
728
 
729
729
  cases_investissement = {
730
730
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
@@ -766,9 +766,9 @@ class duflot_pinel_denormandie_om(Variable):
766
766
  depense = foyer_fiscal(variable, period)
767
767
  if zone == 'outremer':
768
768
  if duree == 9:
769
- reduction += around(P.taux_pinel_denormandie_om_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
769
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
770
770
  elif duree == 6:
771
- reduction += around(P.taux_pinel_denormandie_om_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
771
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
772
772
  depenses_cumulees += depense
773
773
  return reduction
774
774
 
@@ -787,7 +787,7 @@ class duflot_pinel_denormandie_om(Variable):
787
787
  NB: it is not clear whether the extension of the Pinel investment should also
788
788
  count towards the ceiling of € 300K. I will assume it does.
789
789
  '''
790
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
790
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
791
791
 
792
792
  cases_investissement = {
793
793
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
@@ -837,9 +837,9 @@ class duflot_pinel_denormandie_om(Variable):
837
837
  depense = foyer_fiscal(variable, period)
838
838
  if zone == 'outremer':
839
839
  if duree == 9:
840
- reduction += around(P.taux_pinel_denormandie_om_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
840
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
841
841
  elif duree == 6:
842
- reduction += around(P.taux_pinel_denormandie_om_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
842
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
843
843
  depenses_cumulees += depense
844
844
  return reduction
845
845
 
@@ -850,7 +850,7 @@ class duflot_pinel_denormandie_om(Variable):
850
850
  reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])
851
851
  report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])
852
852
 
853
- prorogation = around(min_(P.plafond, f7rs) * P.taux_prolong1_6ans / 3)
853
+ prorogation = around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)
854
854
 
855
855
  return reduction_cumulee + report + prorogation
856
856
 
@@ -858,7 +858,7 @@ class duflot_pinel_denormandie_om(Variable):
858
858
  '''
859
859
  Duflot + Pinel + Denormandie
860
860
  '''
861
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
861
+ duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie
862
862
 
863
863
  cases_investissement = {
864
864
  2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés
@@ -916,9 +916,9 @@ class duflot_pinel_denormandie_om(Variable):
916
916
  depense = foyer_fiscal(variable, period)
917
917
  if zone == 'outremer':
918
918
  if duree == 9:
919
- reduction += around(P.taux_pinel_denormandie_om_9ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
919
+ reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
920
920
  elif duree == 6:
921
- reduction += around(P.taux_pinel_denormandie_om_6ans * min_(max_(0, P.plafond - depenses_cumulees), depense) / duree)
921
+ reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)
922
922
  depenses_cumulees += depense
923
923
  return reduction
924
924
 
@@ -929,8 +929,8 @@ class duflot_pinel_denormandie_om(Variable):
929
929
  reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])
930
930
  report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])
931
931
 
932
- prorogation = (around(min_(P.plafond, f7rs) * P.taux_prolong1_6ans / 3)
933
- + around(min_(P.plafond, f7ry) * P.taux_prolong1_6ans / 3))
932
+ prorogation = (around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)
933
+ + around(min_(duflot_pinel_denormandie.plafond, f7ry) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3))
934
934
 
935
935
  return reduction_cumulee + report + prorogation + f7sy
936
936
 
@@ -3721,9 +3721,9 @@ class scelli(Variable):
3721
3721
  '''
3722
3722
  f7hj = foyer_fiscal('f7hj', period)
3723
3723
  f7hk = foyer_fiscal('f7hk', period)
3724
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
3724
+ investissement_2009 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3725
3725
 
3726
- return max_(P.taux25 * min_(P.max, f7hj), P.taux40 * min_(P.max, f7hk)) / 9
3726
+ return max_(investissement_2009.logement_non_BBC.taux * min_(investissement_2009.plafond, f7hj), investissement_2009.scellier_outremer.taux * min_(investissement_2009.plafond, f7hk)) / 9
3727
3727
 
3728
3728
  def formula_2010_01_01(foyer_fiscal, period, parameters):
3729
3729
  '''
@@ -3739,18 +3739,18 @@ class scelli(Variable):
3739
3739
  f7hr = foyer_fiscal('f7hr_2017', period)
3740
3740
  f7hs = foyer_fiscal('f7hs_2017', period)
3741
3741
  f7la = foyer_fiscal('f7la', period)
3742
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
3742
+ investissement_2009_2010 = parameters('2010-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3743
3743
 
3744
3744
  return (
3745
3745
  max_(
3746
- max_(P.taux25 * min_(P.max, f7hj), P.taux40 * min_(P.max, f7hk)),
3747
- max_(P.taux25 * min_(P.max, f7hn), P.taux40 * min_(P.max, f7ho))
3746
+ max_(investissement_2009_2010.logement_non_BBC.taux * min_(investissement_2009_2010.plafond, f7hj), investissement_2009_2010.scellier_outremer.taux * min_(investissement_2009_2010.plafond, f7hk)),
3747
+ max_(investissement_2009_2010.logement_non_BBC.taux * min_(investissement_2009_2010.plafond, f7hn), investissement_2009_2010.scellier_outremer.taux * min_(investissement_2009_2010.plafond, f7ho))
3748
3748
  ) / 9
3749
3749
  + max_(
3750
- P.taux25 * min_(P.max, f7hl),
3751
- P.taux40 * min_(P.max, f7hm)
3750
+ investissement_2009_2010.logement_non_BBC.taux * min_(investissement_2009_2010.plafond, f7hl),
3751
+ investissement_2009_2010.scellier_outremer.taux * min_(investissement_2009_2010.plafond, f7hm)
3752
3752
  ) / 9
3753
- + max_(P.taux25 * f7hr, P.taux40 * f7hs)
3753
+ + max_(investissement_2009_2010.logement_non_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs)
3754
3754
  + f7la)
3755
3755
 
3756
3756
  def formula_2011_01_01(foyer_fiscal, period, parameters):
@@ -3795,22 +3795,23 @@ class scelli(Variable):
3795
3795
  f7nr = foyer_fiscal('f7nr', period)
3796
3796
  f7ns = foyer_fiscal('f7ns', period)
3797
3797
  f7nt = foyer_fiscal('f7nt', period)
3798
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
3798
+ investissement_2009_2010 = parameters('2010-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3799
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3799
3800
 
3800
3801
  return (
3801
- min_(P.max, maxi(
3802
- P.taux13 * max_(f7nf, f7nj) / 9,
3803
- P.taux15 * max_(f7ng, f7ni) / 9,
3804
- P.taux22 * max_(f7na, f7ne) / 9,
3805
- P.taux25 * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
3806
- P.taux36 * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
3807
- P.taux40 * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
3802
+ min_(investissement_2011.plafond, maxi(
3803
+ investissement_2011.logement_non_BBC.taux * max_(f7nf, f7nj) / 9,
3804
+ investissement_2011.logement_non_BBC.taux_transitoire * max_(f7ng, f7ni) / 9,
3805
+ investissement_2011.logement_BBC.taux * max_(f7na, f7ne) / 9,
3806
+ investissement_2009_2010.logement_BBC.taux * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
3807
+ investissement_2011.scellier_outremer.taux * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
3808
+ investissement_2009_2010.scellier_outremer.taux * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
3808
3809
  ))
3809
- + min_(P.max, maxi(P.taux25 * max_(f7hj, f7hn), P.taux40 * max_(f7hk, f7ho))) / 9
3810
- + min_(P.max, max_(P.taux25 * f7hl, P.taux40 * f7hm)) / 9
3811
- + min_(P.max, maxi(P.taux25 * f7hv, P.taux25 * f7hx, P.taux40 * f7hw, P.taux40 * f7hz))
3812
- + min_(P.max, max_(P.taux25 * f7ht, P.taux40 * f7hu))
3813
- + min_(P.max, max_(P.taux25 * f7hr, P.taux40 * f7hs))
3810
+ + min_(investissement_2011.plafond, maxi(investissement_2009_2010.logement_BBC.taux * max_(f7hj, f7hn), investissement_2009_2010.scellier_outremer.taux * max_(f7hk, f7ho))) / 9
3811
+ + min_(investissement_2011.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hl, investissement_2009_2010.scellier_outremer.taux * f7hm)) / 9
3812
+ + min_(investissement_2011.plafond, maxi(investissement_2009_2010.logement_BBC.taux * f7hv, investissement_2009_2010.logement_BBC.taux * f7hx, investissement_2009_2010.scellier_outremer.taux * f7hw, investissement_2009_2010.scellier_outremer.taux * f7hz))
3813
+ + min_(investissement_2011.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7ht, investissement_2009_2010.scellier_outremer.taux * f7hu))
3814
+ + min_(investissement_2011.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs))
3814
3815
  + f7la + f7lb + f7lc
3815
3816
  )
3816
3817
 
@@ -3882,31 +3883,32 @@ class scelli(Variable):
3882
3883
  f7nr = foyer_fiscal('f7nr', period)
3883
3884
  f7ns = foyer_fiscal('f7ns', period)
3884
3885
  f7nt = foyer_fiscal('f7nt', period)
3885
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
3886
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
3886
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3887
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3888
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
3887
3889
 
3888
3890
  return (
3889
- min_(P.max, maxi(
3890
- P.taux13 * max_(f7nf, f7nj) / 9,
3891
- P.taux15 * max_(f7ng, f7ni) / 9,
3892
- P.taux22 * max_(f7na, f7ne) / 9,
3893
- P.taux25 * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
3894
- P.taux36 * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
3895
- P.taux40 * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
3891
+ min_(investissement_2012.plafond, maxi(
3892
+ investissement_2011.logement_non_BBC.taux * max_(f7nf, f7nj) / 9,
3893
+ investissement_2011.logement_non_BBC.taux_transitoire * max_(f7ng, f7ni) / 9,
3894
+ investissement_2011.logement_BBC.taux * max_(f7na, f7ne) / 9,
3895
+ investissement_2009_2010.logement_BBC.taux * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
3896
+ investissement_2011.scellier_outremer.taux * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
3897
+ investissement_2009_2010.scellier_outremer.taux * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
3896
3898
  ))
3897
- + min_(P.max, maxi(P.taux25 * max_(f7hj, f7hn), P.taux40 * max_(f7hk, f7ho))) / 9
3898
- + min_(P.max, max_(P.taux25 * f7hl, P.taux40 * f7hm)) / 9
3899
- + min_(P.max, maxi(P.taux25 * f7hv, P.taux25 * f7hx, P.taux40 * f7hw, P.taux40 * f7hz))
3900
- + min_(P.max, max_(P.taux25 * f7ht, P.taux40 * f7hu))
3901
- + min_(P.max, max_(P.taux25 * f7hr, P.taux40 * f7hs))
3899
+ + min_(investissement_2009_2010.plafond, maxi(investissement_2009_2010.logement_BBC.taux * max_(f7hj, f7hn), investissement_2009_2010.scellier_outremer.taux * max_(f7hk, f7ho))) / 9
3900
+ + min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hl, investissement_2009_2010.scellier_outremer.taux * f7hm)) / 9
3901
+ + min_(investissement_2009_2010.plafond, maxi(investissement_2009_2010.logement_BBC.taux * f7hv, investissement_2009_2010.logement_BBC.taux * f7hx, investissement_2009_2010.scellier_outremer.taux * f7hw, investissement_2009_2010.scellier_outremer.taux * f7hz))
3902
+ + min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7ht, investissement_2009_2010.scellier_outremer.taux * f7hu))
3903
+ + min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs))
3902
3904
  + f7la + f7lb + f7lc + f7ld + f7le + f7lf
3903
3905
  + f7ha + f7hb + f7hg + f7hh + f7hd + f7he + f7hf
3904
- + min_(P.max, maxi(
3905
- P09.taux_prorogation * max_(f7jf, f7jj) / 9,
3906
- P.taux13 * maxi(f7ja, f7je, f7jg, f7jh) / 9,
3907
- P.taux22 * maxi(f7jb, f7jd) / 9,
3908
- P.taux24 * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
3909
- P.taux36 * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)
3906
+ + min_(investissement_2009_2010.plafond, maxi(
3907
+ investissement_2009_2010.taux_prorogation * max_(f7jf, f7jj) / 9,
3908
+ investissement_2012.logement_BBC.taux * maxi(f7ja, f7je, f7jg, f7jh) / 9,
3909
+ investissement_2011.logement_BBC.taux * maxi(f7jb, f7jd) / 9,
3910
+ investissement_2012.scellier_outremer.taux * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
3911
+ investissement_2011.scellier_outremer.taux * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)
3910
3912
  ))
3911
3913
  )
3912
3914
 
@@ -3996,28 +3998,29 @@ class scelli(Variable):
3996
3998
  f7nr = foyer_fiscal('f7nr', period)
3997
3999
  f7ns = foyer_fiscal('f7ns', period)
3998
4000
  f7nt = foyer_fiscal('f7nt', period)
3999
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4000
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4001
-
4002
- reductions = (min_(P.max, maxi(
4003
- P.taux13 * max_(f7nf, f7nj) / 9,
4004
- P.taux15 * max_(f7ng, f7ni) / 9,
4005
- P.taux22 * max_(f7na, f7ne) / 9,
4006
- P.taux25 * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4007
- P.taux36 * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4008
- P.taux40 * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
4001
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4002
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4003
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4004
+
4005
+ reductions = (min_(investissement_2012.plafond, maxi(
4006
+ investissement_2011.logement_non_BBC.taux * max_(f7nf, f7nj) / 9,
4007
+ investissement_2011.logement_non_BBC.taux_transitoire * max_(f7ng, f7ni) / 9,
4008
+ investissement_2011.logement_BBC.taux * max_(f7na, f7ne) / 9,
4009
+ investissement_2009_2010.logement_BBC.taux * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4010
+ investissement_2011.scellier_outremer.taux * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4011
+ investissement_2009_2010.scellier_outremer.taux * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)
4009
4012
  ))
4010
- + min_(P.max, maxi(P.taux25 * max_(f7hj, f7hn), P.taux40 * max_(f7hk, f7ho))) / 9
4011
- + min_(P.max, max_(P.taux25 * f7hl, P.taux40 * f7hm)) / 9
4012
- + min_(P.max, maxi(P.taux25 * f7hv, P.taux25 * f7hx, P.taux40 * f7hw, P.taux40 * f7hz))
4013
- + min_(P.max, max_(P.taux25 * f7ht, P.taux40 * f7hu))
4014
- + min_(P.max, max_(P.taux25 * f7hr, P.taux40 * f7hs))
4015
- + min_(P.max, maxi(
4016
- P09.taux_prorogation * maxi(f7jf, f7jj, f7fb) / 9,
4017
- P.taux13 * maxi(f7ja, f7je, f7jg, f7jh, f7fa) / 9,
4018
- P.taux22 * maxi(f7jb, f7jd) / 9,
4019
- P.taux24 * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5, f7fc / 9, f7fd / 5),
4020
- P.taux36 * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)
4013
+ + min_(investissement_2012.plafond, maxi(investissement_2009_2010.logement_BBC.taux * max_(f7hj, f7hn), investissement_2009_2010.scellier_outremer.taux * max_(f7hk, f7ho))) / 9
4014
+ + min_(investissement_2012.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hl, investissement_2009_2010.scellier_outremer.taux * f7hm)) / 9
4015
+ + min_(investissement_2012.plafond, maxi(investissement_2009_2010.logement_BBC.taux * f7hv, investissement_2009_2010.logement_BBC.taux * f7hx, investissement_2009_2010.scellier_outremer.taux * f7hw, investissement_2009_2010.scellier_outremer.taux * f7hz))
4016
+ + min_(investissement_2012.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7ht, investissement_2009_2010.scellier_outremer.taux * f7hu))
4017
+ + min_(investissement_2012.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs))
4018
+ + min_(investissement_2012.plafond, maxi(
4019
+ investissement_2009_2010.taux_prorogation * maxi(f7jf, f7jj, f7fb) / 9,
4020
+ investissement_2012.logement_BBC.taux * maxi(f7ja, f7je, f7jg, f7jh, f7fa) / 9,
4021
+ investissement_2011.logement_BBC.taux * maxi(f7jb, f7jd) / 9,
4022
+ investissement_2012.scellier_outremer.taux * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5, f7fc / 9, f7fd / 5),
4023
+ investissement_2011.scellier_outremer.taux * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)
4021
4024
  ))
4022
4025
  + f7la + f7lb + f7lc + f7ld + f7le + f7lf + f7lm + f7ls + f7lz
4023
4026
  + f7mg
@@ -4130,42 +4133,43 @@ class scelli(Variable):
4130
4133
  f7yk = foyer_fiscal('f7yk', period)
4131
4134
  f7yl = foyer_fiscal('f7yl', period)
4132
4135
 
4133
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4134
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4136
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4137
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4138
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4135
4139
 
4136
4140
  report_reduc_scelli_non_impute = f7la + f7lb + f7lc + f7ld + f7le + f7lf + f7lm + f7ls + f7lz + f7mg + f7mh + f7lx + f7lt + f7ln
4137
4141
 
4138
- report_scelli_2009 = min_(P.max, max_(P.taux25 * f7hr, P.taux40 * f7hs))
4139
- report_scelli_2010 = min_(P.max, P.taux25 * f7hv + P.taux25 * f7hx + P.taux40 * f7hw + P.taux40 * f7hz) + min_(P.max, P.taux25 * f7ht + P.taux40 * f7hu)
4142
+ report_scelli_2009 = min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs))
4143
+ report_scelli_2010 = min_(investissement_2009_2010.plafond, investissement_2009_2010.logement_BBC.taux * f7hv + investissement_2009_2010.logement_BBC.taux * f7hx + investissement_2009_2010.scellier_outremer.taux * f7hw + investissement_2009_2010.scellier_outremer.taux * f7hz) + min_(investissement_2009_2010.plafond, investissement_2009_2010.logement_BBC.taux * f7ht + investissement_2009_2010.scellier_outremer.taux * f7hu)
4140
4144
  report_scelli_2011 = f7ha + f7hb + f7hg + f7hh + f7hd + f7he + f7hf
4141
4145
  report_scelli_2012 = f7gj + f7gk + f7gl + f7gp + f7gs + f7gt + f7gu + f7gv + f7gx + f7gw
4142
4146
  report_scelli_2013 = f7ya + f7yb + f7yc + f7yd + f7ye + f7yf + f7yg + f7yh + f7yi + f7yj + f7yk + f7yl
4143
4147
 
4144
- reduc_scelli_2014_invest_2009 = min_(P.max, max_(P.taux25 * f7hl, P.taux40 * f7hm)) / 9
4148
+ reduc_scelli_2014_invest_2009 = min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hl, investissement_2009_2010.scellier_outremer.taux * f7hm)) / 9
4145
4149
 
4146
- reduc_scelli_2014_invest_2010 = min_(P.max, maxi(
4147
- P.taux25 * max_(f7hj, f7hn) / 9,
4148
- P.taux40 * max_(f7hk, f7ho) / 9))
4150
+ reduc_scelli_2014_invest_2010 = min_(investissement_2009_2010.plafond, maxi(
4151
+ investissement_2009_2010.logement_BBC.taux * max_(f7hj, f7hn) / 9,
4152
+ investissement_2009_2010.scellier_outremer.taux * max_(f7hk, f7ho) / 9))
4149
4153
 
4150
- reduc_scelli_2014_invest_2011 = min_(P.max, maxi(
4151
- P.taux13 * max_(f7nf, f7nj) / 9,
4152
- P.taux15 * max_(f7ng, f7ni) / 9,
4153
- P.taux22 * max_(f7na, f7ne) / 9,
4154
- P.taux25 * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4155
- P.taux36 * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4156
- P.taux40 * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)))
4154
+ reduc_scelli_2014_invest_2011 = min_(investissement_2011.plafond, maxi(
4155
+ investissement_2011.logement_non_BBC.taux * max_(f7nf, f7nj) / 9,
4156
+ investissement_2011.logement_non_BBC.taux_transitoire * max_(f7ng, f7ni) / 9,
4157
+ investissement_2011.logement_BBC.taux * max_(f7na, f7ne) / 9,
4158
+ investissement_2009_2010.logement_BBC.taux * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4159
+ investissement_2011.scellier_outremer.taux * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4160
+ investissement_2009_2010.scellier_outremer.taux * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)))
4157
4161
 
4158
- reduc_scelli_2014_invest_2012 = min_(P.max, maxi(
4159
- P09.taux_prorogation * maxi(f7jf, f7jj) / 9,
4160
- P.taux13 * maxi(f7ja, f7je, f7jg, f7jh) / 9,
4161
- P.taux22 * maxi(f7jb, f7jd) / 9,
4162
- P.taux24 * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
4163
- P.taux36 * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)))
4162
+ reduc_scelli_2014_invest_2012 = min_(investissement_2012.plafond, maxi(
4163
+ investissement_2009_2010.taux_prorogation * maxi(f7jf, f7jj) / 9,
4164
+ investissement_2012.logement_BBC.taux * maxi(f7ja, f7je, f7jg, f7jh) / 9,
4165
+ investissement_2011.logement_BBC.taux * maxi(f7jb, f7jd) / 9,
4166
+ investissement_2012.scellier_outremer.taux * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
4167
+ investissement_2011.scellier_outremer.taux * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)))
4164
4168
 
4165
- reduc_scelli_2014_invest_mars_2013 = min_(P.max, maxi(
4166
- P09.taux_prorogation * f7fb / 9,
4167
- P.taux13 * f7fa / 9,
4168
- P.taux24 * maxi(f7fc / 9, f7fd / 5)))
4169
+ reduc_scelli_2014_invest_mars_2013 = min_(investissement_2012.plafond, maxi(
4170
+ investissement_2009_2010.taux_prorogation * f7fb / 9,
4171
+ investissement_2012.logement_BBC.taux * f7fa / 9,
4172
+ investissement_2012.scellier_outremer.taux * maxi(f7fc / 9, f7fd / 5)))
4169
4173
 
4170
4174
  reductions = (
4171
4175
  reduc_scelli_2014_invest_2009
@@ -4287,43 +4291,44 @@ class scelli(Variable):
4287
4291
  f7yr = foyer_fiscal('f7yr', period)
4288
4292
  f7ys = foyer_fiscal('f7ys', period)
4289
4293
 
4290
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4291
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4294
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4295
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4296
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4292
4297
 
4293
4298
  report_reduc_scelli_non_impute = f7la + f7lb + f7lc + f7ld + f7le + f7lf + f7lm + f7ls + f7lz + f7mg + f7mh + f7lx + f7lt + f7ln + f7lg + f7lh + f7li + f7lj
4294
4299
 
4295
- report_scelli_2009 = min_(P.max, max_(P.taux25 * f7hr, P.taux40 * f7hs))
4296
- report_scelli_2010 = min_(P.max, P.taux25 * f7hv + P.taux25 * f7hx + P.taux40 * f7hw + P.taux40 * f7hz) + min_(P.max, P.taux25 * f7ht + P.taux40 * f7hu)
4300
+ report_scelli_2009 = min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hr, investissement_2009_2010.scellier_outremer.taux * f7hs))
4301
+ report_scelli_2010 = min_(investissement_2009_2010.plafond, investissement_2009_2010.logement_BBC.taux * f7hv + investissement_2009_2010.logement_BBC.taux * f7hx + investissement_2009_2010.scellier_outremer.taux * f7hw + investissement_2009_2010.scellier_outremer.taux * f7hz) + min_(investissement_2009_2010.plafond, investissement_2009_2010.logement_BBC.taux * f7ht + investissement_2009_2010.scellier_outremer.taux * f7hu)
4297
4302
  report_scelli_2011 = f7ha + f7hg + f7hh + f7hd + f7hf
4298
4303
  report_scelli_2012 = f7gj + f7gl + f7gs + f7gu + f7gv + f7gx + f7gw
4299
4304
  report_scelli_2013 = f7yb + f7yd + f7yf + f7yh + f7yj + f7yk + f7yl
4300
4305
  report_scelli_2014 = f7ym + f7yn + f7yo + f7yp + f7yq + f7yr + f7ys
4301
4306
 
4302
- reduc_scelli_2015_invest_2009 = min_(P.max, max_(P.taux25 * f7hl, P.taux40 * f7hm)) / 9
4307
+ reduc_scelli_2015_invest_2009 = min_(investissement_2009_2010.plafond, max_(investissement_2009_2010.logement_BBC.taux * f7hl, investissement_2009_2010.scellier_outremer.taux * f7hm)) / 9
4303
4308
 
4304
- reduc_scelli_2015_invest_2010 = min_(P.max, maxi(
4305
- P.taux25 * max_(f7hj, f7hn) / 9,
4306
- P.taux40 * max_(f7hk, f7ho) / 9))
4309
+ reduc_scelli_2015_invest_2010 = min_(investissement_2009_2010.plafond, maxi(
4310
+ investissement_2009_2010.logement_BBC.taux * max_(f7hj, f7hn) / 9,
4311
+ investissement_2009_2010.scellier_outremer.taux * max_(f7hk, f7ho) / 9))
4307
4312
 
4308
- reduc_scelli_2015_invest_2011 = min_(P.max, maxi(
4309
- P.taux13 * max_(f7nf, f7nj) / 9,
4310
- P.taux15 * max_(f7ng, f7ni) / 9,
4311
- P.taux22 * max_(f7na, f7ne) / 9,
4312
- P.taux25 * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4313
- P.taux36 * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4314
- P.taux40 * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)))
4313
+ reduc_scelli_2015_invest_2011 = min_(investissement_2011.plafond, maxi(
4314
+ investissement_2011.logement_non_BBC.taux * max_(f7nf, f7nj) / 9,
4315
+ investissement_2011.logement_non_BBC.taux_transitoire * max_(f7ng, f7ni) / 9,
4316
+ investissement_2011.logement_BBC.taux * max_(f7na, f7ne) / 9,
4317
+ investissement_2011.logement_BBC.taux * maxi(f7nb, f7nc, f7nd, f7nh) / 9,
4318
+ investissement_2011.scellier_outremer.taux * maxi(f7nk / 9, f7no / 9, f7np / 5, f7nt / 5),
4319
+ investissement_2009_2010.scellier_outremer.taux * maxi(f7nl / 9, f7nm / 9, f7nn / 9, f7nq / 5, f7nr / 5, f7ns / 5)))
4315
4320
 
4316
- reduc_scelli_2015_invest_2012 = min_(P.max, maxi(
4317
- P09.taux_prorogation * maxi(f7jf, f7jj) / 9,
4318
- P.taux13 * maxi(f7ja, f7je, f7jg, f7jh) / 9,
4319
- P.taux22 * maxi(f7jb, f7jd) / 9,
4320
- P.taux24 * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
4321
- P.taux36 * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)))
4321
+ reduc_scelli_2015_invest_2012 = min_(investissement_2012.plafond, maxi(
4322
+ investissement_2009_2010.taux_prorogation * maxi(f7jf, f7jj) / 9,
4323
+ investissement_2012.logement_BBC.taux * maxi(f7ja, f7je, f7jg, f7jh) / 9,
4324
+ investissement_2011.logement_BBC.taux * maxi(f7jb, f7jd) / 9,
4325
+ investissement_2012.scellier_outremer.taux * maxi(f7jk / 9, f7jn / 9, f7jo / 5, f7jr / 5),
4326
+ investissement_2011.scellier_outremer.taux * maxi(f7jl / 9, f7jm / 9, f7jp / 5, f7jq / 5)))
4322
4327
 
4323
- reduc_scelli_2015_invest_mars_2013 = min_(P.max, maxi(
4324
- P09.taux_prorogation * f7fb / 9,
4325
- P.taux13 * f7fa / 9,
4326
- P.taux24 * maxi(f7fc / 9, f7fd / 5)))
4328
+ reduc_scelli_2015_invest_mars_2013 = min_(investissement_2012.plafond, maxi(
4329
+ investissement_2009_2010.taux_prorogation * f7fb / 9,
4330
+ investissement_2012.logement_BBC.taux * f7fa / 9,
4331
+ investissement_2012.scellier_outremer.taux * maxi(f7fc / 9, f7fd / 5)))
4327
4332
 
4328
4333
  reductions = (
4329
4334
  reduc_scelli_2015_invest_2009
@@ -4395,42 +4400,42 @@ class scelli(Variable):
4395
4400
  inv_3_6 = ['f7zb', 'f7zc']
4396
4401
  inv_3_5 = ['f7za', 'f7zd']
4397
4402
 
4398
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4399
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4400
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4403
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4404
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4405
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4401
4406
 
4402
4407
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4403
4408
 
4404
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_40]) * P.taux40)
4405
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_25]) * P.taux25)
4406
-
4407
- base_inv_5_40 = min_(sum([foyer_fiscal(i, period) for i in inv_5_40]), P.max)
4408
- base_inv_5_36 = min_(sum([foyer_fiscal(i, period) for i in inv_5_36]), P.max - base_inv_5_40)
4409
- base_inv_5_24 = min_(sum([foyer_fiscal(i, period) for i in inv_5_24]), P.max - base_inv_5_40 - base_inv_5_36)
4410
- base_inv_9_40 = min_(sum([foyer_fiscal(i, period) for i in inv_9_40]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24)
4411
- base_inv_9_36 = min_(sum([foyer_fiscal(i, period) for i in inv_9_36]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40)
4412
- base_inv_9_25 = min_(sum([foyer_fiscal(i, period) for i in inv_9_25]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36)
4413
- base_inv_9_24 = min_(sum([foyer_fiscal(i, period) for i in inv_9_24]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25)
4414
- base_inv_9_22 = min_(sum([foyer_fiscal(i, period) for i in inv_9_22]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24)
4415
- base_inv_9_15 = min_(sum([foyer_fiscal(i, period) for i in inv_9_15]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22)
4416
- base_inv_9_13 = min_(sum([foyer_fiscal(i, period) for i in inv_9_13]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15)
4417
- base_inv_9_6 = min_(sum([foyer_fiscal(i, period) for i in inv_9_6]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13)
4418
- base_inv_3_6 = min_(sum([foyer_fiscal(i, period) for i in inv_3_6]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6)
4419
- base_inv_3_5 = min_(sum([foyer_fiscal(i, period) for i in inv_3_5]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6)
4420
-
4421
- red_inv_5_40 = base_inv_5_40 * P.taux40 / 5
4422
- red_inv_5_36 = base_inv_5_36 * P.taux36 / 5
4423
- red_inv_5_24 = base_inv_5_24 * P.taux24 / 5
4424
- red_inv_9_40 = base_inv_9_40 * P.taux40 / 9
4425
- red_inv_9_36 = base_inv_9_36 * P.taux36 / 9
4426
- red_inv_9_25 = base_inv_9_25 * P.taux25 / 9
4427
- red_inv_9_24 = base_inv_9_24 * P.taux24 / 9
4428
- red_inv_9_22 = base_inv_9_22 * P.taux22 / 9
4429
- red_inv_9_15 = base_inv_9_15 * P.taux15 / 9
4430
- red_inv_9_13 = base_inv_9_13 * P.taux13 / 9
4431
- red_inv_9_6 = base_inv_9_6 * P09.taux_prorogation / 9
4432
- red_inv_3_6 = base_inv_3_6 * P09.taux_prorogation / 3
4433
- red_inv_3_5 = base_inv_3_5 * P11.taux_prorogation / 3
4409
+ ri_rep = ri_rep + min_(investissement_2009_2010.plafond, sum([foyer_fiscal(r, period) for r in reports_base_40]) * investissement_2009_2010.scellier_outremer.taux)
4410
+ ri_rep = ri_rep + min_(investissement_2009_2010.plafond, sum([foyer_fiscal(r, period) for r in reports_base_25]) * investissement_2009_2010.logement_BBC.taux)
4411
+
4412
+ base_inv_5_40 = min_(sum([foyer_fiscal(i, period) for i in inv_5_40]), investissement_2012.plafond)
4413
+ base_inv_5_36 = min_(sum([foyer_fiscal(i, period) for i in inv_5_36]), investissement_2012.plafond - base_inv_5_40)
4414
+ base_inv_5_24 = min_(sum([foyer_fiscal(i, period) for i in inv_5_24]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36)
4415
+ base_inv_9_40 = min_(sum([foyer_fiscal(i, period) for i in inv_9_40]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24)
4416
+ base_inv_9_36 = min_(sum([foyer_fiscal(i, period) for i in inv_9_36]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40)
4417
+ base_inv_9_25 = min_(sum([foyer_fiscal(i, period) for i in inv_9_25]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36)
4418
+ base_inv_9_24 = min_(sum([foyer_fiscal(i, period) for i in inv_9_24]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25)
4419
+ base_inv_9_22 = min_(sum([foyer_fiscal(i, period) for i in inv_9_22]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24)
4420
+ base_inv_9_15 = min_(sum([foyer_fiscal(i, period) for i in inv_9_15]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22)
4421
+ base_inv_9_13 = min_(sum([foyer_fiscal(i, period) for i in inv_9_13]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15)
4422
+ base_inv_9_6 = min_(sum([foyer_fiscal(i, period) for i in inv_9_6]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13)
4423
+ base_inv_3_6 = min_(sum([foyer_fiscal(i, period) for i in inv_3_6]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6)
4424
+ base_inv_3_5 = min_(sum([foyer_fiscal(i, period) for i in inv_3_5]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6)
4425
+
4426
+ red_inv_5_40 = base_inv_5_40 * investissement_2009_2010.scellier_outremer.taux / 5
4427
+ red_inv_5_36 = base_inv_5_36 * investissement_2011.scellier_outremer.taux / 5
4428
+ red_inv_5_24 = base_inv_5_24 * investissement_2012.scellier_outremer.taux / 5
4429
+ red_inv_9_40 = base_inv_9_40 * investissement_2009_2010.scellier_outremer.taux / 9
4430
+ red_inv_9_36 = base_inv_9_36 * investissement_2011.scellier_outremer.taux / 9
4431
+ red_inv_9_25 = base_inv_9_25 * investissement_2009_2010.logement_BBC.taux / 9
4432
+ red_inv_9_24 = base_inv_9_24 * investissement_2012.scellier_outremer.taux / 9
4433
+ red_inv_9_22 = base_inv_9_22 * investissement_2011.logement_BBC.taux / 9
4434
+ red_inv_9_15 = base_inv_9_15 * investissement_2011.logement_non_BBC.taux_transitoire / 9
4435
+ red_inv_9_13 = base_inv_9_13 * investissement_2011.logement_non_BBC.taux / 9
4436
+ red_inv_9_6 = base_inv_9_6 * investissement_2009_2010.taux_prorogation / 9
4437
+ red_inv_3_6 = base_inv_3_6 * investissement_2009_2010.taux_prorogation / 3
4438
+ red_inv_3_5 = base_inv_3_5 * investissement_2011.taux_prorogation / 3
4434
4439
 
4435
4440
  reductions = ri_rep + red_inv_5_40 + red_inv_5_36 + red_inv_5_24 + red_inv_9_40 + red_inv_9_36 + red_inv_9_25 + red_inv_9_24 + red_inv_9_22 + red_inv_9_15 + red_inv_9_13 + red_inv_9_6 + red_inv_3_6 + red_inv_3_5
4436
4441
 
@@ -4483,45 +4488,44 @@ class scelli(Variable):
4483
4488
  inv_3_5 = ['f7za', 'f7zd', 'f7ze', 'f7zh', 'f7zj', 'f7zk']
4484
4489
  inv_3_4 = ['f7zi', 'f7zl']
4485
4490
 
4486
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4487
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4488
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4489
- P12 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4491
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4492
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4493
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4490
4494
 
4491
4495
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4492
4496
 
4493
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_40]) * P.taux40)
4494
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_25]) * P.taux25)
4495
-
4496
- base_inv_5_40 = min_(sum([foyer_fiscal(i, period) for i in inv_5_40]), P.max)
4497
- base_inv_5_36 = min_(sum([foyer_fiscal(i, period) for i in inv_5_36]), P.max - base_inv_5_40)
4498
- base_inv_5_24 = min_(sum([foyer_fiscal(i, period) for i in inv_5_24]), P.max - base_inv_5_40 - base_inv_5_36)
4499
- base_inv_9_40 = min_(sum([foyer_fiscal(i, period) for i in inv_9_40]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24)
4500
- base_inv_9_36 = min_(sum([foyer_fiscal(i, period) for i in inv_9_36]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40)
4501
- base_inv_9_25 = min_(sum([foyer_fiscal(i, period) for i in inv_9_25]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36)
4502
- base_inv_9_24 = min_(sum([foyer_fiscal(i, period) for i in inv_9_24]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25)
4503
- base_inv_9_22 = min_(sum([foyer_fiscal(i, period) for i in inv_9_22]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24)
4504
- base_inv_9_15 = min_(sum([foyer_fiscal(i, period) for i in inv_9_15]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22)
4505
- base_inv_9_13 = min_(sum([foyer_fiscal(i, period) for i in inv_9_13]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15)
4506
- base_inv_9_6 = min_(sum([foyer_fiscal(i, period) for i in inv_9_6]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13)
4507
- base_inv_3_6 = min_(sum([foyer_fiscal(i, period) for i in inv_3_6]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6)
4508
- base_inv_3_5 = min_(sum([foyer_fiscal(i, period) for i in inv_3_5]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6)
4509
- base_inv_3_4 = min_(sum([foyer_fiscal(i, period) for i in inv_3_4]), P.max - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6 - base_inv_3_5)
4510
-
4511
- red_inv_5_40 = base_inv_5_40 * P.taux40 / 5
4512
- red_inv_5_36 = base_inv_5_36 * P.taux36 / 5
4513
- red_inv_5_24 = base_inv_5_24 * P.taux24 / 5
4514
- red_inv_9_40 = base_inv_9_40 * P.taux40 / 9
4515
- red_inv_9_36 = base_inv_9_36 * P.taux36 / 9
4516
- red_inv_9_25 = base_inv_9_25 * P.taux25 / 9
4517
- red_inv_9_24 = base_inv_9_24 * P.taux24 / 9
4518
- red_inv_9_22 = base_inv_9_22 * P.taux22 / 9
4519
- red_inv_9_15 = base_inv_9_15 * P.taux15 / 9
4520
- red_inv_9_13 = base_inv_9_13 * P.taux13 / 9
4521
- red_inv_9_6 = base_inv_9_6 * P09.taux_prorogation / 9
4522
- red_inv_3_6 = base_inv_3_6 * P09.taux_prorogation / 3
4523
- red_inv_3_5 = base_inv_3_5 * P11.taux_prorogation / 3
4524
- red_inv_3_4 = base_inv_3_4 * P12.taux_prorogation / 3
4497
+ ri_rep = ri_rep + min_(investissement_2009_2010.plafond, sum([foyer_fiscal(r, period) for r in reports_base_40]) * investissement_2009_2010.scellier_outremer.taux)
4498
+ ri_rep = ri_rep + min_(investissement_2009_2010.plafond, sum([foyer_fiscal(r, period) for r in reports_base_25]) * investissement_2009_2010.logement_BBC.taux)
4499
+
4500
+ base_inv_5_40 = min_(sum([foyer_fiscal(i, period) for i in inv_5_40]), investissement_2012.plafond)
4501
+ base_inv_5_36 = min_(sum([foyer_fiscal(i, period) for i in inv_5_36]), investissement_2012.plafond - base_inv_5_40)
4502
+ base_inv_5_24 = min_(sum([foyer_fiscal(i, period) for i in inv_5_24]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36)
4503
+ base_inv_9_40 = min_(sum([foyer_fiscal(i, period) for i in inv_9_40]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24)
4504
+ base_inv_9_36 = min_(sum([foyer_fiscal(i, period) for i in inv_9_36]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40)
4505
+ base_inv_9_25 = min_(sum([foyer_fiscal(i, period) for i in inv_9_25]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36)
4506
+ base_inv_9_24 = min_(sum([foyer_fiscal(i, period) for i in inv_9_24]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25)
4507
+ base_inv_9_22 = min_(sum([foyer_fiscal(i, period) for i in inv_9_22]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24)
4508
+ base_inv_9_15 = min_(sum([foyer_fiscal(i, period) for i in inv_9_15]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22)
4509
+ base_inv_9_13 = min_(sum([foyer_fiscal(i, period) for i in inv_9_13]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15)
4510
+ base_inv_9_6 = min_(sum([foyer_fiscal(i, period) for i in inv_9_6]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13)
4511
+ base_inv_3_6 = min_(sum([foyer_fiscal(i, period) for i in inv_3_6]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6)
4512
+ base_inv_3_5 = min_(sum([foyer_fiscal(i, period) for i in inv_3_5]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6)
4513
+ base_inv_3_4 = min_(sum([foyer_fiscal(i, period) for i in inv_3_4]), investissement_2012.plafond - base_inv_5_40 - base_inv_5_36 - base_inv_5_24 - base_inv_9_40 - base_inv_9_36 - base_inv_9_25 - base_inv_9_24 - base_inv_9_22 - base_inv_9_15 - base_inv_9_13 - base_inv_9_6 - base_inv_3_6 - base_inv_3_5)
4514
+
4515
+ red_inv_5_40 = base_inv_5_40 * investissement_2009_2010.scellier_outremer.taux / 5
4516
+ red_inv_5_36 = base_inv_5_36 * investissement_2011.scellier_outremer.taux / 5
4517
+ red_inv_5_24 = base_inv_5_24 * investissement_2012.scellier_outremer.taux / 5
4518
+ red_inv_9_40 = base_inv_9_40 * investissement_2009_2010.scellier_outremer.taux / 9
4519
+ red_inv_9_36 = base_inv_9_36 * investissement_2011.scellier_outremer.taux / 9
4520
+ red_inv_9_25 = base_inv_9_25 * investissement_2009_2010.logement_BBC.taux / 9
4521
+ red_inv_9_24 = base_inv_9_24 * investissement_2012.scellier_outremer.taux / 9
4522
+ red_inv_9_22 = base_inv_9_22 * investissement_2011.logement_BBC.taux / 9
4523
+ red_inv_9_15 = base_inv_9_15 * investissement_2011.logement_non_BBC.taux_transitoire / 9
4524
+ red_inv_9_13 = base_inv_9_13 * investissement_2012.logement_BBC.taux / 9
4525
+ red_inv_9_6 = base_inv_9_6 * investissement_2009_2010.taux_prorogation / 9
4526
+ red_inv_3_6 = base_inv_3_6 * investissement_2009_2010.taux_prorogation / 3
4527
+ red_inv_3_5 = base_inv_3_5 * investissement_2011.taux_prorogation / 3
4528
+ red_inv_3_4 = base_inv_3_4 * investissement_2012.taux_prorogation / 3
4525
4529
 
4526
4530
  reductions = ri_rep + red_inv_5_40 + red_inv_5_36 + red_inv_5_24 + red_inv_9_40 + red_inv_9_36 + red_inv_9_25 + red_inv_9_24 + red_inv_9_22 + red_inv_9_15 + red_inv_9_13 + red_inv_9_6 + red_inv_3_6 + red_inv_3_5 + red_inv_3_4
4527
4531
 
@@ -4591,23 +4595,22 @@ class scelli(Variable):
4591
4595
  'f7sl', 'f7sm_2019',
4592
4596
  ]
4593
4597
 
4594
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4595
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4596
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4597
- P12 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4598
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4599
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4600
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4598
4601
 
4599
4602
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4600
4603
 
4601
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_40]) * P.taux40)
4602
- ri_rep = ri_rep + min_(P.max, sum([foyer_fiscal(r, period) for r in reports_base_25]) * P.taux25)
4604
+ ri_rep = ri_rep + min_(investissement_2012.plafond, sum([foyer_fiscal(r, period) for r in reports_base_40]) * investissement_2009_2010.scellier_outremer.taux)
4605
+ ri_rep = ri_rep + min_(investissement_2012.plafond, sum([foyer_fiscal(r, period) for r in reports_base_25]) * investissement_2009_2010.logement_BBC.taux)
4603
4606
 
4604
- base_ri_6 = min_(P.max, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4605
- base_ri_5 = min_(P.max - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4606
- base_ri_4 = min_(P.max - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4607
+ base_ri_6 = min_(investissement_2012.plafond, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4608
+ base_ri_5 = min_(investissement_2012.plafond - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4609
+ base_ri_4 = min_(investissement_2012.plafond - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4607
4610
 
4608
- ri_6 = base_ri_6 * P09.taux_prorogation / 3
4609
- ri_5 = base_ri_5 * P11.taux_prorogation / 3
4610
- ri_4 = base_ri_4 * P12.taux_prorogation / 3
4611
+ ri_6 = base_ri_6 * investissement_2009_2010.taux_prorogation / 3
4612
+ ri_5 = base_ri_5 * investissement_2011.taux_prorogation / 3
4613
+ ri_4 = base_ri_4 * investissement_2012.taux_prorogation / 3
4611
4614
 
4612
4615
  reductions = ri_rep + ri_6 + ri_5 + ri_4
4613
4616
 
@@ -4619,10 +4622,9 @@ class scelli(Variable):
4619
4622
  2019
4620
4623
  '''
4621
4624
 
4622
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4623
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4624
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4625
- P12 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4625
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4626
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4627
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4626
4628
 
4627
4629
  reports = [
4628
4630
  'f7rt', 'f7ru', 'f7rv', 'f7rw',
@@ -4677,13 +4679,13 @@ class scelli(Variable):
4677
4679
 
4678
4680
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4679
4681
 
4680
- base_ri_6 = min_(P.max, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4681
- base_ri_5 = min_(P.max - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4682
- base_ri_4 = min_(P.max - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4682
+ base_ri_6 = min_(investissement_2012.plafond, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4683
+ base_ri_5 = min_(investissement_2012.plafond - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4684
+ base_ri_4 = min_(investissement_2012.plafond - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4683
4685
 
4684
- ri_6 = base_ri_6 * P09.taux_prorogation / 3
4685
- ri_5 = base_ri_5 * P11.taux_prorogation / 3
4686
- ri_4 = base_ri_4 * P12.taux_prorogation / 3
4686
+ ri_6 = base_ri_6 * investissement_2009_2010.taux_prorogation / 3
4687
+ ri_5 = base_ri_5 * investissement_2011.taux_prorogation / 3
4688
+ ri_4 = base_ri_4 * investissement_2012.taux_prorogation / 3
4687
4689
 
4688
4690
  reductions = ri_rep + ri_6 + ri_5 + ri_4
4689
4691
 
@@ -4695,10 +4697,9 @@ class scelli(Variable):
4695
4697
  2020
4696
4698
  '''
4697
4699
 
4698
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4699
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4700
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4701
- P12 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4700
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4701
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4702
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4702
4703
 
4703
4704
  reports = [
4704
4705
  'f7rt', 'f7ru', 'f7rv', 'f7rw',
@@ -4753,13 +4754,13 @@ class scelli(Variable):
4753
4754
 
4754
4755
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4755
4756
 
4756
- base_ri_6 = min_(P.max, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4757
- base_ri_5 = min_(P.max - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4758
- base_ri_4 = min_(P.max - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4757
+ base_ri_6 = min_(investissement_2012.plafond, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4758
+ base_ri_5 = min_(investissement_2012.plafond - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4759
+ base_ri_4 = min_(investissement_2012.plafond - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4759
4760
 
4760
- ri_6 = base_ri_6 * P09.taux_prorogation / 3
4761
- ri_5 = base_ri_5 * P11.taux_prorogation / 3
4762
- ri_4 = base_ri_4 * P12.taux_prorogation / 3
4761
+ ri_6 = base_ri_6 * investissement_2009_2010.taux_prorogation / 3
4762
+ ri_5 = base_ri_5 * investissement_2011.taux_prorogation / 3
4763
+ ri_4 = base_ri_4 * investissement_2012.taux_prorogation / 3
4763
4764
 
4764
4765
  reductions = ri_rep + ri_6 + ri_5 + ri_4
4765
4766
 
@@ -4771,10 +4772,9 @@ class scelli(Variable):
4771
4772
  2021
4772
4773
  '''
4773
4774
 
4774
- P = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4775
- P09 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4776
- P11 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4777
- P12 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.scelli
4775
+ investissement_2009_2010 = parameters('2009-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4776
+ investissement_2011 = parameters('2011-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4777
+ investissement_2012 = parameters('2012-01-01').impot_revenu.calcul_reductions_impots.investissements_immobiliers.dispositif_scellier
4778
4778
 
4779
4779
  reports = [
4780
4780
  'f7rt', 'f7ru', 'f7rv', 'f7rw',
@@ -4840,13 +4840,13 @@ class scelli(Variable):
4840
4840
 
4841
4841
  ri_rep = sum([foyer_fiscal(rep, period) for rep in reports])
4842
4842
 
4843
- base_ri_6 = min_(P.max, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4844
- base_ri_5 = min_(P.max - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4845
- base_ri_4 = min_(P.max - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4843
+ base_ri_6 = min_(investissement_2012.plafond, sum([foyer_fiscal(inv, period) for inv in inv_6]))
4844
+ base_ri_5 = min_(investissement_2012.plafond - base_ri_6, sum([foyer_fiscal(inv, period) for inv in inv_5]))
4845
+ base_ri_4 = min_(investissement_2012.plafond - base_ri_6 - base_ri_5, sum([foyer_fiscal(inv, period) for inv in inv_4]))
4846
4846
 
4847
- ri_6 = base_ri_6 * P09.taux_prorogation / 3
4848
- ri_5 = base_ri_5 * P11.taux_prorogation / 3
4849
- ri_4 = base_ri_4 * P12.taux_prorogation / 3
4847
+ ri_6 = base_ri_6 * investissement_2009_2010.taux_prorogation / 3
4848
+ ri_5 = base_ri_5 * investissement_2011.taux_prorogation / 3
4849
+ ri_4 = base_ri_4 * investissement_2012.taux_prorogation / 3
4850
4850
 
4851
4851
  reductions = ri_rep + ri_6 + ri_5 + ri_4
4852
4852