La déclaration trimestrielle des salaires (DTS) : fin de son utilisation au 31 décembre 2023

Mis à jour le 05/03/2024

Depuis le 1er trimestre 2019, les déclarations trimestrielles de salaires (DTS) étaient encore acceptées dans une certaine limite. Au 1er janvier 2024, la déclaration de vos salariés via la DTS n’est plus possible, seule une déclaration en ligne de vos paies sera acceptée.

Fin de la DTS, mode d'emploi

 

Depuis le 1er janvier 2024, la déclaration de vos salariés via la DTS ne sera plus possible.

Vous devrez donc avoir recours à :
  • la DSN avec un logiciel dédié (vous-même ou votre tiers déclarant) ;
  • ou à l'utilisation de l'outil TESA+ (sauf pour certaines catégories de salariés qui ne peuvent pas être déclarées via le TESA+).

> Tesa simplifié, DSN ou Tesa+ : quelle solution pour votre entreprise ?

 

A quoi servait la déclaration de salaires ?

Avec la DTS, chaque trimestre la MSA vous envoyait une déclaration pré-remplie. Pour chacun de vos salariés, vous deviez indiquer le nombre d'heures rémunérées par mois et le salaire brut mensuel. C'est à partir de ces informations que la MSA calculait vos cotisations (appel chiffré).

Depuis le 1er janvier 2024, ce moyen déclaratif n’existe plus. Le calcul de vos cotisations se fait par le biais de la déclaration électronique (DSN ou TESA). Si vous utilisez le mode déclaratif DSN, vous calculez vous-même vos cotisations par le biais de votre logiciel de paie. La DSN doit être transmise durant le mois suivant la période d'emploi rémunérée.

 

Nouveau mode déclaratif, nouvelles responsabilités

Avec la DSN, le système déclaratif s'impose à tous les employeurs. Depuis le 1er janvier 2024, les déclarations trimestrielles de salaires (DTS) ne sont donc plus acceptées. Des pénalités pourront s'appliquer en cas de non transmission de la déclaration par voie électronique.
 
Vous devez donc impérativement choisir un autre mode de déclaration :
> Tesa simplifié, DSN ou Tesa+ : quelle solution pour votre entreprise   
> Nouveau Tesa simplifié depuis janvier 2024
 

Comment faire ? 


•    Mode d’emploi DSN
•    Mode d’emploi TESA

 

Ce qui change avec le déclaratif :

Vous êtes responsable de l’exactitude des données saisies ou pré-remplies et, le cas échéant, de leur correction. Cette responsabilité s'applique aussi aux données transmises par votre tiers-déclarant (centre de gestion, cabinet comptable, etc.) pour votre compte. 
 

Depuis le 1er janvier 2020, les apprentis doivent être déclarés en TESA+ ou en DSN.
En conséquence, la déclaration trimestrielle des salaires (DTS) ne devra plus être utilisée pour les contrats d'apprentissage.


 

A noter

Si vous embauchez du personnel étranger, il est indispensable de vérifier que le salarié a bien le droit de travailler. Vous devez vous assurer qu'il est en situation régulière au regard de la législation sur les titres de séjour et de travail des étrangers en France, et transmettre les justificatifs nécessaires à la MSA. Les documents présentés relatifs à la régularité de séjour peuvent être vérifiés par votre MSA par accès direct au fichier national des étrangers (FNE).

 

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>