Le détachement de salariés sur le territoire français : quelles alternatives ?

Mis à jour le 07/10/2021

En renforcement de la responsabilité des exploitants agricoles, donneurs d'ordre.

Le détachement de salariés sur le territoire français : quelles alternatives ?

Les entreprises peuvent faire appel à des sociétés prestataires de service pour réponse à un besoin d'embauches difficile à pourvoir. Pour ce faire, le recours à des salariés détachés est possible. Dans ce cas, le droit du travail français s'applique mais les cotisations sociales sont payées dans le pays d'origine.
Le recours à la main d'œuvre détachée a été multiplié par dix en dix ans. Il concerne principalement le secteur du BTP mais aussi l'agriculture.
La moitié des jours déclarés des travailleurs détachés sont recensées dans 3 régions : le Centre-Val de Loire, l'Aquitaine et Provence-Alpes-Côtes d'Azur.
Plus particulièrement dans le Loir-et-Cher, la prestation de service internationale représente 110 000 journées travaillées en 2015, chiffre en forte augmentation (67 000 journées travaillées en 2014), dont 70 % dans le secteur agricole.
La loi pour la croissance et l'activité du 6 août 2015 impose de nouvelles obligations aux prestataires étrangers et aux donneurs d'ouvrage français. Ces derniers ont, entre autres, une obligation de vigilance quant à la conformité de la déclaration de détachement par rapport à la réalité de la prestation.
La responsabilité du donneur d'ordre pourra également être recherchée en cas d'infractions graves de l'entreprise étrangère, telles que le non-respect des minimas salariaux, un hébergement collectif incompatible avec la dignité humaine ou encore le non-respect des règles de base du code du travail.
S'il était constaté que l'entreprise intervenante ne respectait pas les textes imposés et que le donneur d'ordre n'avait pas pris les précautions nécessaires, ce dernier sera tenu solidairement avec l'employeur de salariés au paiement des rémunérations et des cotisations sociales.

Face à cette situation à risques pour les donneurs d'ordre, existe-t-il des alternatives à cette pratique ?

Les entreprises agricoles embauchant directement des salariés bénéficient d'exonérations importantes de cotisations pour les rémunérations proches du SMIC. De plus, elles bénéficient du dispositif Crédit d'Impôt Compétitivité Emploi (CICE) d'un montant de 6 % de la masse salariale (voire 7 % en 2017 à l'étude dans le projet de loi de finances pour 2017) permettant de diminuer considérablement les charges de personnel ;
Ainsi, le recours direct à des salariés n'est pas plus onéreux que de faire appel à des prestataires de services. Ces embauches directes permettent à l'employeur d'éviter les risques de sanctions en cas de pratiques illégales du prestataire et contribuent au financement du système de protection sociale français.
La déclaration de l'embauche de salariés étrangers est facilité par l'utilisation du téléservice Titre emploi simplifié agricole (TESA) ; l'employeur peut être accompagné si besoin dans ses démarches par un agent dédié à la MSA en le contactant au 02 54 44 88 22

Enfin, passer par un groupement d'employeurs peut permettre de faciliter les démarches de recrutement en mutualisant les ressources.
Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")  [in template "10136#10174#BLOC_ARTICLES_LIES_TEMPLATE" at line 1, column 39]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign JournalArticleLocalService = ...  [in template "10136#10174#BLOC_ARTICLES_LIES_TEMPLATE" at line 1, column 1]
----
1<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
 
2<#assign layoutService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService") />
 
3<#assign themeDisplay = request['theme-display'] />
 
4<#assign mainPath = themeDisplay['path-friendly-url-public'] />
 
5<#assign aLayout = themeDisplay['plid'] />
 
6<#assign layoutActuel = layoutService.getLayout(aLayout?number) />
 
7<#assign path = layoutActuel.getGroup().friendlyURL />	
 
8
 
9<#if .vars['Lien_Publication'].getSiblings()?has_content>
 
10	<#assign listArticles = []>
 
11	<#list .vars['Lien_Publication'].getSiblings() as cur_item>
 
12			<#assign link_to_layout = cur_item.getFriendlyUrl()/>
 
13			<#assign layout = cur_item.getData()/>
 
14			<#if layoutService.getLayout(getterUtil.getLong(groupId), false, getterUtil.getLong(layout))??>
 
15			<#assign layoutObject = layoutService.getLayout(getterUtil.getLong(groupId), false, getterUtil.getLong(layout)) />
 
16				<#assign pathArticle = layoutObject.getFriendlyURL(locale) />
 
17				<#assign linkToArticle = mainPath+path+pathArticle />
 
18				<#assign layoutType= layoutObject.getLayoutType().getAllPortlets() />
 
19	
 
20					<#list layoutType as portlet >
 
21						<#if portlet.getPortletId()?starts_with("56_INSTANCE_")>
 
22						<#assign portletId= portlet.getPortletId() />
 
23						<#assign PortletPreferencesFactoryUtil = staticUtil["com.liferay.portlet.PortletPreferencesFactoryUtil"] />
 
24						<#assign portletSetup = PortletPreferencesFactoryUtil.getLayoutPortletSetup(layoutObject, portletId) />
 
25						
 
26						<#assign articleId = portletSetup.getValue("articleId", "")>
 
27						<#assign groupIdA = portletSetup.getValue("groupId", "")>
 
28						<#assign article = JournalArticleLocalService.getArticle(getterUtil.getLong(groupIdA), articleId)!"" >
 
29						
 
30						<#break>
 
31						</#if>
 
32					</#list>
 
33				<#if validator.isNotNull(article) >	
 
34					<#assign listArticles = listArticles + [
 
35					  {"title":article.title, "description":article.description, "date":article.modifiedDate, "url":linkToArticle}
 
36					]>
 
37				</#if>
 
38			</#if>	
 
39	</#list>
 
40</#if>
 
41<#if listArticles?has_content>
 
42    <div class="articlesLies">
 
43    	<div>
 
44    		<h2>${.vars['Titre_Bloc'].getData()}</h2>
 
45    	</div>
 
46    	<div class="content jcarousel-wrapper row">
 
47    		<div class="jcarousel-control-prev no-padding">
 
48    		    <i class="ia-chevron"></i>
 
49    		</div>
 
50    		<div class="articlesLies jcarousel no-padding">
 
51    			<ul>
 
52    			<#list listArticles as article>
 
53    				<li>
 
54    					<div class="bg articleLie">
 
55    						<h3 class="">
 
56    							<a href="${article.url}">
 
57    							${article.title}
 
58    							</a>
 
59    						</h3>
 
60    						<p class="resume-article">
 
61    						<#assign entrySummaryShortened = stringUtil.shorten(article.description, 89 , "...")  />
 
62    						${entrySummaryShortened} <br />
 
63    						</p>
 
64    					</div>
 
65    				</li>
 
66    			</#list>			
 
67    			</ul>
 
68    		</div>
 
69    		<div class="jcarousel-control-next no-padding">
 
70                <i class="ia-chevron"></i>
 
71            </div>
 
72    	</div>			
 
73    </div>
 
74</#if>