Imiter le comportement du code M pour l'abattement sur les pensions et rentes
À titre indicatif, j'ai été regarder comment ils calculent l'abattement de 10% sur les pensions retraites rentes dans le code M.
- Version M : https://gitlab.adullact.net/dgfip/ir-calcul/-/blob/master/sources2021m_5_7/chap-81.m?ref_type=heads#L725-1020
- Version Catala : https://gitlab.adullact.net/dgfip/ir-catala/-/blob/main/sources/cgi_revenus.catala_fr?ref_type=heads#L1000-1152
Ce que j'apprend de la lecture du code M et qu'il faudra modifier dans le code Catala :
- dans le M, les déclarants qui sont au plancher de l'abattement ne sont pas affectés par la pro-ratisation du plafond
- dans le M, la pro-ratisation n'est pas seulement faite pour chaque déclarant mais aussi pour chaque source de revenu du déclarant. L'abattement qui est global à 1AS, 1AO, etc. est ainsi proratisé pour obtenir un mini-abattement sur 1AS, un autre sur 1AO, etc.
- pour résoudre le problème des pro-ratisations avec arrondis qui font que la somme des pro-rata est différente du montant initial, ils font le "solde" pour le dernier item pro-ratisé
Note : le comportement de ne pas pro-ratiser le plafond des déclarants au plancher ne marche que parce que le code M ne considère que maximum 6 déclarants et que 6 * plancher < plafond (par contre 11 * plancher > plafond).
Edited by Denis Merigoux