Actualités comptables
Bail à construction : une astuce (fiscale) pour les bailleurs…

Bail à construction : une astuce (fiscale) pour les bailleurs…

Publiée le mardi 24 janvier 2023 à 05h50 dans Actu Fiscale

À l’issue d’un bail à construction, un bailleur récupère gratuitement la propriété des immeubles construits par son locataire. Dans une telle situation, le prix de revient de ces constructions s’assimilant à un revenu foncier, le bailleur le déclare comme tel aux impôts… Sans demander à bénéficier du dispositif spécifique d’« étalement » prévu en pareil cas. Un oubli réparable ?


Un étalement d’imposition qui peut être demandé par voie de réclamation

Avant toute chose, commençons par rappeler ce qu’est un « bail à construction » : il s’agit d’un contrat de bail au sein duquel le locataire s’engage, à titre principal, à édifier des constructions sur le terrain appartenant au bailleur.

Il s’engage également, pendant toute la durée du bail, comprise entre 18 et 99 ans, à les conserver en bon état d’entretien.

À l’expiration du contrat de bail, ces constructions deviennent la propriété du bailleur.

Au regard de la législation fiscale, il est prévu que lorsqu’elles sont remises au bailleur sans qu’il n’ait à verser d’indemnité, le prix de revient de ces constructions s’apparente à un revenu foncier, imposable comme tel.

Pour autant, pour tenir compte des particularités liées à ce type de bail, le bailleur peut demander à répartir ce revenu et donc l’imposition qui en résulte, sur l’année ou l’exercice au cours duquel il a récupéré la propriété des constructions et sur les 14 années ou exercices suivants, ou jusqu’à l’année ou l’exercice de revente, s’il intervient plus tôt.

La loi ne précise pas comment le bailleur doit formaliser cette option. Dès lors, il est admis qu’il doit déclarer son souhait de bénéficier de ce dispositif de faveur directement dans sa déclaration de revenus au titre de l’année d’imposition de la remise de la construction.

Dans une récente affaire, à l’occasion d’un litige opposant un bailleur à l’administration fiscale sur ce dispositif d’« étalement » particulier, le juge a précisé que cette option pouvait également être formée par voie de réclamation, dans les délais de droit commun.

Source : Arrêt du Conseil d'État du 22 novembre 2022, n° 453168

Bail à construction : une astuce (fiscale) pour les bailleurs… © Copyright WebLex - 2023

Plan d'accès

Plus d’informations ?

Sotorec

  • Sotorec
    267 bd. du Docteur Charles Barnier
    83000 Toulon
  • 04 94 09 17 02
  • +33494895133

Vous avez des questions ?

loader

Chargement, veuillez patienter…
  • Mémoire utilisée par PHP : 2,94 Mo
  • Pic mémoire allouée par PHP : 4,10 Mo
  • Temps d'execution du script : 0.621 s
  • Lang :
  • Path : actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs
  • Route : newsItem
  • $okt->page->module : news
  • $okt->page->action : item
ID Query Time
1
SET NAMES utf8mb4
0.00017
2
SELECT u.*, g.*, o.logged, o.csrf_token, o.prev_url FROM
oktopusV1_core_users AS u INNER JOIN
oktopusV1_core_users_groups AS g ON g.group_id=u.group_id
LEFT JOIN oktopusV1_core_users_online AS o ON
o.ident='3.215.16.238' WHERE u.id=1
0.00064
3
UPDATE oktopusV1_core_users_online SET logged=1716572827,
prev_url='https://www.sotorec-experts-comptables.com/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs'
WHERE ident='3.215.16.238'
0.00026
4
UPDATE oktopusV1_mod_news SET active = 1
                           WHERE active = 3 AND NOW() >
created_at 
0.00051
5
UPDATE oktopusV1_mod_news SET active = 0
                              WHERE active = 1 AND end_at !=
"0000-00-00 00:00:00" 
                              AND NOW() > end_at 
0.01851
6
SELECT r.*, rl.*, COUNT(p.id) AS num_posts FROM
oktopusV1_mod_news_categories AS r LEFT JOIN
oktopusV1_mod_news_categories_locales AS rl ON
r.id=rl.category_id LEFT JOIN oktopusV1_mod_news AS p ON
r.id=p.category_id WHERE 1 AND rl.language='fr'  GROUP BY
r.id ORDER BY nleft asc 
0.02653
7
SELECT p.id, p.user_id, p.category_id, p.active, p.selected,
p.created_at, p.updated_at, p.end_at, p.images, p.files,
p.tpl, p.visit, pl.language, pl.title, pl.subtitle,
pl.title_tag, pl.title_seo, pl.slug, pl.content,
pl.content_short, pl.meta_description, pl.meta_keywords,
pl.words, u.username, u.lastname, u.firstname, rl.title AS
category_title, rl.slug AS category_slug, r.items_tpl AS
category_items_tpl FROM oktopusV1_mod_news AS p  LEFT OUTER
JOIN oktopusV1_core_users AS u ON u.id=p.user_id  INNER JOIN
oktopusV1_mod_news_locales AS pl ON p.id=pl.post_id AND
pl.language='fr'  LEFT OUTER JOIN
oktopusV1_mod_news_categories AS r ON r.id=p.category_id 
LEFT OUTER JOIN oktopusV1_mod_news_categories_locales AS rl
ON r.id=rl.category_id AND rl.language='fr' WHERE 1  AND
pl.language='fr'  AND
pl.slug='bail-a-construction-une-astuce-fiscale-pour-les-bailleurs'
ORDER BY p.selected DESC, p.created_at DESC 
0.00188
8
SELECT f.id, f.user_id, f.active, f.token, f.created_at,
f.updated_at, f.tpl, f.config_general, f.config_style,
f.config_date,
                              fl.language, fl.title,
fl.title_tag, fl.title_seo, fl.slug, fl.meta_description,
fl.meta_keywords, fl.beforedate, fl.afterdate FROM
oktopusV1_mod_facebook AS f  INNER JOIN
oktopusV1_mod_facebook_locales AS fl ON f.id=fl.id_facebook
AND fl.language='fr' WHERE 1  AND fl.language='fr' AND
f.active=1 ORDER BY f.created_at DESC 
0.00125
9
SELECT r.*, rl.*, COUNT(p.id) AS num_items FROM
oktopusV1_mod_galleries AS r LEFT JOIN
oktopusV1_mod_galleries_locales AS rl ON r.id=rl.gallery_id
LEFT JOIN oktopusV1_mod_galleries_items AS p ON
r.id=p.gallery_id WHERE 1 AND rl.language='fr' AND
r.active=1  GROUP BY r.id ORDER BY nleft asc 
0.00030
10
SELECT m.*, 
                              ml.language, ml.title,
ml.title_tag, ml.title_seo, ml.slug, ml.meta_description,
ml.meta_keywords, ml.content FROM oktopusV1_mod_map AS m 
LEFT JOIN oktopusV1_mod_map_locales AS ml ON m.id=ml.id_map
AND ml.language='fr' WHERE 1  AND ml.language='fr' AND
m.active=1 ORDER BY m.created_at DESC 
0.00030
11
SELECT p.id, p.user_id, p.category_id, p.active,
p.created_at, p.updated_at, p.images, p.files, p.tpl,
p.position, pl.language, pl.title, pl.subtitle,
pl.title_tag, pl.title_seo, pl.slug, pl.content,
pl.meta_description, pl.meta_keywords, pl.words, rl.title AS
category_title, rl.slug AS category_slug, rl.title_tag AS
category_title_tag, r.items_tpl AS category_items_tpl,
p.recipients_to, p.recipients_cc, p.recipients_bcc,
p.from_to, p.captcha, p.conversion_google, p.from_copy,
pl.subject FROM oktopusV1_mod_pages AS p  INNER JOIN
oktopusV1_mod_pages_locales AS pl ON p.id=pl.page_id AND
pl.language='fr'  LEFT OUTER JOIN
oktopusV1_mod_pages_categories AS r ON r.id=p.category_id 
LEFT OUTER JOIN oktopusV1_mod_pages_categories_locales AS rl
ON r.id=rl.category_id AND rl.language='fr' WHERE 1  AND
pl.language='fr' AND p.active=1 ORDER BY p.created_at DESC 
0.00045
12
UPDATE oktopusV1_mod_news SET visit=visit+1 WHERE id=15166
0.00077
13
SELECT t.active, t.ord, t.id, t.parent_id, t.nleft,
t.nright, t.level, l.title, l.title_tag, l.title_seo,
l.slug, l.content, l.meta_description, l.meta_keywords FROM
oktopusV1_mod_news_categories AS t JOIN
oktopusV1_mod_news_categories_locales AS l ON t.id =
l.category_id AND l.language = "fr" WHERE t.id = 6
0.00024
14
SELECT t.active, t.ord, t.id, t.parent_id, t.nleft,
t.nright, t.level, l.title, l.title_tag, l.title_seo,
l.slug, l.content, l.meta_description, l.meta_keywords FROM
oktopusV1_mod_news_categories AS t JOIN
oktopusV1_mod_news_categories_locales AS l ON t.id =
l.category_id AND l.language = "fr" WHERE nleft <= 8 AND
nright >= 9 ORDER BY level
0.00019
15
 SELECT t.*,
                            DATE_FORMAT(t.date_creation,
'%d/%m/%Y %H:%i:%s') as date_creation_fr,
                            DATE_FORMAT(t.date_modification,
'%d/%m/%Y %H:%i:%s') as date_modification_fr
                       FROM oktopusV1_mod_slideshow_type t
                       WHERE 1 AND CASE 
                                       WHEN t.choix_rubrique
= 1 THEN
                                           t.rubrique LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%'
                                       WHEN t.choix_rubrique
= 2 THEN
                                          
                   (  SELECT COUNT(t.id_type) FROM
oktopusV1_mod_slideshow_type t
                      WHERE t.choix_rubrique = 1 AND
t.rubrique LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%'
AND t.actif = 1
                   ) = 0
                
                                           AND
                                           t.rubrique NOT
LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%'
                                       ELSE     
                                          
                   (  SELECT COUNT(t.id_type) FROM
oktopusV1_mod_slideshow_type t
                      WHERE t.choix_rubrique = 1 AND
t.rubrique LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%'
AND t.actif = 1
                   ) = 0
                 
                                   END AND actif = '1' ORDER
BY nom 
0.00094
16
SELECT m.*, 
                              ml.language, ml.title,
ml.title_tag, ml.title_seo, ml.slug, ml.meta_description,
ml.meta_keywords, ml.content FROM oktopusV1_mod_map AS m 
LEFT JOIN oktopusV1_mod_map_locales AS ml ON m.id=ml.id_map
AND ml.language='fr' WHERE 1  AND m.id = 2  AND
ml.language='fr' AND m.active=1 ORDER BY m.created_at DESC 
0.00024
17
SELECT f.id, f.active, f.type, f.category, f.ord, f.html_id,
f.colonne, f.picto, f.options, f.info_personnelle, fl.title,
fl.legend, fl.description, fl.value FROM
oktopusV1_mod_contact_fields f LEFT JOIN
oktopusV1_mod_contact_fields_locales AS fl ON
fl.field_id=f.id AND fl.category=f.category WHERE 1  AND
f.active>0  AND f.category = "insert" AND fl.language='fr'
ORDER BY ord ASC 
0.00028
18
SELECT p.*, pl.*,
                         DATE_FORMAT(p.debut, '%d/%m/%Y') as
debut_fr,
                         DATE_FORMAT(p.fin, '%d/%m/%Y') as
fin_fr,
                         DATE_FORMAT(p.date_creation,
'%d/%m/%Y %H:%i:%s') as date_creation_fr,
                         DATE_FORMAT(p.date_modification,
'%d/%m/%Y %H:%i:%s') as date_modification_fr
                      FROM oktopusV1_mod_home_popup p
                      LEFT JOIN
oktopusV1_mod_home_popup_locales pl ON pl.id_popup =
p.id_popup AND pl.language = 'fr'
                      WHERE 1 AND (
                                        CURDATE() BETWEEN
p.debut AND p.fin
                                        OR (p.debut =
'0000-00-00 00:00:00' AND p.fin = '0000-00-00 00:00:00')
                                    )AND pl.content <> ''
AND (p.rubrique = '' OR p.rubrique LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%')
ORDER BY p.rubrique DESC
0.00071
19
SELECT p.*, pl.*,
                         DATE_FORMAT(p.debut, '%d/%m/%Y') as
debut_fr,
                         DATE_FORMAT(p.fin, '%d/%m/%Y') as
fin_fr,
                         DATE_FORMAT(p.date_creation,
'%d/%m/%Y %H:%i:%s') as date_creation_fr,
                         DATE_FORMAT(p.date_modification,
'%d/%m/%Y %H:%i:%s') as date_modification_fr
                      FROM oktopusV1_mod_home_popup p
                      LEFT JOIN
oktopusV1_mod_home_popup_locales pl ON pl.id_popup =
p.id_popup AND pl.language = 'fr'
                      WHERE 1 AND (
                                        CURDATE() BETWEEN
p.debut AND p.fin
                                        OR (p.debut =
'0000-00-00 00:00:00' AND p.fin = '0000-00-00 00:00:00')
                                    )AND pl.content <> ''
AND (p.rubrique = '' OR p.rubrique LIKE
'%\'/actualite-bail-a-construction-une-astuce-fiscale-pour-les-bailleurs\'%')
ORDER BY p.rubrique DESC
0.00056
# type fichier ligne classe fonction message
# 1  Warning /www/al159/www/oktModules/map/inc/class.map.recordset.php 579 oktDebug errorHandler Trying to access array offset on value of type null

#0 mapRecordset->getEmbedAddress( called at [/oktModules/map/inc/class.map.recordset.php:96]


#1 mapRecordset->getScriptSimple( called at [/oktModules/map/inc/class.map.recordset.php:79]


#2 mapRecordset->getScript( called at [/oktThemes/default/templates/map/insert/r-horizontal/template.php:31]


#3 require( called at [/oktInc/vendor/sfTemplating/sfTemplateRendererPhp.php:36]


#4 sfTemplateRendererPhp->evaluate( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:106]


#5 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#6 oktTemplating->render( called at [/oktInc/vendor/sfTemplating/sfTemplateRenderer.php:45]


#7 sfTemplateRenderer->__call( called at [/oktThemes/ra157-s/templates/layout.php:132]


#8 require( called at [/oktInc/vendor/sfTemplating/sfTemplateRendererPhp.php:36]


#9 sfTemplateRendererPhp->evaluate( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:106]


#10 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#11 oktTemplating->render( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:117]


#12 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#13 oktTemplating->render( called at [/oktModules/news/inc/class.news.controller.php:459]


#14 newsController->newsItem( called at [/oktInc/classes/router/class.oktRouter.php:317]


#15 oktRouter->callRouteHanlder( called at [/oktopus.php:58]

# 2  Warning /www/al159/www/oktModules/map/inc/class.map.recordset.php 579 oktDebug errorHandler Trying to access array offset on value of type null

#0 mapRecordset->getEmbedAddress( called at [/oktModules/map/inc/class.map.recordset.php:96]


#1 mapRecordset->getScriptSimple( called at [/oktModules/map/inc/class.map.recordset.php:79]


#2 mapRecordset->getScript( called at [/oktThemes/default/templates/map/insert/r-horizontal/template.php:31]


#3 require( called at [/oktInc/vendor/sfTemplating/sfTemplateRendererPhp.php:36]


#4 sfTemplateRendererPhp->evaluate( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:106]


#5 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#6 oktTemplating->render( called at [/oktInc/vendor/sfTemplating/sfTemplateRenderer.php:45]


#7 sfTemplateRenderer->__call( called at [/oktThemes/ra157-s/templates/layout.php:132]


#8 require( called at [/oktInc/vendor/sfTemplating/sfTemplateRendererPhp.php:36]


#9 sfTemplateRendererPhp->evaluate( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:106]


#10 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#11 oktTemplating->render( called at [/oktInc/vendor/sfTemplating/sfTemplateEngine.php:117]


#12 sfTemplateEngine->render( called at [/oktInc/classes/core/class.oktTemplating.php:60]


#13 oktTemplating->render( called at [/oktModules/news/inc/class.news.controller.php:459]


#14 newsController->newsItem( called at [/oktInc/classes/router/class.oktRouter.php:317]


#15 oktRouter->callRouteHanlder( called at [/oktopus.php:58]