Skip to content
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

Gestion des non résidents (exoneration des prélèvements sociaux, non éligible au RSA, ...) #2104

Open
1 of 5 tasks
Nodraak opened this issue May 22, 2023 · 1 comment · May be fixed by #2106
Open
1 of 5 tasks

Comments

@Nodraak
Copy link
Contributor

Nodraak commented May 22, 2023

Hello hello !

Je suis le fan numéro un d'OpenFisca, mais je viens de rencontrer un problème : le cas des non résidents n'est pas géré (case 8SH dans la déclaration d'impôts).

Qu'ai-je fait ?

Je suis non résident. Openfisca :

  1. Me fait payer les prélèvements sociaux (CSG et CRDS)
  2. Me donne droit à des minimum sociaux (ex: RSA)

À quoi m'attendais-je ?

  1. Exonération des prélèvements sociaux (CSG et CRDS)
  2. Non éligible au RSA
  3. Surement d'autres conséquences dont je n'ai pas connaissance

Que s'est-il passé en réalité ?

/

Voici des informations qui peuvent aider à reproduire le problème :

from openfisca_core.simulation_builder import SimulationBuilder
from openfisca_france import CountryTaxBenefitSystem

CONFIG = {
    "individus": {
        "Alice": {
            # salaire brut avant déduction des cotisations sociales et avant versement des prestations sociales.
            "salaire_de_base": {
                "2022": 0,
            },
        },
    },
    "foyers_fiscaux": {
        "ff1": {
            "declarants": [
                "Alice",
            ],
            # Revenus fonciers imposables
            "f4ba": {
                "2022": 1_000,
            },
        },
    },
}

sim = SimulationBuilder().build_from_entities(CountryTaxBenefitSystem(), CONFIG)

rni = sim.calculate("rni", "2022")  # revenu net imposable
csg = sim.calculate("csg", "2022")
crds = sim.calculate("crds", "2022")
prelevement_solidarite = sim.calculate("prelevements_sociaux_revenus_capital_hors_csg_crds", "2022")
revenus_nets_du_capital = sim.calculate("revenus_nets_du_capital", "2022")
revenu_disponible = sim.calculate("revenu_disponible", "2022")

print("revenu net imposable     %d" % rni[0])
print("csg                      %d" % csg[0])
print("crds                     %d" % crds[0])
print("solidarité               %d" % prelevement_solidarite[0])
print("revenus_nets_du_capital  %d" % revenus_nets_du_capital[0])
print("revenu_disponible        %d" % revenu_disponible[0])

"""

Sortie actuelle:

revenu net imposable     1000
csg                      -92
crds                     -5
solidarité               -75
revenus_nets_du_capital  828
revenu_disponible        7160

Sortie attendue:

revenu net imposable     1000
csg                      0
crds                     0
solidarité               -75
revenus_nets_du_capital  925
revenu_disponible        925
"""

Contexte

Je m'identifie plus en tant que :

  • Contributeur·e : je contribue à OpenFisca France.
  • Développeur·e : je crée des outils qui utilisent OpenFisca France.
  • Économiste : je réalise des simulations avec des données.
  • Mainteneur·e : j'intègre les contributions à OpenFisca France.
  • Autre : (ajoutez une description du contexte dans lequel vous utilisez OpenFisca).
    Simple utilisateur du dimanche (non économiste), peut être futur contributeur

Qu'est ce qu'on fait maintenant ?

Je peux ouvrir une PR, mais j'ai besoin d'un peu d'aide à propos des habitudes de ce repo.

  1. Determination du status de non résident : certaines variables existent, mais ne permettent pas de représenter le cas des non résidents : resident_ue et ressortissant_eee. Je ne saisi pas trop la différence entre les deux, mais le fait qu'une des deux soit True devrait signifier que la personne est non résidente (?). Faut il créer une troisième variable ? Refactorer ces deux la ?
  2. Ajout d'une condition lors du calcul des variables csg et crds (d'autres solutions tordues existent : mise à 0 du taux, ajout d'un crédit d'impôt, ...)
  3. Ajout d'une condition lors du calcul de la variable rsa_condition_nationalite ou rsa_eligibilite (laquelle ? les deux ?) quelque part par ici
@benjello
Copy link
Member

Je pense que resident_ue et ressortissant_eee relèvent d'usage particuliers bien précis.
Ils ne couvrent pas votre besoin.

Je pense qu'il faut donc en créer une nouvelle variable booléenne non_resident_france et s'assurer qu'elle est propagée partout où elle s'applique.

Je remarque aussi que rsa_condition_nationalite n'est pas bien nommée, car elle s'applique aux conditions de séjour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants