Skip to content

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

@Nodraak

Description

@Nodraak

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions