-
Notifications
You must be signed in to change notification settings - Fork 101
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
Code la flat tax (réforme Macron 2018) #1075
Conversation
f3fefef
to
26e31b4
Compare
@@ -1974,10 +2007,11 @@ def formula(foyer_fiscal, period, parameters): | |||
abattement_net_duree_detention_retraite_dirigeant_pme = foyer_fiscal('abattement_net_duree_detention_retraite_dirigeant_pme', period) | |||
f2dm = foyer_fiscal('f2dm', period) | |||
microentreprise = foyer_fiscal('microentreprise', period) | |||
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) | |||
rfr_rev_capitaux_mobiliers = foyer_fiscal('rfr_rvcm', period) # Supprimée à partir de 2018 |
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.
Etant donné que la variable rfr_rvcm
n'existe plus à partir de 2018 (cf. nouvelle end_date) je pense que cette formule ne vas plus fonctionner. Il faudrait faire deux formules au sein de rfr
, l'une avant 2018 et l'autre après.
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.
@claireleroy : mettre deux formules serait un peu lourd et apparemment, les variables avec un argument end
à partir d'une date, si elle sont appelées dans une formule après cette date, sont mises à zéro. J'ai testé ça dans l'exemple que tu prends ici : \tests\formulas\rfr.yaml
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.
autant pour moi!
fon = foyer_fiscal('fon', period) | ||
ric_i = foyer_fiscal.members('ric', period) | ||
rag_i = foyer_fiscal.members('rag', period) | ||
rpns_exon_i = foyer_fiscal.members('rpns_exon', period) | ||
rpns_pvct_i = foyer_fiscal.members('rpns_pvct', period) | ||
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) | ||
revenus_capitaux_prelevement_bareme = foyer_fiscal('revenus_capitaux_prelevement_bareme', period, options = [ADD]) # Supprimée à partir de 2018 |
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.
Idem que plus haut.
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) | ||
rev_cat_rvcm = foyer_fiscal('rev_cat_rvcm', period) | ||
rev_cat_rvcm = foyer_fiscal('rev_cat_rvcm', period) # Supprimée à partir de 2018 | ||
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) # Supprimée à partir de 2018 |
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.
Idem que plus haut
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) | ||
rev_cat_rvcm = foyer_fiscal('rev_cat_rvcm', period) | ||
rev_cat_rvcm = foyer_fiscal('rev_cat_rvcm', period) # Supprimée en 2018 | ||
revenus_capitaux_prelevement_liberatoire = foyer_fiscal('revenus_capitaux_prelevement_liberatoire', period, options = [ADD]) # Supprimée en 2018 |
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.
Idem que plus haut
rni = foyer_fiscal('rni') | ||
rpns_exon_holder = foyer_fiscal.members('rpns_exon') | ||
rpns_pvce_holder = foyer_fiscal.members('rpns_pvce') | ||
revenus_capitaux_prelevement_liberatoire = simulation.calculate_add('revenus_capitaux_prelevement_liberatoire') | ||
rfr_rvcm = foyer_fiscal('rfr_rvcm') # Supprimée en 2018 | ||
revenus_capitaux_prelevement_liberatoire = simulation.calculate_add('revenus_capitaux_prelevement_liberatoire') # Supprimée en 2018 |
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.
idem que plus haut
rpns_pvce = foyer_fiscal.sum(rpns_pvce_i) | ||
|
||
|
||
# Notes : |
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.
Ces notes alourdissent beaucoup le code je trouve. Est-ce qu'on peut les mettre dans une issue qui regrouperait toutes les hypothèses faites pour le calcul du PFU ?
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.
@claireleroy : perso, je laisserais ces notes ici, car elles sont très spécifiques à une formule en particulier. Les mettre à part augmente la proba que quelqu'un se replongeant dans la formule ne lise pas ces commentaires. En revanche, je comptais en effet faire une doc à part résumant les hypothèse générales que l'on fait pour coder le PFU, notamment celles liées au fait que l'on n'a toujours pas le formulaire 2042 pour l'impôt 2019 sur revenus 2018. Qu'en penses-tu ?
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.
ça me va !
|
||
def formula_2018_01_01(foyer_fiscal, period, parameters): | ||
''' | ||
Cf. docstring de la formule précédente |
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.
Est-ce que pour alléger le code on peut virer des docstring tout ce qui concerne les différences avec la formule précedente (puisque c'est visible en regardant la formule précédente justement) et garder seulement les commentaires cruciaux (de type hypothèses, incertitudes etc.) ?
Par ailleurs pour ce qui est des hypothèses concernant le PFU on pourrait faire une grande issue qui résume tout ça (cf. commentaire plus haut)
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.
Je suis d'accord ! Le seul cas comme ça que j'ai gardé est celui pour rev_cat_rvcm
, où la diff par rapport à la formule précédente est spécifique à la variable, et pas liée aux hypothèses générales associées au PFU.
887438e
to
e639b73
Compare
04d5f8e
to
82530ee
Compare
…nts dans la déclaration de revenus
…vement forfaitaire unique
…oumis au PFU (prélèvement forfaitare unique)
…t les revenus fiscaux
…ntègre ce calcul dans prelevement_forfaitaire_unique_ir_hors_assurance_vie_epargne_solidaire_etats_non_cooperatifs
…surance-vie (prlire)
…gencement fichiers)
ca5f524
to
31839f9
Compare
model/mesures
model/prelevements_obligatoires/impot_revenu/credits_impot
model/prelevements_obligatoires/impot_revenu/ir
model/prelevements_obligatoires/prelevement_forfaitaire_liberatoire
: déplacé dansmodel/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/prelevement_forfaitaire_liberatoire
model/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/__init__
(création)model/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/variables_communes
(création)model/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/ir_prelevement_forfaitaire_unique
(création)model/prelevements_obligatoires/isf
model/prelevements_obligatoires/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/capital
model/prestations/aides_logement
model/prestations/prestations_familiales/base_ressource
model/revenus/capital/financier
model/revenus/capital/plus_value
reforms/allocations_familiales_imposables
reforms/landais_piketty_saez
Cette "flat tax" à 30 % se décompose en :
prelevement_forfaitaire_unique_ir
, calculée dansmodel/prelevements_obligatoires/impot_revenu/prelevements_forfaitaires/ir_prelevement_forfaitaire_unique
.Pour cela :
revenus_capitaux_prelevement_forfaitaire_unique_ir
etplus_values_prelevement_forfaitaire_unique_ir
, en remplacement des anciennes variables d'assiettes injectées dans les différents dispositifs et bases ressources (revenus_capitaux_prelevement_bareme
,revenus_capitaux_prelevement_liberatoire
,rev_cat_rvcm
,rev_cat_pv
,rfr_rvcm
, etc.).rev_cat_pv
rev_cat_rvcm
rfr_rvcm
tax_rvcm_forfaitaire
taxation_plus_values_hors_bareme
,revenus_capitaux_prelevement_bareme
,revenus_capitaux_prelevement_liberatoire
,prelevement_forfaitaire_liberatoire
,,
f2ch
,f2ts
,prlire
,acompte_ir_elus_locaux
,prelevement_forfaitaire_non_liberatoire
,acomptes_ir
, variables commençant parassurance_vie_pl_non_anonyme
,assurance_vie_pl_anonyme
.Hypothèse : la structure des cases du formulaire 2042 et 2042C est identique entre 2018 et 2019 (i.e. entre les revenus 2017 et 2018). Les assiettes du PFU sont donc définies avec les cases des formulaires de l'IR 2018 sur revenus 2017. Et on neutralise les variables d'acomptes d'impôt.
rev_cat_pv
.rfr_plus_values
enrfr_plus_values_hors_rni
.rfr_rvcm
parrfr_rvcm_abattements_a_reintegrer