Formule de calcul
Crédits d’impôt pour dépenses en faveur de la qualité environnementale (2005 - 2014) / de la transition energétique (2014 - )
Ce dispositif est peut-être obsolète !
La dernière date de relecture du dispositif est mercredi 1 janvier 2020.
Formule de calcul OpenFisca à compter du 2020-01-01 :
Formule de calcul OpenFisca à compter du 2019-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la transition energétique 2019
def formula_2019_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la transition energétique 2019 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) personnes_a_charge = foyer_fiscal('nb_pac2', period) P = parameters(period).impot_revenu.credits_impots.quaenv cases_depenses = [ 'f7aa', 'f7ad', 'f7af', 'f7ah', 'f7ak', 'f7al', 'f7ar', 'f7as', 'f7av', 'f7ax', 'f7ay', 'f7az', 'f7bb', 'f7bc', 'f7bd', 'f7be', 'f7bf', 'f7bh', 'f7bk', 'f7bl', 'f7bm', 'f7cb', 'f7bn', ] depenses_transition_energetique = sum([foyer_fiscal(case, period) for case in cases_depenses]) f7bq = foyer_fiscal('f7bq', period) plafond = P.max * (1 + maries_ou_pacses) + P.pac1 * personnes_a_charge plafondint = min_(plafond, f7bq) plafond_ordinaire = (plafond - plafondint) return ( P.taux30 * min_(plafond_ordinaire, depenses_transition_energetique) + P.taux50 * plafondint )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Dépenses en faveur de la qualité environnementale des logements donnés en location : Pompes à chaleur (autres que air/air) dédiées à la production d’eau chaude sanitaire (chauffe-eaux thermodynamiques); dépenses payées en 2018 avec acceptation d’un devis et versement d’un acompte au plus tard le 31.12.2017
Déclaration d’impôts n°1
€/anDépenses de pose d’équipements de chauffage ou de fourniture d’eau chaude utilisant une source d’énergie renouvelable, de systèmes de fourniture d’électricité utilisant l’énergie hydraulique ou la biomasse et de pompes à chaleur autres que air/air (à l’exception du coût de la pose de l’échangeur de chaleur souterrain des pompes à chaleur géothermiques)
Déclaration d’impôts n°1
Formule de calcul OpenFisca à compter du 2018-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la transition energétique 2018
def formula_2018_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la transition energétique 2018 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) personnes_a_charge = foyer_fiscal('nb_pac2', period) P = parameters(period).impot_revenu.credits_impots.quaenv cases_depenses = [ 'f7aa', 'f7ad', 'f7af', 'f7ah', 'f7ak', 'f7al', 'f7am', 'f7an', 'f7aq', 'f7ar', 'f7as', 'f7av', 'f7ax', 'f7ay', 'f7az', 'f7bb', 'f7bc', 'f7bd', 'f7be', 'f7bf', 'f7bh', 'f7bk', 'f7bl', 'f7bm', 'f7cb', ] depenses_transition_energetique = sum([foyer_fiscal(case, period) for case in cases_depenses]) cases_depense_taux_reduit = ['f7ao', 'f7ap'] depenses_transition_energetique_taux_reduit = sum([foyer_fiscal(case, period) for case in cases_depense_taux_reduit]) plafond_depenses_energetiques = P.max * (1 + maries_ou_pacses) + P.pac1 * personnes_a_charge plafond_depenses_energetiques_taux_reduit = max_(0, plafond_depenses_energetiques - depenses_transition_energetique) return ( P.taux30 * min_(plafond_depenses_energetiques, depenses_transition_energetique) + P.taux15 * min_(plafond_depenses_energetiques_taux_reduit, depenses_transition_energetique_taux_reduit) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Dépenses en faveur de la qualité environnementale des logements donnés en location : Chaudières à très haute performance énergétique utilisant le fioul : dépenses payées du 1.1.2018 au 30.6.2018 et dépenses payées du 1.7.2018 au 31.12.2018 avec acceptation d’un devis et versement d’un acompte au plus tard le 30.6.2018.
Déclaration d’impôts n°1
€/anDépenses en faveur de la qualité environnementale des logements donnés en location : Pompes à chaleur (autres que air/air) dédiées à la production d’eau chaude sanitaire (chauffe-eaux thermodynamiques); dépenses payées en 2018 avec acceptation d’un devis et versement d’un acompte au plus tard le 31.12.2017
Déclaration d’impôts n°1
€/an
Formule de calcul OpenFisca à compter du 2017-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la transition energétique 2017
def formula_2017_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la transition energétique 2017 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) personnes_a_charge = foyer_fiscal('nb_pac2', period) P = parameters(period).impot_revenu.credits_impots.quaenv cases_depenses = [ 'f7ad', 'f7af', 'f7ah', 'f7ak', 'f7al', 'f7am', 'f7an', 'f7aq', 'f7ar', 'f7av', 'f7ax', 'f7ay', 'f7az', 'f7bb', 'f7bc', 'f7bd', 'f7be', 'f7bf', 'f7bh', 'f7bk', 'f7bl', 'f7cb', ] depenses_transition_energetique = sum([foyer_fiscal(case, period) for case in cases_depenses]) plafond_depenses_energetiques = P.max * (1 + maries_ou_pacses) + P.pac1 * personnes_a_charge return P.taux30 * min_(plafond_depenses_energetiques, depenses_transition_energetique)
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2016-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la transition energétique 2016
def formula_2016_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la transition energétique 2016 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac2 = foyer_fiscal('nb_pac2', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac2 cases_depenses = [ 'f7aa_2016', 'f7ad', 'f7af', 'f7ah', 'f7ak', 'f7al', 'f7am', 'f7an', 'f7aq', 'f7ar', 'f7av', 'f7ax', 'f7ay', 'f7az', 'f7bb', 'f7bc', 'f7bd', 'f7be', 'f7bf', 'f7bh', 'f7bk', 'f7bl', 'f7bm_2016', 'f7cb', ] depenses_transition_energetique = sum([foyer_fiscal(case, period) for case in cases_depenses]) return P.taux30 * min_(max0, depenses_transition_energetique)
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2015-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (1.1-31.8.2014) et transition energétique (1.9.2014-31.12.2015) 2015
def formula_2015_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (1.1-31.8.2014) et transition energétique (1.9.2014-31.12.2015) 2015 ''' f7aa = foyer_fiscal('f7aa_2016', period) f7ad = foyer_fiscal('f7ad', period) f7af = foyer_fiscal('f7af', period) f7ah = foyer_fiscal('f7ah', period) f7ak = foyer_fiscal('f7ak', period) f7al = foyer_fiscal('f7al', period) f7am = foyer_fiscal('f7am', period) f7an = foyer_fiscal('f7an', period) f7aq = foyer_fiscal('f7aq', period) f7ar = foyer_fiscal('f7ar', period) f7av = foyer_fiscal('f7av', period) f7ax = foyer_fiscal('f7ax', period) f7ay = foyer_fiscal('f7ay', period) f7az = foyer_fiscal('f7az', period) f7bb = foyer_fiscal('f7bb', period) f7bc = foyer_fiscal('f7bc', period) f7bd = foyer_fiscal('f7bd', period) f7be = foyer_fiscal('f7be', period) f7bf = foyer_fiscal('f7bf', period) f7bh = foyer_fiscal('f7bh', period) f7bk = foyer_fiscal('f7bk', period) f7bl = foyer_fiscal('f7bl', period) f7rg = foyer_fiscal('f7rg_2015', period) f7rh = foyer_fiscal('f7rh_2016', period) f7ri = foyer_fiscal('f7ri_2015', period) f7rj = foyer_fiscal('f7rj_2015', period) f7rk = foyer_fiscal('f7rk_2015', period) f7rl = foyer_fiscal('f7rl_2015', period) f7rn = foyer_fiscal('f7rn_2015', period) f7rp = foyer_fiscal('f7rp_2015', period) f7rq = foyer_fiscal('f7rq_2015', period) f7rr = foyer_fiscal('f7rr_2015', period) f7rs = foyer_fiscal('f7rs_2015', period) f7rt = foyer_fiscal('f7rt_2015', period) f7ru = foyer_fiscal('f7ru_2015', period) f7rv = foyer_fiscal('f7rv_2015', period) f7rw = foyer_fiscal('f7rw_2015', period) f7rz = foyer_fiscal('f7rz_2015', period) f7sa = foyer_fiscal('f7sa_2015', period) f7sb = foyer_fiscal('f7sb_2015', period) f7sc = foyer_fiscal('f7sc_2016', period) f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) f7sf = foyer_fiscal('f7sf_2015', period) f7sg = foyer_fiscal('f7sg_2015', period) f7sh = foyer_fiscal('f7sh_2015', period) f7si = foyer_fiscal('f7si_2015', period) f7sj = foyer_fiscal('f7sj_2015', period) f7sk = foyer_fiscal('f7sk_2015', period) f7sl = foyer_fiscal('f7sl_2015', period) f7sm = foyer_fiscal('f7sm_2015', period) f7sn = foyer_fiscal('f7sn_2015', period) f7so = foyer_fiscal('f7so_2015', period) f7sp = foyer_fiscal('f7sp', period) f7sq = foyer_fiscal('f7sq_2015', period) f7sr = foyer_fiscal('f7sr_2015', period) f7ss = foyer_fiscal('f7ss', period) f7st = foyer_fiscal('f7st', period) f7su = foyer_fiscal('f7su', period) f7sv = foyer_fiscal('f7sv', period) f7sw = foyer_fiscal('f7sw', period) f7sz = foyer_fiscal('f7sz_2015', period) f7ta = foyer_fiscal('f7ta_2015', period) f7tb = foyer_fiscal('f7tb_2015', period) f7tc = foyer_fiscal('f7tc', period) f7tn = foyer_fiscal('f7tn', period) f7tp = foyer_fiscal('f7tp_2015', period) f7tq = foyer_fiscal('f7tq_2015', period) f7tr = foyer_fiscal('f7tr_2015', period) f7ts = foyer_fiscal('f7ts_2015', period) f7tt = foyer_fiscal('f7tt_2012', period) f7tv = foyer_fiscal('f7tv_2012', period) f7tw = foyer_fiscal('f7tw_2012', period) f7tx = foyer_fiscal('f7tx_2015', period) f7ty = foyer_fiscal('f7ty_2015', period) f7vg = foyer_fiscal('f7vg', period) f7vh = foyer_fiscal('f7vh_2014', period) f7vi = foyer_fiscal('f7vi_2015', period) f7vk = foyer_fiscal('f7vk_2015', period) f7vl = foyer_fiscal('f7vl_2015', period) f7wb = foyer_fiscal('f7wb_2015', period) f7wc = foyer_fiscal('f7wc_2015', period) f7wh = foyer_fiscal('f7wh', period) f7wi = foyer_fiscal('f7wi_2015', period) f7wt = foyer_fiscal('f7wt', period) f7wu = foyer_fiscal('f7wu', period) f7wv = foyer_fiscal('f7wv', period) f7ww = foyer_fiscal('f7ww', period) f7xb = foyer_fiscal('f7xb', period) f7xc = foyer_fiscal('f7xc_2015', period) maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac2 = foyer_fiscal('nb_pac2', period) quaenv_bouquet = foyer_fiscal('quaenv_bouquet', period) P = parameters(period).impot_revenu.credits_impots.quaenv depenses_transition_energetique_bouquet_2ans_2014_part2 = ( f7sa + f7sb + f7sc + f7wb + f7rg + f7vh + f7rh + f7ri + f7wu + f7rj + f7rk + f7rl + f7rn + f7rp + f7rr + f7rs + f7rq + f7rt + f7rv + f7rw + f7rz + f7tv + f7tw ) depenses_transition_energetique_bouquet_2ans_2015 = ( f7ta + f7tb + f7tc + f7xb + f7xc + f7wh + f7wi + f7vi + f7wv + f7ww + f7vk + f7vl + f7tn + f7tp + f7tr + f7ts + f7tq + f7tt + f7tx + f7ty + f7ru + f7su + f7sm + f7so + f7sz ) depenses_transition_energetique_2015 = ( f7aa + f7ad + f7af + f7ah + f7ak + f7al + f7am + f7an + f7aq + f7ar + f7av + f7ax + f7ay + f7az + f7bb + f7bc + f7bd + f7be + f7bf + f7bh + f7bk + f7bl ) depenses_transition_energetique = ( depenses_transition_energetique_bouquet_2ans_2014_part2 * quaenv_bouquet + depenses_transition_energetique_bouquet_2ans_2015 + depenses_transition_energetique_2015 ) max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac2 max00 = max_(0, max0 - depenses_transition_energetique) max1 = max_(0, max00 - quaenv_bouquet * (f7sd + f7se + f7wc + f7vg + f7wt + f7sn + f7sp + f7sr + f7ss + f7sq + f7st) - not_(quaenv_bouquet) * (max00)) credit_quaenv_bouquet_2ans = ( quaenv_bouquet * ( P.taux25 * (min_(max00, f7sd + f7se + f7wc + f7vg + f7wt + f7sn + f7sp + f7sr + f7ss + f7sq + f7st)) + P.taux15 * min_(max1, f7sf + f7sg + f7sh + f7si + f7sj + f7sk + f7sl + f7sv + f7sw) ) ) # TODO: inclure la condition de non cumul éco-prêt / crédit quaenv si RFR > ... (condition complexifiée à partir de 2014) return ( P.taux30 * min_(max0, depenses_transition_energetique) + min_(max_(0, max0 - depenses_transition_energetique), credit_quaenv_bouquet_2ans) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée
Déclaration d’impôts n°1
Dépenses en faveur de la qualité environnementale des logements donnés en location : Dans les logements situés dans les départements d’outre-mer : équipements de raccordement à un réseau de froid ; équipements ou matériaux de protection des parois vitrées ou opaques contre les rayonnements solaires ; équipements visant à l’optimisation de la ventilation naturelle
Déclaration d’impôts n°1
€/an
Formule de calcul OpenFisca à compter du 2014-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (1.1-31.8.2014) et transition energétique (1.9-31.12.2014) 2014
def formula_2014_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (1.1-31.8.2014) et transition energétique (1.9-31.12.2014) 2014 ''' f7rg = foyer_fiscal('f7rg_2015', period) f7rh = foyer_fiscal('f7rh_2016', period) f7ri = foyer_fiscal('f7ri_2015', period) f7rj = foyer_fiscal('f7rj_2015', period) f7rk = foyer_fiscal('f7rk_2015', period) f7rl = foyer_fiscal('f7rl_2015', period) f7rn = foyer_fiscal('f7rn_2015', period) f7rp = foyer_fiscal('f7rp_2015', period) f7rq = foyer_fiscal('f7rq_2015', period) f7rr = foyer_fiscal('f7rr_2015', period) f7rs = foyer_fiscal('f7rs_2015', period) f7rt = foyer_fiscal('f7rt_2015', period) f7rv = foyer_fiscal('f7rv_2015', period) f7rw = foyer_fiscal('f7rw_2015', period) f7rz = foyer_fiscal('f7rz_2015', period) f7sa = foyer_fiscal('f7sa_2015', period) f7sb = foyer_fiscal('f7sb_2015', period) f7sc = foyer_fiscal('f7sc_2016', period) f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) f7sf = foyer_fiscal('f7sf_2015', period) f7sg = foyer_fiscal('f7sg_2015', period) f7sh = foyer_fiscal('f7sh_2015', period) f7si = foyer_fiscal('f7si_2015', period) f7sj = foyer_fiscal('f7sj_2015', period) f7sk = foyer_fiscal('f7sk_2015', period) f7sl = foyer_fiscal('f7sl_2015', period) f7sn = foyer_fiscal('f7sn_2015', period) f7sp = foyer_fiscal('f7sp', period) f7sq = foyer_fiscal('f7sq_2015', period) f7sr = foyer_fiscal('f7sr_2015', period) f7ss = foyer_fiscal('f7ss', period) f7st = foyer_fiscal('f7st', period) f7sv = foyer_fiscal('f7sv', period) f7sw = foyer_fiscal('f7sw', period) f7tv = foyer_fiscal('f7tv_2012', period) f7tw = foyer_fiscal('f7tw_2012', period) f7vg = foyer_fiscal('f7vg', period) f7vh = foyer_fiscal('f7vh_2014', period) f7wb = foyer_fiscal('f7wb_2015', period) f7wc = foyer_fiscal('f7wc_2015', period) f7wk = foyer_fiscal('f7wk', period) f7wt = foyer_fiscal('f7wt', period) f7wu = foyer_fiscal('f7wu', period) maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac2 = foyer_fiscal('nb_pac2', period) quaenv_bouquet = foyer_fiscal('quaenv_bouquet', period) P = parameters(period).impot_revenu.credits_impots.quaenv depenses_transition_energetique = ( f7sa + f7sb + f7sc + f7wb + f7rg + f7vh + f7rh + f7ri + f7wu + f7rj + f7rk + f7rl + f7rn + f7rp + f7rr + f7rs + f7rq + f7rt + f7rv + f7rw + f7rz + f7tv + f7tw ) max0 = ( P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac2 ) max00 = max_(0, max0 - depenses_transition_energetique) max1 = max_(0, max00 - quaenv_bouquet * (f7sd + f7se + f7wc + f7vg + f7wt + f7sn + f7sp + f7sr + f7ss + f7sq + f7st) - not_(quaenv_bouquet) * (max00)) credit_quaenv = ( quaenv_bouquet * (P.taux25 * (min_(max00, f7sd + f7se + f7wc + f7vg + f7wt + f7sn + f7sp + f7sr + f7ss + f7sq + f7st)) + P.taux15 * min_(max1, f7sf + f7sg + f7sh + f7si + f7sj + f7sk + f7sl + f7sv + f7sw) ) + not_(quaenv_bouquet) * P.taux15 * (min_(max00, f7se + f7wc + f7vg + f7sn + f7sp + f7sr + f7ss + f7sq + f7st + f7sf + f7sg + f7sh + f7si + f7sv + f7sw + f7sd + not_(f7wk) * (f7wt + f7sj + f7sk + f7sl))) ) # TODO: inclure la condition de non cumul éco-prêt / crédit quaenv si RFR > ... (condition complexifiée à partir de 2014) # TODO : inclure la condition de RFR2 (si pas de bouquet les dépenses f7s n'ouvrent aps droit à un crédit sauf si RFR < à un certain seuil) # TODO : inclure la condition de bouquet sur 2 périodes (si pas de bouquet avec les dépenses du 1.1 au 31.8, le bouquet peut s'apprécier # sur la base des dépenses faites du 1.1 au 31.12 mais le taux sera de 25% pour la 1ère moitié de l'année et 30% l'autre) return P.taux30 * min_(max0, depenses_transition_energetique) + min_(max_(0, max0 - depenses_transition_energetique), credit_quaenv)
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée
Déclaration d’impôts n°1
Dépenses en faveur de la qualité environnementale des logements donnés en location : Dans les logements situés dans les départements d’outre-mer : équipements de raccordement à un réseau de froid ; équipements ou matériaux de protection des parois vitrées ou opaques contre les rayonnements solaires ; équipements visant à l’optimisation de la ventilation naturelle
Déclaration d’impôts n°1
€/an
Formule de calcul OpenFisca à compter du 2013-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale 2013
def formula_2013_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale 2013 ''' f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) f7sf = foyer_fiscal('f7sf_2015', period) f7sg = foyer_fiscal('f7sg_2015', period) f7sh = foyer_fiscal('f7sh_2015', period) f7si = foyer_fiscal('f7si_2015', period) f7sj = foyer_fiscal('f7sj_2015', period) f7sk = foyer_fiscal('f7sk_2015', period) f7sl = foyer_fiscal('f7sl_2015', period) f7sm = foyer_fiscal('f7sm_2015', period) f7sn = foyer_fiscal('f7sn_2015', period) f7so = foyer_fiscal('f7so_2015', period) f7sp = foyer_fiscal('f7sp', period) f7sq = foyer_fiscal('f7sq_2015', period) f7sr = foyer_fiscal('f7sr_2015', period) f7ss = foyer_fiscal('f7ss', period) f7st = foyer_fiscal('f7st', period) f7su = foyer_fiscal('f7su', period) f7sv = foyer_fiscal('f7sv', period) f7sw = foyer_fiscal('f7sw', period) f7sz = foyer_fiscal('f7sz_2015', period) f7we = foyer_fiscal('f7we_2013', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wk = foyer_fiscal('f7wk', period) maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) quaenv_bouquet = foyer_fiscal('quaenv_bouquet', period) rfr = foyer_fiscal('rfr', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac_majoration_plafond max1 = max_(0, max0 - quaenv_bouquet * (f7ss + f7st) - not_(quaenv_bouquet) * (f7ss + f7st + f7sv)) max2 = max_(0, max1 - quaenv_bouquet * (f7sn + f7sr + f7sq) - not_(quaenv_bouquet) * (f7sn + f7sq + f7sr)) max3 = max_(0, max2 - quaenv_bouquet * (f7sv) - not_(quaenv_bouquet) * (f7se)) max4 = max_(0, max3 - quaenv_bouquet * (f7se) - not_(quaenv_bouquet) * (f7sf + f7sg + f7sh + f7si + f7so + f7su + f7sw + f7sp)) max5 = max_(0, max4 - quaenv_bouquet * (f7sg + f7sh + f7so + f7sp) - not_(quaenv_bouquet) * (f7sm)) max6 = max_(0, max5 - quaenv_bouquet * (f7sd + f7sj)) max7 = max_(0, max6 - quaenv_bouquet * (f7sf + f7si + f7su + f7sw)) max8 = max_(0, max7 - quaenv_bouquet * (f7sm)) montant = ( quaenv_bouquet * ( P.taux10 * min_(max8, f7sk + f7sl) + P.taux11 * min_(max7, f7sm) + P.taux15 * min_(max6, f7sf + f7si + f7su + f7sw) + P.taux18 * min_(max5, f7sd + f7sj) + P.taux23 * min_(max4, f7sg + f7sh + f7so + f7sp) + P.taux26 * min_(max3, f7se) + P.taux32 * min_(max2, f7sv) + P.taux34 * min_(max1, f7sn + f7sr + f7sq) + P.taux40 * min_(max0, f7ss + f7st) ) + not_(quaenv_bouquet) * ( + P.taux32 * min_(max0, f7ss + f7st + f7sv) + P.taux26 * min_(max1, f7sn + f7sq + f7sr) + P.taux17 * min_(max2, f7se) + P.taux15 * min_(max3, f7sf + f7sg + f7sh + f7si + f7so + f7su + f7sw + f7sp) + P.taux11 * min_(max4, f7sm) + P.taux10 * min_(max5, f7sd + not_(f7wk) * (f7sj + f7sk + f7sl)) ) ) return or_(not_(or_(f7we, f7wg)), (rfr < P.max_rfr)) * montant + f7sz # TODO : attention, la condition porte sur le RFR des années passées (N-2 et N-3)
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- impot_revenu.credits_impots.quaenv.max
- impot_revenu.credits_impots.quaenv.max_rfr
- impot_revenu.credits_impots.quaenv.pac1
- impot_revenu.credits_impots.quaenv.taux10
- impot_revenu.credits_impots.quaenv.taux11
- impot_revenu.credits_impots.quaenv.taux15
- impot_revenu.credits_impots.quaenv.taux17
- impot_revenu.credits_impots.quaenv.taux18
- impot_revenu.credits_impots.quaenv.taux23
- impot_revenu.credits_impots.quaenv.taux26
- impot_revenu.credits_impots.quaenv.taux32
- impot_revenu.credits_impots.quaenv.taux34
- impot_revenu.credits_impots.quaenv.taux40
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2012-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale 2012
def formula_2012_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale 2012 ''' f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) f7sf = foyer_fiscal('f7sf_2015', period) f7sg = foyer_fiscal('f7sg_2015', period) f7sh = foyer_fiscal('f7sh_2015', period) f7si = foyer_fiscal('f7si_2015', period) f7sj = foyer_fiscal('f7sj_2015', period) f7sk = foyer_fiscal('f7sk_2015', period) f7sl = foyer_fiscal('f7sl_2015', period) f7sm = foyer_fiscal('f7sm_2015', period) f7sn = foyer_fiscal('f7sn_2015', period) f7so = foyer_fiscal('f7so_2015', period) f7sp = foyer_fiscal('f7sp', period) f7sq = foyer_fiscal('f7sq_2015', period) f7sr = foyer_fiscal('f7sr_2015', period) f7ss = foyer_fiscal('f7ss', period) f7tt = foyer_fiscal('f7tt_2012', period) f7tu = foyer_fiscal('f7tu_2012', period) f7tv = foyer_fiscal('f7tv_2012', period) f7tw = foyer_fiscal('f7tw_2012', period) f7tx = foyer_fiscal('f7tx_2012', period) f7ty = foyer_fiscal('f7ty_2012', period) f7st = foyer_fiscal('f7st', period) f7su = foyer_fiscal('f7su', period) f7sv = foyer_fiscal('f7sv', period) f7sw = foyer_fiscal('f7sw', period) f7sz = foyer_fiscal('f7sz_2015', period) f7we = foyer_fiscal('f7we_2013', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wk = foyer_fiscal('f7wk', period) maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) quaenv_bouquet = foyer_fiscal('quaenv_bouquet', period) rfr = foyer_fiscal('rfr', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac_majoration_plafond maxi1 = max_(0, max0 - f7ty) maxi2 = max_(0, maxi1 - f7tx) maxi3 = max_(0, maxi2 - f7tw) maxi4 = max_(0, maxi3 - f7tv) maxi5 = max_(0, maxi4 - f7tu) collectif = ( P.taux_ty * min_(f7ty, max0) + P.taux_tx * min_(f7tx, maxi1) + P.taux_tw * min_(f7tw, maxi2) + P.taux_tv * min_(f7tv, maxi3) + P.taux_tu * min_(f7tu, maxi4) + P.taux_tt * min_(f7tt, maxi5) ) max1 = max_(0, max0 - quaenv_bouquet * (f7ss + f7st) - not_(quaenv_bouquet) * (f7ss + f7st + f7sv)) max2 = max_(0, max1 - quaenv_bouquet * (f7sn + f7sr + f7sq) - not_(quaenv_bouquet) * (f7sn + f7sq + f7sr)) max3 = max_(0, max2 - quaenv_bouquet * (f7sv) - not_(quaenv_bouquet) * (f7se)) max4 = max_(0, max3 - quaenv_bouquet * (f7se) - not_(quaenv_bouquet) * (f7sf + f7sg + f7sh + f7si + f7so + f7su + f7sw + f7sp)) max5 = max_(0, max4 - quaenv_bouquet * (f7sg + f7sh + f7so + f7sp) - not_(quaenv_bouquet) * (f7sm)) max6 = max_(0, max5 - quaenv_bouquet * (f7sd + f7sj)) max7 = max_(0, max6 - quaenv_bouquet * (f7sf + f7si + f7su + f7sw)) max8 = max_(0, max7 - quaenv_bouquet * (f7sm)) montant = ( quaenv_bouquet * ( P.taux10 * min_(max8, f7sk + f7sl) + P.taux11 * min_(max7, f7sm) + P.taux15 * min_(max6, f7sf + f7si + f7su + f7sw) + P.taux18 * min_(max5, f7sd + f7sj) + P.taux23 * min_(max4, f7sg + f7sh + f7so + f7sp) + P.taux26 * min_(max3, f7se) + P.taux32 * min_(max2, f7sv) + P.taux34 * min_(max1, f7sn + f7sr + f7sq) + P.taux40 * min_(max0, f7ss + f7st) ) + not_(quaenv_bouquet) * ( P.taux32 * min_(max0, f7ss + f7st + f7sv) + P.taux26 * min_(max1, f7sn + f7sq + f7sr) + P.taux17 * min_(max2, f7se) + P.taux15 * min_(max3, f7sf + f7sg + f7sh + f7si + f7so + f7su + f7sw + f7sp) + P.taux11 * min_(max4, f7sm) + P.taux10 * min_(max5, f7sd + not_(f7wk) * (f7sj + f7sk + f7sl)) ) ) return not_(f7wg) * or_(not_(f7we), (rfr < P.max_rfr)) * (montant + collectif) + f7sz
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- impot_revenu.credits_impots.quaenv.max
- impot_revenu.credits_impots.quaenv.max_rfr
- impot_revenu.credits_impots.quaenv.pac1
- impot_revenu.credits_impots.quaenv.taux10
- impot_revenu.credits_impots.quaenv.taux11
- impot_revenu.credits_impots.quaenv.taux15
- impot_revenu.credits_impots.quaenv.taux17
- impot_revenu.credits_impots.quaenv.taux18
- impot_revenu.credits_impots.quaenv.taux23
- impot_revenu.credits_impots.quaenv.taux26
- impot_revenu.credits_impots.quaenv.taux32
- impot_revenu.credits_impots.quaenv.taux34
- impot_revenu.credits_impots.quaenv.taux40
- impot_revenu.credits_impots.quaenv.taux_tt
- impot_revenu.credits_impots.quaenv.taux_tu
- impot_revenu.credits_impots.quaenv.taux_tv
- impot_revenu.credits_impots.quaenv.taux_tw
- impot_revenu.credits_impots.quaenv.taux_tx
- impot_revenu.credits_impots.quaenv.taux_ty
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2010-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WH, 7WK, 7WQ, 7SB, 7SD, 7SE et 7SH) 2010-2011
def formula_2010_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WH, 7WK, 7WQ, 7SB, 7SD, 7SE et 7SH) 2010-2011 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) f7we = foyer_fiscal('f7we_2013', period) f7wf = foyer_fiscal('f7wf_2012', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wh = foyer_fiscal('f7wh', period) f7wk = foyer_fiscal('f7wk', period) f7wq = foyer_fiscal('f7wq', period) f7sb = foyer_fiscal('f7sb_2011', period) f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) f7sh = foyer_fiscal('f7sh_2015', period) rfr = foyer_fiscal('rfr', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac_majoration_plafond max1 = max_(0, max0 - f7wf) max2 = max_(0, max1 - f7se) max3 = max_(0, max2 - f7wk) max4 = max_(0, max3 - f7sd) max5 = max_(0, max4 - f7wh) max6 = max_(0, max5 - f7sb) max7 = max_(0, max6 - f7wq) return not_(f7wg) * or_(not_(f7we), (rfr < P.max_rfr)) * ( P.taux_wf * min_(f7wf, max0) + P.taux_se * min_(f7se, max1) + P.taux_wk * min_(f7wk, max2) + P.taux_sd * min_(f7sd, max3) + P.taux_wh * min_(f7wh, max4) + P.taux_sb * min_(f7sb, max5) + P.taux_wq * min_(f7wq, max6) + P.taux_sh * min_(f7sh, max7) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- impot_revenu.credits_impots.quaenv.max
- impot_revenu.credits_impots.quaenv.max_rfr
- impot_revenu.credits_impots.quaenv.pac1
- impot_revenu.credits_impots.quaenv.taux_sb
- impot_revenu.credits_impots.quaenv.taux_sd
- impot_revenu.credits_impots.quaenv.taux_se
- impot_revenu.credits_impots.quaenv.taux_sh
- impot_revenu.credits_impots.quaenv.taux_wf
- impot_revenu.credits_impots.quaenv.taux_wh
- impot_revenu.credits_impots.quaenv.taux_wk
- impot_revenu.credits_impots.quaenv.taux_wq
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2009-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH, 7WK, 7WQ, 7SB, 7SC, 7SD, 7SE) 2009
def formula_2009_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH, 7WK, 7WQ, 7SB, 7SC, 7SD, 7SE) 2009 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) f7we = foyer_fiscal('f7we_2013', period) f7wf = foyer_fiscal('f7wf_2012', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wh = foyer_fiscal('f7wh', period) f7wk = foyer_fiscal('f7wk', period) f7wq = foyer_fiscal('f7wq', period) f7sb = foyer_fiscal('f7sb_2011', period) f7sc = foyer_fiscal('f7sc_2009', period) f7sd = foyer_fiscal('f7sd_2015', period) f7se = foyer_fiscal('f7se_2015', period) rfr = foyer_fiscal('rfr', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac_majoration_plafond max1 = max_(0, max0 - f7wf) max2 = max_(0, max1 - f7se) max3 = max_(0, max2 - f7wk) max4 = max_(0, max3 - f7sd) max5 = max_(0, max4 - f7wg) max6 = max_(0, max5 - f7sc) max7 = max_(0, max6 - f7wh) max8 = max_(0, max7 - f7sb) return or_(not_(f7we), rfr < P.max_rfr) * ( P.taux_wf * min_(f7wf, max0) + P.taux_se * min_(f7se, max1) + P.taux_wk * min_(f7wk, max2) + P.taux_sd * min_(f7sd, max3) + P.taux_wg * min_(f7wg, max4) + P.taux_sc * min_(f7sc, max5) + P.taux_wh * min_(f7wh, max6) + P.taux_sb * min_(f7sb, max7) + P.taux_wq * min_(f7wq, max8) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- impot_revenu.credits_impots.quaenv.max
- impot_revenu.credits_impots.quaenv.max_rfr
- impot_revenu.credits_impots.quaenv.pac1
- impot_revenu.credits_impots.quaenv.taux_sb
- impot_revenu.credits_impots.quaenv.taux_sc
- impot_revenu.credits_impots.quaenv.taux_sd
- impot_revenu.credits_impots.quaenv.taux_se
- impot_revenu.credits_impots.quaenv.taux_wf
- impot_revenu.credits_impots.quaenv.taux_wg
- impot_revenu.credits_impots.quaenv.taux_wh
- impot_revenu.credits_impots.quaenv.taux_wk
- impot_revenu.credits_impots.quaenv.taux_wq
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2006-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH, 7WQ) 2006-2008
def formula_2006_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH, 7WQ) 2006-2008 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) f7wf = foyer_fiscal('f7wf_2012', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wh = foyer_fiscal('f7wh', period) f7wq = foyer_fiscal('f7wq', period) P = parameters(period).impot_revenu.credits_impots.quaenv max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * nb_pac_majoration_plafond max1 = max_(0, max0 - f7wf) max2 = max_(0, max1 - f7wg) max3 = max_(0, max2 - f7wh) return ( P.taux_wf * min_(f7wf, max0) + P.taux_wg * min_(f7wg, max1) + P.taux_wh * min_(f7wh, max2) + P.taux_wq * min_(f7wq, max3) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2005-01-01 :
Notes : Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH) 2005
def formula_2005_01_01(foyer_fiscal, period, parameters): ''' Crédits d’impôt pour dépenses en faveur de la qualité environnementale (cases 7WF, 7WG, 7WH) 2005 ''' maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period) f7wf = foyer_fiscal('f7wf_2012', period) f7wg = foyer_fiscal('f7wg_2013', period) f7wh = foyer_fiscal('f7wh', period) P = parameters(period).impot_revenu.credits_impots.quaenv n = nb_pac_majoration_plafond max0 = P.max * (1 + maries_ou_pacses) + P.pac1 * (n >= 1) + P.pac2 * (n >= 2) + P.pac2 * (max_(n - 2, 0)) max1 = max_(0, max0 - f7wf) max2 = max_(0, max1 - f7wg) return ( P.taux_wf * min_(f7wf, max0) + P.taux_wg * min_(f7wg, max1) + P.taux_wh * min_(f7wh, max2) )
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
Variables utilisées par le cas type :
Variables et dispositifs influencés par la formule :
La formule du dispositif "Crédits d’impôt pour dépenses en faveur de la qualité environnementale (2005 - 2014) / de la transition energétique (2014 - ) " peut avoir une influence sur d'autres dispositifs et variables :