flowchart LR D2021["Dictionnaire 2021"] -->|chaînage| D2022["Dictionnaire 2022"]
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 Introduction
Les données issues des sources fiscales (principalement les données du POTE) sont utilisées dans plusieurs étapes du modèle Ines, et notamment pour calculer les impôts et cotisations. Ces données sont issues d’un enrichissement fiscal des tables EEC, et aboutissent à la table foyer.
En pratique, la table foyer est constituée de colonnes appelées cases fiscales, dont le nom est de la forme c_***
, qui peuvent contenir une valeur monétaire déclarée (ex : le salaire ou un investissement réalisé) ou non (nombre d’enfants à charge, fait de recevoir une pension alimentaire, etc.).
Jusqu’à février 2025, ces cases fiscales étaient appelées avec leur nom explicite dans le code. Rendant ainsi les scripts peu robustes à des changements de noms de cases fiscales entre deux années.
Pour palier à ce problème, un label unqiue a été associé à chaque case fiscale de la déclaration de revenus présente dans l’ERFS. C’est ce label qui est ensuite appelé dans le code.
8.2 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/dictionnaire_cases_fiscales_rev2021.xslx
. A chaque case fiscale est associée un label unique, qui est en fait la combinaison : label case fiscale = detail_contenu X concerne.
- detail_contenu : description de la case fiscale concernée, qui 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 individu (déclarant 1 ou 2, ou personne à charge) ou le foyer fiscal en entier.
Voici une représentation interactive de ce dictionnaire sur les revenus 2022 (déplacer l’arbre avec la souris s’il n’apparait pas) :
Ainsi, chaque case est identifiée de façon unique à une combinaison detail_contenu X concerne.
8.3 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.4 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.5 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"
))
Les fonctions recupere_agregats_foyer
et recupere_agregats_individuels
renvoient une erreur automatiquement si un detail_contenu
appelé n’existe pas dans le dictionnaire des cases fiscales.