Build French Monthly DSN (NEODeS File)
Skill: Convert monthly payroll into a Déclaration Sociale Nominative
Region: France
Category: Social security — Protection sociale (DSN)
Does: Takes a month's payroll data and assembles the Déclaration Sociale Nominative (DSN) mensuelle in the NEODeS file format — the single monthly social declaration French employers transmit through net-entreprises.fr (URSSAF / GIP-MDS) that feeds URSSAF, the retirement/prévoyance funds, France Travail, and the tax authority.
Spec: NEODeS (Norme d'Échanges Optimisée des Déclarations Sociales) — current phase (e.g. P25/P26), structured S21.G00.xx blocks
The DSN replaced most separate social declarations with one nominative monthly file built from payroll. NEODeS is organised as hierarchical rubriques (
S10emitter,S20declaration,S21payroll: company → établissement → individual → contracts → remunerations → contributions). The norm has an annual phase (cahier technique) — build against the current phase. The file also carries the Prélèvement à la source (PAS) withholding and the Montant Net Social.
When this applies
- The monthly DSN is due the 5th or 15th of the month following the payroll period (depending on employer size); event-driven DSN signalements (e.g. end of contract, arrêt de travail) are sent separately, when they occur.
- Built directly from the payroll run — its accuracy depends on correct payroll parameters (codes, bases, rates).
NEODeS block structure (key rubriques)
S10.G00.00 Émetteur (sender / software)
S20.G00.05 Déclaration (type = mensuelle, month, fraction)
S21.G00.06 Entreprise (SIREN)
S21.G00.11 Établissement (SIRET, APE/NAF)
S21.G00.30 Individu (NIR/NTT, name, DOB)
S21.G00.40 Contrat (nature, PCS-ESE, working time, dates)
S21.G00.50 Versement / Rémunération (pay periods, gross)
S21.G00.51 Rémunération (type, amount) + Montant Net Social
S21.G00.78 Bases assujetties (assessment bases)
S21.G00.81 Cotisations individuelles (per-contribution amounts)
S21.G00.50/56 Prélèvement à la source (PAS: rate, base, amount withheld)
S21.G00.20 Versement organisme (payment to URSSAF / funds: totals, due dates)
Data rules
- Identify each employee by NIR (numéro de sécurité sociale) or a NTT (technical temporary number) when the NIR is unknown — a wrong/missing NIR breaks the nominative matching across the funds.
- Bases assujetties (S21.G00.78) report the assessment bases (e.g. plafonnée/déplafonnée, CSG/CRDS) per individual; cotisations (S21.G00.81) report the resulting contributions with the correct code cotisation.
- PAS (withholding tax): apply the rate transmitted via the CRM/return flow (taux personnalisé or barème), compute the base and amount, and report it in the contract's PAS rubriques; the aggregate is settled to DGFiP.
- Montant Net Social must be reported per the standardised definition (a mandatory rubric since 2023).
- The
S21.G00.20payment block must reconcile the per-individual contributions to the amounts paid to each organisme (URSSAF, retraite, prévoyance) with the correct due dates. - The file must conform to the current NEODeS phase (rubrique numbers, code lists) and pass the net-entreprises / DSN controls.
Worked example (one employee, outline)
S20: déclaration mensuelle, période 2025-05
S21.G00.06 Entreprise SIREN=123456789
S21.G00.11 Établissement SIRET=12345678900012, APE=6201Z
S21.G00.30 Individu NIR=1 85 05 75 116 001 23, Dupont Jeanne
S21.G00.40 Contrat CDI, PCS-ESE=..., 35h
S21.G00.51 Rémunération brut 3000.00 ; Montant Net Social 2380.00
S21.G00.78 Bases: plafonnée 3000.00, CSG 2949.00
S21.G00.81 Cotisations: maladie, vieillesse, retraite complémentaire, CSG/CRDS…
PAS: taux 4.5% × base 2380.00 = 107.10 prélevé
S21.G00.20 Versement URSSAF + caisses, totaux + échéances
Emitted as a NEODeS file and deposited on net-entreprises.fr.
Validation checklist
- Built against the current NEODeS phase (cahier technique) — rubrique numbers and code lists up to date
- Émetteur/Entreprise/Établissement identified (SIREN/SIRET, APE); declaration type = mensuelle + correct month
- Each individual has a valid NIR (or NTT) and contract block (nature, PCS-ESE, dates)
- Bases (S21.G00.78) and cotisations (S21.G00.81) correct with valid codes
- PAS rate applied from the return flow; base/amount reported; aggregate to DGFiP
- Montant Net Social reported per the standard definition
- Payment block (S21.G00.20) reconciles individual contributions to amounts/échéances per organisme
- Passes net-entreprises DSN controls; deadline (5th/15th) met
Last updated: 2026-05-31 — the NEODeS norm changes by annual phase; confirm the current phase's rubrique structure, code lists, PAS handling, and deadlines against the current DSN cahier technique (net-entreprises.fr / dsn-info) before use.