-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ipp update charges deductibles #907
Changes from all commits
f0623ca
ae39c19
95fe314
3a49b47
26dfcf6
7942eee
9af5ba1
dbc72ff
f953e0e
7e4927b
a500945
af7f04d
9596fd2
75a9920
35b0312
315f7b7
bfb8cf4
591b6be
3d44ae4
5068b5a
d5c7a70
e1a0fdd
cb96b8b
52dbc2c
b0e23d7
2e62f83
a731552
540ec0a
c182523
19a4c80
0d1ea37
37f8cbf
4fa0938
aec13d2
bca6335
0f05eda
fd631e7
7cc60bd
1bc7664
9b81919
c54e93e
97b9179
26ab2e0
f140627
09c6acc
d2ad4c4
f1b5655
cd89a15
ad2372d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -213,7 +213,7 @@ class f6hj(Variable): | |
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses des années antérieures" | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2009" | ||
# start_date = date(2010, 1, 1) | ||
definition_period = YEAR | ||
|
||
|
@@ -223,7 +223,7 @@ class f6hk(Variable): | |
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses des années antérieures" | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2010" | ||
# start_date = date(2011, 1, 1) | ||
definition_period = YEAR | ||
|
||
|
@@ -233,7 +233,7 @@ class f6hl(Variable): | |
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses des années antérieures" | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2011" | ||
# start_date = date(2012, 1, 1) | ||
definition_period = YEAR | ||
|
||
|
@@ -243,10 +243,37 @@ class f6hm(Variable): | |
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses des années antérieures" | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2012" | ||
# start_date = date(2013, 1, 1) | ||
definition_period = YEAR | ||
|
||
class f6hn(Variable): | ||
cerfa_field = u"6HN" | ||
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2013" | ||
# start_date = date(2014, 1, 1) | ||
definition_period = YEAR | ||
|
||
class f6ho(Variable): | ||
cerfa_field = u"6HO" | ||
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2014" | ||
# start_date = date(2015, 1, 1) | ||
definition_period = YEAR | ||
|
||
class f6hp(Variable): | ||
cerfa_field = u"6HP" | ||
value_type = int | ||
unit = 'currency' | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations effectuées par les nus-propriétaires: report des dépenses de l'année 2015" | ||
# start_date = date(2016, 1, 1) | ||
definition_period = YEAR | ||
|
||
|
||
# Sommes à rajouter au revenu imposable | ||
class f6gh(Variable): | ||
|
@@ -335,7 +362,6 @@ class cd1(Variable): | |
label = u"Charges déductibles non plafonnées" | ||
reference = "http://impotsurlerevenu.org/definitions/215-charge-deductible.php" | ||
definition_period = YEAR | ||
end = '2014-12-31' | ||
|
||
def formula_2002_01_01(foyer_fiscal, period, parameters): | ||
''' | ||
|
@@ -675,16 +701,107 @@ class grosses_reparations(Variable): | |
value_type = float | ||
entity = FoyerFiscal | ||
label = u"Dépenses de grosses réparations des nus-propriétaires" | ||
reference = u"http://bofip.impots.gouv.fr/bofip/1852-PGP" | ||
definition_period = YEAR | ||
|
||
def formula_2009(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires (case 6CB et 6HJ) | ||
''' | ||
|
||
f6cb = foyer_fiscal('f6cb', period) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Le code de cette formule me parait être beaucoup de copié-collé. Est-ce nécéssaire ? class grosses_reparations(Variable):
value_type = float
entity = FoyerFiscal
label = u"Dépenses de grosses réparations des nus-propriétaires"
definition_period = YEAR
def formula_2009(foyer_fiscal, period, parameters):
'''
Dépenses de grosses réparations des nus-propriétaires
'''
somme_reparations = (
foyer_fiscal('f6cb', period) +
foyer_fiscal('f6cj', period) + # report année 2009
foyer_fiscal('f6hk', period) + # report année 2010
foyer_fiscal('f6hl', period) + # report année 2011
foyer_fiscal('f6hm', period) + # report année 2012
foyer_fiscal('f6hn', period) + # report année 2013
foyer_fiscal('f6ho', period) + # report année 2014
foyer_fiscal('f6hp', period) # report année 2015
)
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond
return min_( somme_reparations, plafond_grosses_reparations) De ce que j'ai compris, Or dans OF, c'est à l'utilisateur d'envoyer les bons inputs. Même lorsqu'une variable a une Si vous estimez que le risque est trop important, il est possible d'écrire : def formula_2009(foyer_fiscal, period, parameters):
'''
Dépenses de grosses réparations des nus-propriétaires
'''
somme_reparations = (
foyer_fiscal('f6cb', period) +
np.where(period > '2009', foyer_fiscal('f6hj', period)) + # report année 2009
np.where(period > '2010', foyer_fiscal('f6hk', period)) # report année 2010
np.where(period > '2011', foyer_fiscal('f6hl', period)) # report année 2011
np.where(period > '2012', foyer_fiscal('f6hm', period)) # report année 2012
np.where(period > '2013', foyer_fiscal('f6hn', period)) # report année 2013
np.where(period > '2014', foyer_fiscal('f6ho', period)) # report année 2014
np.where(period > '2015', foyer_fiscal('f6hp', period)) # report année 2015
)
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond
return min_(somme_reparations, plafond_grosses_reparations) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Anna-Livia : Il y avait des if sur les period il y a un certain temps et il avait décidé si je me souviens bien de plutôt choisir des formules par périodes. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @benjello C'est dans cet idée que je propose la première option, qui est à mon avis au plus proche de l'esprit d'OpenFisca.
Le moins :
Ma préconisation est donc : class grosses_reparations(Variable):
value_type = float
entity = FoyerFiscal
label = u"Dépenses de grosses réparations des nus-propriétaires"
definition_period = YEAR
def formula_2009(foyer_fiscal, period, parameters):
'''
Dépenses de grosses réparations des nus-propriétaires
'''
somme_reparations = (
foyer_fiscal('f6cb', period) +
foyer_fiscal('f6cj', period) + # report année 2009
foyer_fiscal('f6hk', period) + # report année 2010
foyer_fiscal('f6hl', period) + # report année 2011
foyer_fiscal('f6hm', period) + # report année 2012
foyer_fiscal('f6hn', period) + # report année 2013
foyer_fiscal('f6ho', period) + # report année 2014
foyer_fiscal('f6hp', period) # report année 2015
)
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond
return min_( somme_reparations, plafond_grosses_reparations) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Anna-Livia : je me permets de contester tes +
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK pour garder les multiples formules. Je pense qu'il reste intéressant de mettre un commentaire tel que There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok pour les commentaires. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Est-ce que ça vous va comme ça ? (J'ai pensé que ça faisait la même chose que de rajouter des commentaires mais en moins lourd, mais je peux rechanger) :
|
||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb, plafond_grosses_reparations) | ||
|
||
def formula_2010(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009, plafond_grosses_reparations) | ||
|
||
def formula_2011(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
f6hj = foyer_fiscal('f6hj', period) | ||
f6hk = foyer_fiscal('f6hk', period) | ||
f6hl = foyer_fiscal('f6hl', period) | ||
grorep = parameters(period).impot_revenu.charges_deductibles.grosses_reparations | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010, plafond_grosses_reparations) | ||
|
||
return min_(f6cb + f6hj + f6hk + f6hl, grorep.plafond) | ||
def formula_2012(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
report_2011 = foyer_fiscal('f6hl', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010 + report_2011, plafond_grosses_reparations) | ||
|
||
def formula_2013(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
report_2011 = foyer_fiscal('f6hl', period) | ||
report_2012 = foyer_fiscal('f6hm', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010 + report_2011 + report_2012, plafond_grosses_reparations) | ||
|
||
|
||
def formula_2014(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
report_2011 = foyer_fiscal('f6hl', period) | ||
report_2012 = foyer_fiscal('f6hm', period) | ||
report_2013 = foyer_fiscal('f6hn', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010 + report_2011 + report_2012 + report_2013, plafond_grosses_reparations) | ||
|
||
def formula_2015(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
report_2011 = foyer_fiscal('f6hl', period) | ||
report_2012 = foyer_fiscal('f6hm', period) | ||
report_2013 = foyer_fiscal('f6hn', period) | ||
report_2014 = foyer_fiscal('f6ho', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010 + report_2011 + report_2012 + report_2013 + report_2014, plafond_grosses_reparations) | ||
|
||
def formula_2016(foyer_fiscal, period, parameters): | ||
''' | ||
Dépenses de grosses réparations des nus-propriétaires | ||
''' | ||
f6cb = foyer_fiscal('f6cb', period) | ||
report_2009 = foyer_fiscal('f6hj', period) | ||
report_2010 = foyer_fiscal('f6hk', period) | ||
report_2011 = foyer_fiscal('f6hl', period) | ||
report_2012 = foyer_fiscal('f6hm', period) | ||
report_2013 = foyer_fiscal('f6hn', period) | ||
report_2014 = foyer_fiscal('f6ho', period) | ||
report_2015 = foyer_fiscal('f6hp', period) | ||
plafond_grosses_reparations = parameters(period).impot_revenu.charges_deductibles.grosses_reparations.plafond | ||
|
||
return min_(f6cb + report_2009 + report_2010 + report_2011 + report_2012 + report_2013 + report_2014 + report_2015, plafond_grosses_reparations) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Serait-il possible d'ajouter une référence ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Par rapport à la end-date ? C'est juste que cette formule est valide après 2014 (j'ai mis 2016 comem end date parce que c'est la dernière année pour laquelle je suis sure que la formule est valide mais en soi on peut virer la end-date puisqu'à priori la formule sera valide chaque année)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Par rapport à la formule en général, il y a t'il une URL qui décrit ce dispositif, type : http://bofip.impots.gouv.fr/bofip/1852-PGP
On pourrait le mettre dans un attribut
reference
de la formule.Désolée pour la confusion :/