Documentation technique de la DSN (déclaration sociale nominative)

Mis à jour le 07/10/2021

Editeurs de logiciels de paie : vos clients vont entrer progressivement dans la DSN jusqu'en 2017. Pour vous permettre de les accompagner dans cette transition, vous devez, vous aussi, être prêts. Retrouvez ci-dessous les cahiers techniques de la DSN et les consignes déclaratives utiles.

Documentation technique de la DSN (déclaration sociale nominative)

Elle rassemblera l'ensemble des formalités administratives adressées par les entreprises aux organismes de protection sociale et remplacera les déclarations sociales périodiques ou événementielles existantes. 

Les cahiers techniques pour chaque phase :

Cahier technique DSN phase 1
Cahier technique DSN phase 2
Cahier technique DSN phase 3

Consulter le cahier technique DSN 2019 : 
http://www.dsn-info.fr/actualites.htm#ct2019

Les consignes déclaratives :

Ces consignes ont été rédigées dans le but de guider les déclarants dans leur gestion des procédures déclaratives avec la MSA.
1 - Déclaration des cotisations au régime agricole
2 - Paiement des cotisations
3 - Déclaration des cotisations établissements
4 - Déclaration des réductions
5 - Déclaration des exonérations
6 - Codes Risque AT

Corrections des données déclarées en DSN

Télécharger la note
En savoir plus

Pour en savoir plus :

Retrouvez toutes les informations sur la norme DSN, l'outil de pré contrôle, la plateforme de test ou le journal de la maintenance de la norme sur le site DSN-info :

www.dsn-info.fr/developper.htm
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>