Outil 100 % gratuit, créé par Roméo Kothan, développeurSuivre sur LinkedIn

Lire un fichier DSN : comment il est construit, de S10 à S90

Par Roméo Kothan · publié le

Chaque mois, le logiciel de paie fabrique un fichier DSN et le dépose sur net-entreprises. Ce fichier contient tout : l’entreprise, les salariés, leurs contrats, leurs salaires, les absences et les cotisations. Il ne ressemble pourtant à rien de familier. Voici comment il est construit, et comment s’y retrouver.

Une rubrique par ligne

Une DSN est un fichier texte. Chaque ligne contient une seule information, sous cette forme :

S21.G00.30.002,'MARTIN'
S21.G00.30.004,'Julien'
S21.G00.40.007,'01'

À gauche de la virgule, le code de la rubrique. À droite, entre apostrophes, la valeur. Le code se lit en trois morceaux :

La première ligne veut donc dire : le nom de famille du salarié est MARTIN. La troisième : la nature du contrat est « 01 », c’est-à-dire un contrat à durée indéterminée de droit privé.

Les dates s’écrivent sur huit chiffres, jour, mois, année (31012026 pour le 31 janvier 2026), et les montants avec un point décimal (3800.00).

Les quatre grandes structures

S10 : l’envoi. Le nom et la version du logiciel de paie, l’indication « test » ou « réel », la version de la norme (par exemple P26V01 pour 2026), puis l’émetteur du fichier (souvent le cabinet comptable) et son contact.

S20 : la déclaration. Sa nature (DSN mensuelle, signalement d’arrêt de travail, de fin de contrat…), son type (normale, annule et remplace…) et surtout le mois principal déclaré, toujours au premier jour du mois : 01012026 pour janvier 2026.

S21 : le contenu. C’est l’essentiel du fichier : l’entreprise, l’établissement, puis chaque salarié avec tout ce qui le concerne. Une DSN de 20 salariés compte facilement deux à trois mille lignes de S21.

S90 : le total. Deux rubriques seulement : le nombre total de rubriques du fichier et le nombre de déclarations. Si le fichier a été tronqué ou modifié à la main, ces totaux ne correspondent plus.

Les blocs s’emboîtent

Les lignes se suivent sans indentation, mais elles décrivent un arbre. L’ordre des blocs indique qui appartient à qui :

Quand un nouveau bloc S21.G00.30 apparaît, on passe au salarié suivant. Tout ce qui suit, jusqu’au prochain S21.G00.30, le concerne. Le détail de ces blocs est expliqué dans individu, contrat et rémunération : les blocs d’un salarié.

Les codes à traduire

Beaucoup de rubriques contiennent un code plutôt qu’un texte. La norme fixe la liste des valeurs autorisées : 26 natures de contrat, une soixantaine de motifs de rupture, plusieurs dizaines de types de primes. Le dictionnaire DSN les reprend toutes, bloc par bloc.

Certaines rubriques renvoient à des listes externes, qui ne figurent pas dans le cahier technique : les codes de convention collective (IDCC), les professions et catégories socioprofessionnelles (PCS-ESE) ou les codes types de personnel de l’Urssaf (CTP) dans les bordereaux.

Le lire sans y passer la journée

Ouvrir le fichier dans un éditeur de texte permet de retrouver une valeur précise, à condition de connaître le code de la rubrique. Pour tout le reste, le plus simple est de déposer la DSN dans le lecteur : chaque salarié est présenté avec son contrat, son salaire brut, son net et ses absences, et chaque code est traduit. Le fichier est lu dans le navigateur, il n’est envoyé nulle part.

Une DSN à lire ? Déposez le fichier : salariés, contrats, paie et cotisations s’affichent en clair, sans que le fichier quitte votre ordinateur.

Roméo Kothan, développeur. J’écris ces guides et je construis des outils gratuits pour les entreprises et les professionnels. Je partage les prochains sur LinkedIn.

Suivre Roméo sur LinkedIn

Questions fréquentes

Peut-on ouvrir une DSN avec le Bloc-notes ?

Oui, c’est un fichier texte. Mais vous verrez des milliers de lignes de codes sans libellés : c’est lisible pour un spécialiste du cahier technique, beaucoup moins pour les autres. Un lecteur DSN fait la traduction à votre place.

Pourquoi les accents s’affichent-ils mal ?

La DSN est encodée en ISO 8859-1 (Latin-1), pas en UTF-8. Un éditeur qui suppose de l’UTF-8 transforme « É » en caractères bizarres. Le contenu n’est pas abîmé pour autant.

Que veut dire le « G00 » dans les codes ?

C’est un niveau de la nomenclature de la norme, identique pour presque tous les blocs. En pratique, on retient la structure (S10, S20, S21…), le numéro de bloc (40 pour le contrat) et le numéro de rubrique (007 pour la nature du contrat).

À lire aussi