# La Norme : Format des Bilans de Contrôle

Il existe plusieurs formats de bilan de contrôle DSN.

## Bilan XML

Le format XML reflète la structure du bilan de contrôle spécifié par le projet DSN.

Chaque section infra décrit une balise en utilisant un tableau dont la première colonne contient le nom de la balise et la seconde la description de son contenu. Toutes les balises ne font pas pour autant l’objet d’une section. Dans certains tableaux, la première colonne contient une séquence de balises séparées par des caractères ‘/’ (par exemple, description/code). Dans ce cas, la table contient la description de la balise code contenue dans la balise description.

### <rapport>

L’élément rapport est l’élément racine des fichiers XML contenant les bilans de validation. Cet élément comporte les sous éléments décrits dans le tableau suivant :

envoi | Ensemble des données concernant les anomalies relevées dans les rubriques décrivant l’envoi.
declaration | Ensemble des données concernant les anomalies relevées dans les rubriques décrivant les déclarations. Il y a autant de sous-éléments déclaration que l’envoi contrôlé comporte de déclarations (valides ou invalides).

### <envoi>

L’élément envoi comporte l’ensemble des données relatives aux anomalies portant sur les rubriques de niveau envoi (les anomalies sur les rubriques de niveau déclaration sont décrites séparément).

