Skip to main content

DSN Monthly Declaration β€” User Guide

:::info Audience This guide is for the HR and payroll team. No technical knowledge required. The IT team has already set everything up β€” your job is to follow the steps below once a month. :::


What is DSN?​

DSN (DΓ©claration Sociale Nominative) is the mandatory monthly declaration that every French employer must send to social security organisations (URSSAF, retraite complΓ©mentaire, prΓ©voyance, etc.).

It replaces all the old individual declarations (DUCS, DADS, CIBTP, etc.) with a single file generated automatically from your payroll data.

Old wayNew way with DSN
6–10 separate declarations per month1 single file, sent automatically
Manual data entry, risk of errorsGenerated directly from salary slips
Sent by post or separate portalsSent electronically in seconds

Who does what​

RoleResponsibility
HR / Payroll managerRuns payroll, verifies slips, submits DSN
Finance / AccountingValidates gross amounts, approves bank transfer
IT teamMaintains the system β€” no monthly action required

Monthly calendar β€” salaries paid on the 17th​

gantt
title Payroll & DSN β€” Monthly timeline (current month salary paid on the 17th)
dateFormat DD
axisFormat %d

section Payroll preparation
Collect variable data (absences, bonuses) :active, 01, 10d
Run payroll entry in ERPNext :11, 3d
Finance review & approval :14, 2d

section Salary payment
Submit salary slips :milestone, 16, 0d
🏦 Initiate bank transfer :milestone, 16, 0d
πŸ’Ά Employees receive salary :milestone, 17, 0d

section DSN declaration
Submit DSN to social security :18, 5d
⏰ Legal deadline (>50 employees) :milestone, 05, 0d

:::note Reading the calendar

  • The salary paid on the 17th is for the current month β€” for example, the January salary is paid on 17 January (not in February).
  • "Day 05" in the DSN section refers to the 5th of the following month β€” the legal deadline. For companies with 50 employees or fewer, the deadline is the 15th of the following month.
  • The bank transfer is initiated on the 16th so that the funds clear in employee accounts on the 17th. :::

How is a salary slip generated?​

Salary slips are not created one by one. ERPNext generates them all at once from a Payroll Entry β€” a single form that covers all employees for a given month.

flowchart TD
A[HR opens a new\nPayroll Entry] --> B[Sets the period:\n1st β†’ last day of the month]
B --> C[Clicks 'Get Employees']
C --> D[ERPNext lists all active\nemployees automatically]
D --> E[Clicks 'Create Salary Slips']
E --> F[ERPNext calculates each slip:\nearnings Β· deductions Β· net pay]
F --> G[HR reviews amounts]
G --> H{Amounts correct?}
H -- No --> I[Edit individual slip\nthen recalculate]
I --> G
H -- Yes --> J[Clicks 'Submit Salary Slips']
J --> K([βœ… All slips submitted\nReady for DSN & bank transfer])

Each slip is calculated automatically based on:

  • The employee's salary structure (base salary, standard deductions) set up in their HR file
  • Any variable elements entered that month (bonus, absence deduction, overtime)

The HR manager only needs to check the final numbers β€” all the maths is done by ERPNext.


The full monthly process β€” step by step​

Step 1 β€” Prepare variable payroll data (1st–10th)​

Before running payroll, collect for each employee:

  • Absences (days off without pay, sick leave not covered, etc.)
  • Bonuses or one-off payments
  • Any changes to hours or contract

Enter these in ERPNext under HR β†’ Leave Application (absences) or directly on the Payroll Entry as additional earnings/deductions.


Step 2 β€” Run the Payroll Entry (11th–13th)​

  1. Log in to ERPNext at erp.devandre.sbs
  2. Go to Payroll β†’ Payroll Entry β†’ New
  3. Fill in:
    • Company: ktayl solution
    • Start Date: 1st of the month (e.g. 01/01/2026)
    • End Date: last day of the month (e.g. 31/01/2026)
    • Payroll Frequency: Monthly
    • Payment Account: the company bank account
  4. Click Get Employees β€” ERPNext automatically lists all active employees
  5. Click Create Salary Slips β€” one slip is generated per employee

:::info What ERPNext calculates automatically For each employee, ERPNext applies their salary structure:

  • Gross pay = base salary + bonuses
  • Deductions = retraite complΓ©mentaire, CSG/CRDS, mutuelle, etc.
  • Net pay = what the employee receives on the 17th :::

Step 3 β€” Review and approve (14th–15th)​

Open each salary slip from the Payroll Entry to verify:

  • Gross pay is correct
  • Deductions are as expected
  • Net pay matches what will be transferred to the employee's bank account

If a figure is wrong: open the individual slip β†’ amend β†’ save β†’ recalculate.

Once all amounts are confirmed, Finance validates the total payroll cost.


Step 4 β€” Submit salary slips (16th β€” day before payment)​

