DSN filing
Build, validate and submit French social declarations (DSN / PASRAU) to net-entreprises
Build and submit a monthly DSN
Builds the monthly DSN (Déclaration Sociale Nominative) from the tenant payroll results, runs the DSN-VAL controls and submits the conformant declaration to net-entreprises. Returns the created declaration with its deposit identifier.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Build and submit a monthly DSN › Request Body
employeeIdOptional employee identifier to restrict the declaration to a single individual
Build and submit a monthly DSN › Responses
Created - DSN built, validated and submitted
declarationIdUnique declaration identifier
typeDeclaration type
statusCurrent declaration status
submittedAtBuild and validate a DSN (no submit)
Builds a DSN from the tenant payroll results and runs the DSN-VAL control catalogue without submitting it to net-entreprises. Returns the list of anomalies detected (empty when conformant).
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Build and validate a DSN (no submit) › Request Body
employeeIdOptional employee identifier to restrict the declaration to a single individual
Build and validate a DSN (no submit) › Responses
OK - DSN built and validated
conformantTrue when no blocking anomaly was found (definition of done: zero anomalies)
Send a signal d'amorçage (SADV)
Sends a signal d'amorçage (déclaration SADV) to net-entreprises so the withholding-tax (PAS) rates (CRM) can be initialised before the first nominal DSN.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Send a signal d'amorçage (SADV) › Request Body
Send a signal d'amorçage (SADV) › Responses
Created - Signal d'amorçage submitted
declarationIdUnique declaration identifier
typeDeclaration type
statusCurrent declaration status
submittedAtImport an existing DSN (reprise / migration)
Parses an existing DSN flat file (.dsn) supplied by the partner for reprise/migration purposes and returns the structured content extracted from it.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Import an existing DSN (reprise / migration) › Request Body
Raw DSN flat file content (NEODeS format)
Import an existing DSN (reprise / migration) › Responses
OK - DSN parsed
normDetected NEODeS norm version (e.g. CT2026.1.2)
Declarations parsed from the file
Get DSN deposit status
Returns the deposit status of a submitted DSN, including the ARL (Accusé de Réception Logique) and the certificat de conformité once available from net-entreprises.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
declarationIdDeclaration identifier returned at submission
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get DSN deposit status › Responses
OK
declarationIdstatesimulatedTrue only for the deterministic partner-sandbox channel.
depotIdmessageGet comptes-rendus métier (CRM)
Retrieves the comptes-rendus métier (NEORES returns) emitted by the receiving organisms for a submitted DSN.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
declarationIdDeclaration identifier returned at submission
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get comptes-rendus métier (CRM) › Responses
OK
declarationIdList of comptes-rendus métier emitted by the receiving organisms
Build a monthly DSN from a persisted payrun (no submission)
Builds the monthly DSN (Déclaration Sociale Nominative) from a persisted payrun result for a given employee and period. Returns the generated DSN and its fast schema-validation result without submitting it to Net-entreprises.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Build a monthly DSN from a persisted payrun (no submission) › Request Body
employeeIdyearmonthresultSetIdOptional exact result-set ID returned by payrollresults/sets?payrunJobId=... . Recommended after every recalculation so DSN construction cannot read an older same-period result while indexes converge. The set must belong to the requested employee and period.
userIdstrictBuild a monthly DSN from a persisted payrun (no submission) › Responses
OK - DSN built from the persisted payrun
tenantIdemployeeIdperiod^\d{4}-(0[1-9]|1[0-2… · requiredcotisationSourcecotisationCountpayrollResultIdwarningsvalidrubriqueCountcontentGenerated NEODeS flat file. This build endpoint does not submit it.
Run the official DSN control on a persisted payrun
Builds the DSN in forced strict mode from persisted PayrollEngine results, then runs the configured official control engine. This endpoint never submits to Net-entreprises. A blocking response identifies the PayrollEngine Case and field to correct whenever the triggering rubrique is known.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Run the official DSN control on a persisted payrun › Request Body
employeeIdyearmonthresultSetIdOptional exact result-set ID returned by payrollresults/sets?payrunJobId=... . Recommended after every recalculation so DSN operations cannot read an older same-period result while indexes converge. The set must belong to the requested employee and period.
userIdstrictAccepted for request compatibility. The control endpoint always forces strict mode.
Run the official DSN control on a persisted payrun › Responses
Control completed without a blocking anomaly
tenantIdstatusvalidreportIdOpaque archived official-control report id; null when no report was produced or archiving failed.
periodcotisationSourcepayrollResultIdwarningserrormessageengineblockingnonBlockingPreview DSN payments from a persisted payrun
Returns the per-organism amounts and whether each S21.G00.20 payment block can be emitted. This endpoint is lenient and never submits to Net-entreprises; status needs_attention and anomalies explain payment configuration still to complete.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Preview DSN payments from a persisted payrun › Request Body
employeeIdyearmonthresultSetIdOptional exact result-set ID returned by payrollresults/sets?payrunJobId=... . Recommended after every recalculation so DSN operations cannot read an older same-period result while indexes converge. The set must belong to the requested employee and period.
userIdstrictAccepted for request compatibility. The control endpoint always forces strict mode.
Preview DSN payments from a persisted payrun › Responses
Payment preview
statusvalidreportIdAlways null: payment preview does not run the official control engine.
periodtotalMontantwarningsSubmit a payrun-backed monthly DSN
Builds the declaration from persisted PayrollEngine results, runs the configured DSN control gate, then submits it. In the partner sandbox the same route uses a deterministic synthetic return channel and always responds with simulated=true; it never contacts net-entreprises.
path Parameters
partnerIdPartner identifier (must match your API key)
tenantIdTenant identifier (the déclarant)
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
X-Verso-Test-ScenarioSandbox-only deterministic return scenario. Omit for success. Rejected outside the enabled sandbox simulator.
Submit a payrun-backed monthly DSN › Request Body
employeeIdyearmonthresultSetIdOptional exact result-set ID returned by payrollresults/sets?payrunJobId=... . Recommended after every recalculation so transmission cannot read an older same-period result while indexes converge. The set must belong to the requested employee and period.
userIddeclarationTypeallowSkippedControlExceptional override. The Indy sandbox normally runs the configured control engine.
Submit a payrun-backed monthly DSN › Responses
Accepted - poll receipt.depotId on the status and returns routes
simulatedCurrent state derived from the AEE, certificat/BAN, BIS and CRM return stream.
Get structured DSN returns
Lists and parses the AEE, certificat/BAN, BIS and CRM documents available for a deposit. Sandbox responses are deterministic and carry simulated=true.
path Parameters
partnerIdtenantIddeclarationIdDeposit identifier returned as receipt.depotId
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get structured DSN returns › Responses
Structured return channel
tenantIddepotIdsimulatedstatearchivedGet raw DSN return documents
Returns the original XML documents in a JSON envelope. Sandbox documents are synthetic and carry simulated=true.
path Parameters
partnerIdtenantIddeclarationIdDeposit identifier returned as receipt.depotId
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Get raw DSN return documents › Responses
Raw return documents
tenantIddepotIdsimulated