envoi_identification | Ensemble des données permettant d’identifier le fichier auquel se rapporte le bilan concerné (c.f. détail infra.).
envoi_bilan | Bilan de l’envoi (données synthétiques sur l’envoi (c.f. détail infra).
envoi_anomalie | Ensemble des données concernant les anomalies relevées dans les rubriques décrivant l‘envoi.

### <envoi_identification>

La balise identification de l’envoi contient tous les éléments permettant d’identifier un envoi.

identifiant | Nom du fichier contenant l’envoi contrôlé.
version norme | Version de la norme utilisée pour le contrôle.
point_de_depot | 01 pour net-entreprises, 02 pour MSA.
type_envoi | Cette rubrique permet de définir s’il s’agit d’un envoi normal, ou d’un envoi contenant uniquement des déclarations mensuelles «néant».
essai_reel | 01 pour envoi de test, 02 pour envoi réel.
emetteur_siret | SIRET de l’émetteur de l’envoi.
nom_logiciel | Nom du logiciel utilisé pour produire l’envoi.
editeur_logiciel | Editeur du logiciel utilisé pour produire l’envoi.
version_logiciel | Version du logiciel utilisé pour produire l’envoi.
code_conformite | Code de conformité attribué par une solution de contrôle en local permettant de dispenser l’envoi de certains contrôles sur serveur.
date_reception | Date de la réception du fichier.
heure_reception | Heure de la réception du fichier.

### <envoi_bilan>

La balise envoi_bilan contient des éléments synthétiques sur les anomalies contenues dans un envoi.

envoi_etat | OK ou KO selon que l’envoi est réputé valide ou pas.
envoi_contenu | Nombre de déclarations dans l’envoi et nombre de salariés concernés par l’envoi.
Envoi_compteurs | Nombre total d’anomalies (si balise envoi_categorie contient « total »).
Envoi_compteurs | Nombre total d’anomalies de niveau déclaration (si balise envoi_categorie contient « declaration »).
Envoi_compteurs | Nombre total d’anomalies de niveau envoi (si balise envoi_categorie contient « generale »).

### <envoi_anomalie>

La balise envoi_anomalie contient les éléments sur une anomalie de niveau envoi.

description/code | Code de l’erreur (identifiant du contrôle en échec, le plus souvent).
description/categorie | Catégorie d’anomalie (bloquant/non-bloquant).
description/message | Message d’erreur associée à l’anomalie.
description/numero_ligne | Numéro de ligne de la rubrique déclenchante.
valeurs/rubrique_declenchante/identifiant | Identifiant de la rubrique déclenchante.
valeurs/rubrique_declenchante/libelle | Libellé de la rubrique déclenchante.
valeurs/rubrique_declenchante/valeur | Valeur de la rubrique déclenchante dans l’envoi.

### <declaration>

L’élément declaration comporte l’ensemble des données relatives aux anomalies portant sur les rubriques de niveau déclaration (les anomalies sur les rubriques de niveau envoi sont décrites séparément).

declaration_identification | Ensemble des données permettant d’identifier la déclaration concernée (c.f. détail infra.).
declaration_bilan | Bilan de la déclaration (données synthétiques sur l’envoi (c.f. détail infra).
declaration_anomalie (multiple) | Ensemble des données concernant les anomalies relevées dans les rubriques des déclarations.

### <declaration_identification>

La balise declaration_identification contient tous les éléments nécessaires pour l’identification des déclarations.

rang | Rang de la déclaration dans l’envoi.
nature | Code nature (DSN mensuelle ...).
type | Code type (normale, néant, annule et remplace…).
fraction | Numéro de la fraction de déclaration.
ordre | Rang de constitution de la déclaration au cours du mois courant.
mois | Mois concernant la déclaration.
date | Date de la déclaration.
SIREN | SIREN de l’entreprise déclarante.
nic_siege | NIC du siège social de l’entreprise déclarante.
nic_affectation | NIC de l’établissement d’affectation du salarié concerné par l’anomalie.

### <declaration_bilan>

La balise declaration_bilan contient des éléments faisant la synthèse des anomalies pour la déclaration concernée.

etat | OK ou KO selon que la déclaration est réputée valide ou pas.
declaration_contenu | Nombre de salariés concernés par la déclaration.
declaration_compteurs | Nombre total d’anomalies bloquante dans la déclaration(si balise envoi_categorie contient « bloquant »).
declaration_compteurs | Nombre total d’anomalies non bloquante dans la déclaration (si balise envoi_categorie contient « non-bloquant»).

### <declaration_anomalie>

La balise declaration_anomalie contient des éléments décrivant une anomalie dans une déclaration.

description/code | Code de l’erreur (identifiant du contrôle en échec, le plus souvent).
description/categorie | Catégorie d’anomalie (bloquant/non-bloquant).
description/message | Message d’erreur associée à l’anomalie.
description/numero_ligne | Numéro de ligne de la rubrique déclenchante.
valeurs/rubrique_declenchante/identifiant | Identifiant de la rubrique déclenchante.
valeurs/rubrique_declenchante/libelle | Libellé de la rubrique déclenchante.
valeurs/rubrique_declenchante/valeur | Valeur de la rubrique déclenchante dans l’envoi.
environnement | Description de l’environnement de la rubrique déclenchante (informations utiles sur le salarié, c.f. détails infra.).

### <environnement>

La balise environnement contient des éléments relatifs au salarié concerné par l’anomalie.

salarie | salarié auquel se rattache l’anomalie.
contrat | contrat du salarié auquel se rattache l’anomalie.

##### <salarie>

salarie origine | L’attribut origine est toujours égal à DSN en bilan de contrôle. Il indique que l’origine des données salarié est la déclaration et non p.ex. le SNGI en cas de bilan métier remontant du bloc applicatif de stockage des données DSN.
NIR | NIR du salarié.
nom_famille | Nom de famille du salarié.
nom_usage | Nom d’usage du salarié.
prenoms | Prénom(s) du salarié.
sexe | Sexe du salarié.
date_naissance | Date de naissance du salarié.
lieu_naissance | Lieu de naissance du salarié.
matricule | Matricule du salarié dans l’entreprise concernée.
rang | Rang du salarié dans la déclaration.

##### <contrat>

date_debut_contrat | Date de début du contrat.
num_contrat | Numéro du contrat.

## Bilan HTML

Il possède:

- Un entête récapitulant les informations générales du contrôle
- Une liste des anomalies de type envoi
- Pour chaque déclaration :

1. une liste des anomalies qui ne sont pas liées à un salarié
2. pour chaque salarié en anomalie, une liste de ses anomalies

## Bilan CSV

Il respecte la structure du bilan XML de la DSN. Il est composé de quatre lignes dont certaines seront répétables.

### Ligne E comme envoi (1,1)

Reprise des données présentes en bilan XML pour :

- envoi_identification
- envoi_bilan

colonne | contenu
1 | E
2 | identifiant
3 | version_norme
4 | point_de_depot
5 | type_envoi
6 | essai_reel
7 | emetteur_siret
8 | nom_logiciel
9 | envoi_etat
10 | envoi_contenu/declarations
11 | envoi_contenu/salaries
12 | envoi_compteurs/general/nombre
13 | envoi_compteurs/declaration/nombre
14 | envoi_compteurs/total/nombre

### Ligne G comme anomalie générale niveau envoi (0,N)

Reprise des données présentes en bilan XML pour envoi_anomalie

colonne | contenu
1 | G
2 | code
3 | categorie
4 | message
5 | numero_ligne
6 | rubrique_declenchante/identifiant
7 | rubrique_declenchante/libelle
8 | rubrique_declenchante/valeur

### Ligne D comme déclaration (1,N)

Reprise des données présentes en bilan XML pour declaration_identification declaration_bilan

colonne | contenu
1 | D
2 | rang
3 | nature
4 | type
5 | fraction
6 | ordre
7 | mois
8 | SIREN
9 | nic_siege
10 | nic_affectation
11 | etat
12 | declaration_contenu/salaries
13 | declaration_compteurs/bloquant/nombre
14 | declaration_compteurs/non_bloquant/nombre

### Ligne A comme anomalie déclaration (0,N)

Reprise des données présentes en bilan XML pour declaration_anomalie

colonne | contenu
1 | A
2 | code
3 | categorie
4 | message
5 | numero_ligne
6 | rubrique_declenchante/identifiant
7 | rubrique_declenchante/libelle
8 | rubrique_declenchante/valeur
9 | salarie/NIR
10 | salarie/nom_famille
11 | salarie/nom_usage
12 | salarie/prenoms
13 | salarie/sexe
14 | salarie/date_naissance
15 | salarie/lieu_naissance
16 | salarie/matricule
17 | salarie/rang
18 | contrat/date_debut
19 | contrat/numero