Open benjello opened 5 years ago
Merci @benjello ! Au-delà des remarques de cette première revue, il me reste des interrogations sur le calcul. Si je me fie au deuxième tableau de cette source, je m'attendrais à voir passer ce test :
- name: Célibataire salarié 1000 TND de salaire net, CSS period: 2018 absolute_error_margin: 0.5 input: salaire_imposable: 1178.333 * 12 output: salaire_net_a_payer: 2018-01: 1000 revenu_assimile_salaire: 14140 revenu_assimile_salaire_apres_abattements: 14140 * (1 - .1) irpp_mensuel_salarie: 2018-01: -167.396 contribution_sociale_solidarite: 2018-01: -13.839
Mais j'obtiens :
Test 'Célibataire salarié 1000 TND de salaire net, CSS': contribution_sociale_solidarite@2018-01: [-10.604992] differs from -13.83899974822998 with an absolute margin [3.2340078] > 0.5
Je n'exclus pas encore que l'erreur soit dans la source. Calcul à refaire l'esprit plus éveillé. slightly_smiling_face
La source fait le calcul avec le barème 2017. Là on est en 2018.
L'écart avec la source ne me semble pas venir de la date dans la mesure elle parle bien du calcul applicable suite à la loi de finances 2018 aka : impôt selon barème 2017 (inchangé en 2018) + CSS qui n'existe qu'à partir de 2018.
Right j'étais sur la mauvaise branche ;-)
Ta source donne aussi un IR différent BTW.
C'est comme si nous avions 3 TND en vadrouille entre IRPP et CSS 😅 :
\ | site | notre calcul actuel | delta |
---|---|---|---|
IRPP 2017-2018 | -164,056 | -167.396 | 3.340 |
CSS | -13,839 | -10.604992 | 3.234 |
Y' a une cotisation UGTT à 3DT si je me souviens bien. Ils l'ommettent peut-être.
Mahdi Ben Jelloul
On Mon, Sep 9, 2019 at 2:39 PM sandcha notifications@github.com wrote:
C'est comme si nous avions 3 TND en vadrouille entre IRPP et CSS 😅 : \ site notre calcul actuel delta IRPP 2017-2018 -164,056 -167.396 3.340 CSS -13,839 -10.604992 3.234
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openfisca/openfisca-tunisia/pull/114?email_source=notifications&email_token=AAI7C56XHCQBNCT2IZZILV3QIY7ZLA5CNFSM4IMPYJS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6HNF5I#issuecomment-529453813, or mute the thread https://github.com/notifications/unsubscribe-auth/AAI7C57XB6337F2OWYKPXY3QIY7ZLANCNFSM4IMPYJSQ .
@sandcha on merge où tu veux refaire le calcul avec les 3DT ? (no rush, just cleaning mood)
Ok, si on ignore la source et qu'on retrace le calcul,
voici le cas pour un salaire_imposable
de 12000 TND :
revenu_assimile_salaire_apres_abattements
à 10800 TND.irpp
de 1508 = 5800 * 0.26 puisque la 2ème tranche est à 26%Jusqu'ici, c'est bien ce que me donne openfisca.
Ensuite, si je comprends bien la formule de la CSS = irpp à (26% + 1%) - irpp à 26%.
Donc, la contribution_sociale_solidarite
devrait être de :
(5800 0.27) - (5800 0.26) = 1566 - 1508 = 58 TND
Et donc l'équivalent de 4.83 TND/mois mais j'obtiens 9 TND actuellement.
L'erreur est-elle ici ou dans la formule ?
Mémo pour plus tard : l'abattement sur le salaire de 10% est plafonné à 2000 TND d'après finances.gov.tn. Il me semble que nous ne l'appliquons pas. 🤔
@sandcha : je veux bien que tu ouvres un nouveau ticket pour le plafonnement de l'abattement de 10% avec tout ce que tu auras pu récupérer comme info. Merci !
Et dès que j'ai un peu de temps je retravaille la formule
@benjello Serais-tu d'accord pour un rebase de cette PR ?
Il aurait en particulier pour objet de récupérer la mise à jour d'openfisca-core
et surtout pytest
(de v4.6.11 à v5+) sans laquelle le make test
actuel renvoie une erreur de collecte des fichiers de test :
(...)
openfisca test -c openfisca_tunisia tests/
========================================================== test session starts ===========================================================
platform darwin -- Python 3.7.10, pytest-4.6.11, py-1.10.0, pluggy-0.13.1
rootdir: /Users/sch/dev/gitruc/openfisca-tunisia, inifile: setup.cfg
collected 0 items / 1 errors
================================================================= ERRORS =================================================================
_____________________________________________________ ERROR collecting test session ______________________________________________________
../../../.local/share/virtualenvs/tn/lib/python3.7/site-packages/pluggy/hooks.py:286: in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
../../../.local/share/virtualenvs/tn/lib/python3.7/site-packages/pluggy/manager.py:93: in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
../../../.local/share/virtualenvs/tn/lib/python3.7/site-packages/pluggy/manager.py:87: in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
../../../.local/share/virtualenvs/tn/lib/python3.7/site-packages/openfisca_core/tools/test_runner.py:256: in pytest_collect_file
return YamlFile.from_parent(parent, path = path, fspath = path,
E AttributeError: type object 'YamlFile' has no attribute 'from_parent'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================================== 1 error in 0.11 seconds =========================================================
Par ailleurs, n'hésite pas à m'indiquer si la marche à suivre pour la reprise de cette PR te semble claire. 😅
Sinon, je pense repartir de nos commentaires et tenter de profiter de cette période de déclaration d'impôts en Tunisie pour récupérer des informations sur la CSS.
Ok pour rebase.
@sandcha : tu rebases ou je le fait ?
Fix #110