8 L’utilisation de la table foyer et des données fiscales
L’utilisation des cases fiscales dans le modèle Ines est en cours de refonte complète. Cette page est donc susceptible de changer régulièrement jusqu’à l’atterisage de cette refonte (normalement courant 2025).
8.1 Dictionnaire des cases fiscales
Un dictionnaire complet des cases fiscales présentes dans la table foyer de l’ERFS 2021 a été réalisé. Il est disponible dans le dossier parametres/agreg.foyer_var_list.xslx
. A chaque case fiscale est associée une combinaison unique : detail_contenu X concerne :
- detail_contenu se présente comme un arbre (de 1, le plus général, à 8, le plus précis) permettant de situer précisemment chaque case dans la brochure pratique des impôts 2022
- concerne précise si la case fiscale concerne un indidu (déclarant 1 ou 2, ou personne à charge) ou le foyer fiscal en entier.
Voici une représentation visuelle de ce dictionnaire :
Ainsi, chaque case est identifiée de façon unique à une combinaison detail_contenu X concerne.
8.2 Adaptation de la déclaration fiscale de l’ERFS au format anleg
La table foyer de l’ERFS étant au format de déclaration fiscale de l’année de l’ERFS, il est nécessaire de l’adapter à la déclaration fiscale de l’année anleg
. Un chaînage des déclarations fiscales est réalisé dans les étapes maj_cases_fiscales
et agrege_foyer
. Cette étape de chaînage permet, par la même occasion, de générer un dictionnaire des cases fisclaes pour anleg
à partir du dictionnaire 2021.
8.3 Découpage de la table foyer et passage au format long
A l’issue de cette adaptation de la table foyer à anleg
, un découpage en trois sous-tables est effectué. Ainsi,au lieu la table livrée par l’ERFS foyer_anr
en format large (une ligne par foyer fiscal), on travaille dans tout le reste du modèle avec trois tables :
Clé | Contenu | |
---|---|---|
foyer_anr | idfoyer | Situation foyer, agrégats ERFS |
individu_foyer_cases_anr | ident X noi X case fiscale | Cases fiscales individualisables |
foyer_agregats_anr | idfoyer X case fuscake | Cases fiscales non individualisables |
Après la création de ces trois tables, toutes les lignes ayant pour valeur 0 sont supprimées, ce qui concerne 95% des lignes.
De plus, ce format permet d’assigner correctement les cases fiscales au bon individu du foyer. Par exemple, au lieu d’avoir c_1bj
associé à l’individu coldec == 1
, mais qui correspond en réalité au salaire du conjoint, on assigne directement la valeur dans la case à l’individu coldec == 2
, sous le nom c_1aj
. On supprime ainsi toutes les mentions de “vous” dans la table des cases individualisables.
Cette opération permet d’alléger considérablement la table foyer (par la suppression de toutes les cases de valeur nulle), mais aussi de symmétriser les déclarations fiscales, en associant chaque case individuelle à l’individu qu’elle concerne, plutôt qu’au foyer fiscal associé au déclarant.
Ces transformations ont lieu dans les étapes extrait_donnees_indiv
et transforme_case_fiscale_agregat
.
8.4 Utilisation dans la suite du modèle
Dans toutes les étapes suivantes, les données fiscales sont appelées avec les deux fonctions suivantes :
recupere_agregats_foyer
pour la tablefoyer_agregats_anr
recupere_agregats_individuels
pour la tableindividu_foyer_cases_anr
Dans les deux cas, l’appel se fait par le biais de la variable detail_contenu associée aux cases fiscales concernées. Ceci permet un appel insensible aux éventuels changements de cases fiscales entre deux déclarations.
Par exemple, le code suivant permet d’obtenir un data.frame
au niveau individuel, où, pour chaque individu, on a ajouté deux colonnes : la colonne salaire
, qui contient la case dont le detail_contenu est : “2042 - traitements, salaires, pensions, rentes - traitements, salaires - traitements et salaires”, et la colonne hsup
, qui contient la case dont le detail_contenu est : “2042 - traitements, salaires, pensions, rentes - traitements, salaires - heures supplementaires exonerees”.
recupere_agregats_individuels(
agreg.foyer_var_list,
base.baseind %>% select(ident, noi, idfoyer, coldec),
individu_foyer_cases,
liste = list(
salaire = "2042 - traitements, salaires, pensions, rentes - traitements, salaires - traitements et salaires",
hsup = "2042 - traitements, salaires, pensions, rentes - traitements, salaires - heures supplementaires exonerees"
))