Back on the Payroll Entry:

  1. Click Submit Salary Slips β€” all slips move from Draft to Submitted
  2. Click Create Bank Entry β€” ERPNext generates the accounting entry for the salary transfer
warning

A slip must be Submitted before it is included in the DSN. Slips in Draft status are invisible to the declaration system.


Step 5 β€” πŸ’Ά Salary payment (16th β†’ 17th)​

On the 16th, Finance initiates the SEPA bank transfer for the total net payroll. The transfer is sent to the bank the day before so that funds clear and employees see the salary in their account on the 17th.

:::info This is the current month's salary The salary paid on the 17th of January is the January salary β€” not December's. The slip covers the full month (1st to 31st) but is processed and paid mid-month because it is a fixed monthly salary, not an hourly calculation. :::


Step 6 β€” Submit the DSN (18th – 5th of following month)​

Once salaries are paid, submit the declaration:

  1. Go to Payroll β†’ Payroll Entry β€” open the entry for the month
  2. In the top-right menu, click Submit DSN
  3. A confirmation pop-up shows:
    • Number of employees included
    • Any warnings (missing employee data)
  4. Click Confirm

ERPNext will:

  • Collect all submitted salary slips for the month
  • Generate the DSN file automatically
  • Send it to the declaration system
  • Save the confirmation receipt on the Payroll Entry

Step 7 β€” Check the result​

Open the Payroll Entry. At the bottom, under Comments, you will see:

DSN 01/2026 β€” βœ… AcceptΓ©e Soumis le: 2026-02-03T09:14:32Z Identifiant envoi: A3F7C291 Individus: 1 | DΓ©clarations: 1

Your work for the month is done.

If you see ❌ Rejetée, see the next section.


If the declaration is rejected​

A rejection means the file had a structural problem. This is rare β€” see the table below to know who acts.

What to do:

  1. Take a screenshot of the red comment (the error message)
  2. Send it to the IT team
  3. The IT team corrects the issue and resubmits on your behalf

Who fixes what:

Error messageMeaningWho fixes it
Bloc obligatoire absentFile structure issueIT team
Version norme invalideSoftware configuration issueIT team
NIR manquantSocial security number missing on employee recordHR team
Date de naissance manquanteDate of birth missing on employee recordHR team

Employee file β€” required fields for DSN​

Each employee must have the following filled in ERPNext before their first payroll run:

FieldWhat it isWhere to find it
NIRSocial security number (15 digits)Employee's carte Vitale or previous payslip
Date of birthDate de naissanceID document or employment contract
GenderSexeID document
Date of joiningDate d'entrΓ©e dans l'entrepriseEmployment contract
Employment typeCDI, CDD, Alternance, etc.Employment contract

To update: HR β†’ Employee β†’ search by name β†’ edit and save.


Full monthly timeline at a glance​

DateActionWho
1st–10thCollect absences, bonuses, variable dataHR
11th–13thCreate Payroll Entry, generate salary slipsHR
14th–15thReview amounts, Finance approvesHR + Finance
16thSubmit all salary slips β€” initiate bank transferHR + Finance
17thπŸ’Ά Employees receive current month salaryβ€”
18th–5th (next month)Submit DSN declarationHR
5th (next month)⏰ Legal DSN deadline (> 50 employees)β€”
15th (next month)⏰ Legal DSN deadline (≀ 50 employees)β€”

:::tip Set recurring tasks in Plane

  • Task on the 11th: "Run payroll for [month]" β†’ HR manager
  • Task on the 16th: "Submit salary slips β€” payment tomorrow" β†’ HR manager
  • Task on the 18th: "Submit DSN for [month]" β†’ HR manager :::

Frequently asked questions​

Can I resubmit a DSN after a correction? Yes. If a salary slip is amended after submission, contact IT with the employee name and the correction. The IT team generates a corrective DSN (DSN de substitution).

What if an employee is missing from the DSN? Their salary slip was not submitted. Check the slip in ERPNext β€” if it shows "Draft", submit it and then ask IT to resubmit the DSN.

Is the DSN the same as the payslip the employee receives? No. The payslip (bulletin de salaire) is what you give the employee. The DSN is the declaration sent to social security on behalf of the company. They use the same salary data but are completely separate documents.

Who receives the DSN? The declaration system forwards it automatically to URSSAF, pension funds (retraite complΓ©mentaire), and provident insurance (prΓ©voyance).

Can I check past declarations? Yes. Payroll β†’ Payroll Entry β†’ open any past month β†’ scroll to Comments to see the submission confirmation and reference number.

What if the 17th falls on a weekend or bank holiday? Initiate the bank transfer on the Friday before, so employees receive their salary on Monday. Example: if the 17th is a Saturday, Finance sends the transfer on Friday the 16th β€” employees see the money on Monday the 19th. The Payroll Entry dates and DSN period remain unchanged (1st to last day of the month).