Comment extraire les données d'un bulletin de paiefrançais vers Excel

Quand un cabinet d'expertise comptable reprend la paie d'un nouveau client, le premier document demandé n'est pas le grand livre. Ce sont 12 mois de bulletins de paie pour chaque salarié. Chaque PDF reflète la DSN mensuelle (Déclaration Sociale Nominative) — la déclaration électronique unique transmise à l'URSSAF, la CNAV, la CPAM et Pôle Emploi depuis janvier 2017 en vertu du Décret n°2016-611. Si le salaire brut du bulletin de décembre ne correspond pas au total DSN, l'écart doit être localisé et expliqué avant que le cabinet puisse arrêter les comptes. Le goulot d'étranglement n'est pas la lecture des bulletins. Ce sont les 3 minutes par bulletin passées à saisir manuellement le Brut, la CSG déductible et le Net à payer dans une ligne de tableur — puis à recommencer pour 49 autres salariés, sur 12 mois.

Extraction de données de bulletin de paie français vers un tableur Excel

Points clés

  1. À trois minutes par bulletin de paie, une entreprise de 50 salariés passe 30 heures par an à saisir les seize champs légalement obligatoires dans Excel — avant même de commencer toute vérification.
  2. 30 heures de saisie, et l'expert-comptable ne peut toujours pas valider — car le rapprochement DSN exige que le Salaire Brut, la CSG déductible et le Net Imposable correspondent entre le bulletin PDF et la déclaration électronique, et une seule cotisation mal classée fait échouer tout le mois.
  3. Une colonne calculée — Vérif CSG = Brut × 98,25 % × 9,2 % − CSG extraite — permet à ImageToTable.ai de signaler les lignes avec un écart supérieur à ±1 € lors de l'extraction, transformant un tableur de 600 lignes en une liste d'investigation de trois lignes.

Pourquoi le Bulletin de Paie Français est l'un des Documents les Plus Complexes d'Europe à Extraire

Le bulletin de paie français n'est pas conçu pour les outils d'extraction de données. Il est conçu pour la conformité — et le système de protection sociale français, financé par certains des taux de cotisations patronales les plus élevés d'Europe, exige que chaque euro de cotisation soit tracé. Seize champs sont obligatoires en vertu de l'article R3243-1 du Code du travail. Cinq autres lignes sont interdites par l'article R3243-4 — un employeur ne peut pas afficher les heures de grève en tant que telles, ni distinguer les heures travaillées du temps de représentation syndicale. Un bulletin de paie non conforme est passible d'une amende pouvant aller jusqu'à 450 € par document.

Cette densité juridique crée trois niveaux de difficulté d'extraction que les outils OCR génériques — conçus pour les fiches de paie anglaises avec une poignée de lignes de déductions — ne peuvent pas gérer :

  • La mise en page en trois sections. Un bulletin de paie français se divise en haut (identité employeur et salarié — SIRET, code NAF, convention collective), corps (salaire brut → cotisations → net), et bas (cumuls annuels, soldes de congés, montant net social). Chaque section utilise des conventions typographiques différentes, et le même nom de champ — « Total » — apparaît dans le corps comme un sous-total, en bas comme un cumul annuel, et dans l'en-tête comme un numéro de référence. Un modèle basé sur les coordonnées qui récupère « le deuxième Total » en haut obtiendra le mauvais nombre sur un PDF généré par Silae par rapport à un PDF PayFit.
  • Cinq groupes de cotisations obligatoires. La réforme de simplification de 2018 a regroupé les quelque 50 lignes de cotisations sociales en cinq catégories : Santé, Accidents du travail, Retraite (sécurité sociale plafonnée, sécurité sociale déplafonnée, et complémentaire AGIRC-ARRCO), Famille, et Chômage. Mais chaque groupe contient toujours une part salariale et une part patronale, affichées dans des colonnes séparées. La CSG (Contribution Sociale Généralisée) et la CRDS (Contribution au Remboursement de la Dette Sociale) se trouvent dans leur propre section avec leur propre base de calcul — 98,25 % du salaire brut, pas 100 %. Une extraction qui traite toutes les lignes de « cotisation » comme une seule colonne d'impôt mélangera les cotisations salariales et patronales en un nombre qui ne signifie rien pour aucune des deux parties.
  • Net imposable ≠ Net à payer. Le montant qui apparaît sur la déclaration fiscale annuelle du salarié (net imposable) n'est pas le montant transféré sur son compte bancaire (net à payer). Net imposable = salaire brut − cotisations sociales déductibles + CSG non déductible (part à 2,4 %) + CRDS (0,5 %). Net à payer = net imposable − impôt sur le revenu prélevé à la source (PAS) + remboursements (transport, tickets restaurant). Une extraction générique qui produit une seule colonne « Salaire net » confond deux chiffres juridiquement distincts. Cette distinction est importante car la DSN utilise le net imposable, tandis que le relevé bancaire du salarié reflète le net à payer.

Ce ne sont pas des cas particuliers. C'est l'anatomie standard de tout bulletin de paie émis par un employeur français depuis janvier 2018, date à laquelle le format du bulletin de paie clarifié est devenu obligatoire pour toutes les entreprises. La réforme a rendu les fiches de paie plus courtes — d'environ 50 lignes à environ 20 — mais elle ne les a pas rendues plus simples à extraire. Regrouper les cotisations sous cinq rubriques a réorganisé la mise en page sans la standardiser entre les fournisseurs de logiciels de paie.

Les seize champs obligatoires de l’article R3243-1 — Correspondance avec vos colonnes de tableur

Avant de créer les colonnes d’extraction, il faut connaître l’inventaire légal. L’article R3243-1 énumère ce qui doit figurer sur chaque bulletin de paie. Chaque élément ci-dessous correspond à un nom de colonne que vous définirez dans votre workflow d’extraction :

Élément R3243-1ChampNom de colonne recommandéRôle de vérification DSN
Nom et adresse de l’employeurNom EmployeurDoit correspondre au registre SIRET
Code NAF/APE + SIRETSIRETIdentifiant employeur principal DSN
Convention collectiveConvention CollectiveDétermine les taux de cotisation
Nom et poste du salariéNom SalariéDoit correspondre au NIR
Numéro de sécurité sociale (NIR)NIRIdentifiant bloc salarié DSN
Niveau de classification (coefficient)Classification (Coefficient)Détermine la grille de salaire de base
Période de paie et heures travailléesPériode, Heures TravailléesDSN : heures pour calcul des cotisations
Heures supplémentaires + taux majoréHeures Sup, Taux MajoréExonération fiscale sur les heures sup
Salaire brutSalaire BrutBase de tous les calculs de cotisations DSN
10°Nature et montant des accessoires de salaireAccessoires SalairePrimes, commissions, avantages en nature
11°Cotisations salariales par groupeCotisations SalarialesBloc cotisations salarié DSN
12°Cotisations patronales par groupeCotisations PatronalesBloc cotisations employeur DSN
13°Net imposableNet ImposableAlimentation annuelle DGFiP
14°Net à payerNet à PayerPoint de contrôle final DSN
15°Prélèvement à la source (PAS) — taux et montantTaux PAS, Montant PASTaux individualisé DGFiP
16°Date de paiementDate PaiementRéférence période mensuelle DSN

Pour un cabinet comptable qui rapproche une paie annuelle, ces seize champs représentent 600 lignes de données pour 50 salariés — soit 9 600 points de données. Un SIRET mal apparié ou une seule colonne Cotisations Salariales décalée entraîne des heures de correction manuelle. L’outil d’extraction doit capturer chaque champ par ce qu’il signifie, et non par son emplacement sur la page.

Cinq mentions supplémentaires sont explicitement interdites par l'article R3243-4 : toute mention d'une activité de grève, toute distinction entre heures travaillées et heures de délégation, et toute référence au droit à la déconnexion du salarié ou à l'exercice d'autres droits sociaux. Ces interdictions n'affectent pas directement l'extraction, mais elles impliquent qu'un bulletin de paie conforme utilisera des libellés neutres comme « Absence non rémunérée » plutôt que « Grève » — ce qui modifie la chaîne de texte que l'IA voit sur le PDF.

Le paysage des logiciels de paie — Pourquoi Silae, PayFit et ADP génèrent des PDF structurellement différents

L'article R3243-1 impose ce qui doit figurer, pas la mise en page. Il n'existe pas de modèle imposé par l'État — et cinq éditeurs dominent le marché français des logiciels de paie, chacun avec son propre moteur de rendu PDF.

LogicielPosition sur le marchéFormat d'export PDFDéfi d'extraction
SilaeLeader — utilisé par les experts-comptables pour plus de 30 % de la paie du secteur privé françaisMise en page compacte sur 2 colonnes, regroupement denseCotisations fusionnées en un seul bloc ; CSG et CRDS partagent un libellé de ligne qui varie selon la convention collective
PayFitSaaS moderne pour PME, design responsive à une colonneUne colonne, espacement large, rendu avec polices webMontant net social positionné dans une colonne latérale que les outils de template ratent ; ligne PAS parfois sur une page séparée
Sage PaiePME de l'écosystème Sage (Sage 50, Sage 100), fort dans le commerce et les servicesMulti-sections avec en-têtes de section, mise en page tabulaire classiqueCotisations patronales affichées sous le tableau principal dans une section que certains moteurs d'OCR ignorent comme « contenu de pied de page »
ADPGrandes entreprises et multinationalesDétail multi-pages, annexes séparées pour certains régimesNet imposable et net à payer souvent sur des pages différentes ; pages supplémentaires pour certaines catégories de salariés (cadres vs non-cadres)
Cegid RHMoyennes entreprises avec ambition SIRH completBlocs standardisés, cohérents entre les versions du produit CegidTableaux de soldes de congés insérés entre le corps et le pied de page, brisant le flux vertical dont dépend l'OCR linéaire

La conséquence opérationnelle : un cabinet comptable qui sert 10 clients, chacun utilisant un logiciel de paie différent — ou le même logiciel avec une configuration différente — ne peut pas construire un template par logiciel et espérer qu'il survive à une mise à jour. Silae, PayFit et Sage modifient périodiquement leur mise en page PDF. L'extraction par template échoue. L'extraction sémantique — où l'IA cherche « Salaire Brut » selon le sens du libellé, pas ses coordonnées pixels —, elle, fonctionne.

C'est le même défi qui rend l'extraction des fiches de paie coréennes difficile : la loi définit le contenu, mais Douzone, ECOUNT et PAYZON l'affichent chacun différemment. La situation de la France est plus aiguë car la DSN ajoute une couche de vérification — les données extraites doivent correspondre à une déclaration mensuelle électronique transmise à cinq administrations.

Étape par étape : Extraire les données des fiches de paie françaises vers un fichier Excel vérifiable

Ce processus repose sur un principe unique : l'extraction n'est pas terminée quand vous avez des colonnes. Elle est terminée quand les colonnes peuvent être recoupées avec la DSN. Les étapes ci-dessous supposent que vous avez un dossier de bulletins de paie PDF — qu'ils soient exportés de Silae, PayFit, Sage, ADP ou Cegid — et que votre tableur doit être structuré pour qu'un comptable puisse vérifier, et pas seulement lire.

JPG/PNG/PDF Extraction IA

Les fichiers sont traités de manière sécurisée et non conservés.

1

Importer les bulletins de paie — Le mode batch par défaut

Glissez-déposez tous les PDF : que ce soit 12 bulletins mensuels pour un salarié ou 50 bulletins pour l'ensemble des effectifs. L'outil accepte les formats PDF, JPG et PNG. Pour un cabinet d'expertise comptable réalisant une revue annuelle des paies, le chargement type est de 600 fichiers (50 salariés × 12 mois). Chaque bulletin est traité individuellement mais exporté dans un seul tableur — une ligne par bulletin.

2

Définir les colonnes correspondant à la structure DSN

Saisissez les noms de colonnes tels qu'ils apparaissent dans votre grille de contrôle cible. Pour la vérification DSN, le jeu minimal est : Nom du salarié, SIRET, Salaire Brut, Total Cotisations Salariales, Total Cotisations Patronales, CSG Déductible, CSG Non Déductible, CRDS, Net Imposable, Net à Payer, Taux PAS, Montant PAS. Ces douze colonnes fournissent suffisamment d'indicateurs pour recouper tout bloc mensuel DSN. L'outil lit chaque nom de colonne pour son sens sémantique — « Salaire Brut » trouve le champ du salaire brut, que Silae l'ait placé en haut à gauche ou PayFit au centre.

3

Ajouter une colonne de vérification calculée

Créez une colonne intitulée Vérif CSG (Brut × 98,25 % × 9,2 % − CSG extraite). Il s'agit d'une colonne calculée : l'outil exécute le calcul lors de l'extraction et affiche la différence entre le montant de CSG attendu et la valeur extraite. Un résultat compris dans ±1 € par bulletin indique que l'extraction du brut et celle de la CSG sont probablement correctes. Un résultat supérieur à 5 € signale soit une erreur d'extraction, soit une erreur de saisie DSN, soit un cas particulier (exonération, ajustement lié à une convention collective). Les colonnes calculées transforment l'extraction d'une tâche de saisie en une tâche de vérification des données en un seul passage.

4

Exporter et recouper avec la DSN

Exportez vers Excel (XLSX). Le tableur contient désormais une ligne par bulletin de paie avec des colonnes qui reflètent la structure DSN. Importez l'export DSN mensuel depuis le logiciel de paie ou Net-entreprises.fr. Recoupez : le Salaire Brut du bulletin doit correspondre au brut du bloc salarié DSN ; le Net Imposable du bulletin doit correspondre au net fiscal DSN ; le Montant PAS doit correspondre au bloc PAS de la DSN. Toute ligne où la colonne Vérif CSG s'écarte de plus de 1 € constitue votre liste prioritaire pour une investigation manuelle — avant de certifier les comptes annuels.

De l’extraction à la vérification — Utiliser les ratios CSG, CRDS et PAS pour détecter les écarts DSN

L’extraction vous donne des données. La vérification vous donne de la confiance. Le droit social français — notamment les taux CSG et CRDS publiés chaque année par l’URSSAF — fournit des formules de recoupement intégrées qui transforment une extraction brute en un résultat vérifiable.

Voici les trois ratios de vérification que tout tableur de rapprochement de paie devrait contenir, avec la formule de colonne calculée que vous pouvez configurer :

VérificationFormuleÉcart acceptableCe qu’indique un écart
CSG totaleBrut × 98,25 % × 9,2 %±1 €Erreur d’extraction du brut, exonération non prise en compte, ou base de calcul incorrecte
Répartition CSG déductibleCSG totale × (6,8/9,2)±1 €Mauvaise classification CSG déductible vs non déductible — impact direct sur le Net Imposable
CRDSBrut × 98,25 % × 0,5 %±0,50 €Erreur de calcul CRDS ou extraction d’une ligne de cotisation différente au libellé similaire

Le coefficient de 98,25 % n’est pas arbitraire — c’est l’assiette CSG, fixée par la loi pour exclure les cotisations patronales de mutuelle et de prévoyance sous le seuil d’exonération. Pour un salarié brut de 3 000 €, la base CSG est de 2 947,50 €. La CSG à 9,2 % = 271,17 €. Si la CSG extraite indique 245 €, l’écart de 26 € signale un problème : soit le brut extrait est erroné, le salarié bénéficie d’une exonération spécifique, ou la saisie DSN est incorrecte. Vous savez qu’un problème existe avant de savoir quel est le problème. C’est la différence entre extraction et vérification.

Ces contrôles calculés sont l’équivalent en paie de ce que font les comptables lorsqu’ils extraient des factures françaises : recouper les taux de TVA avec les totaux des lignes pour confirmer que l’extraction a capturé la bonne ventilation fiscale, et non un simple total générique.

Le workflow de rapprochement DSN-Bulletin de paie que les cabinets comptables utilisent vraiment

Une fois l'extraction terminée et les colonnes de vérification en place, le tableur devient un document de travail — pas une réponse définitive, mais une comparaison structurée entre deux sources de données (bulletin de paie PDF et export DSN). Voici le workflow de rapprochement suivi par les cabinets comptables français :

1

Exporter les données DSN depuis le logiciel de paie

Toute plateforme de paie française conforme — Silae, PayFit, Sage Paie, ADP, Cegid — permet d'exporter un extrait DSN. Cet extrait contient, par salarié et par mois, les mêmes champs que ceux figurant sur le bulletin de paie. Exportez-le au format CSV et ouvrez-le en parallèle de votre tableur d'extraction.

2

Faire correspondre les lignes par NIR + période de paie

Le numéro de sécurité sociale (NIR, Numéro d'Inscription au Répertoire) est la clé unique. Faites correspondre chaque ligne de bulletin de paie à sa ligne DSN correspondante en utilisant le NIR et la période de paie. Si un bulletin n'a pas de ligne DSN correspondante pour un mois donné, c'est un signal d'alarme — soit la DSN n'a pas été transmise (pénalité : 5 % des cotisations dues par mois de retard), soit le bulletin concerne une période différente.

3

Signaler les écarts supérieurs à 1 €

Comparez le Salaire Brut, les Cotisations Salariales, le Net Imposable et le Net à Payer entre les colonnes du bulletin et de la DSN. Signalez tout écart supérieur à 1 €. Triez le tableur par la colonne calculée Vérification CSG (ordre décroissant par différence absolue). Les lignes en haut constituent votre liste d'investigation. La plupart du temps, cette liste sera vide — et ce silence est l'objectif. Une liste d'écarts vide signifie que le comptable peut valider le rapprochement de paie en quelques minutes plutôt qu'en heures.

L'obligation de conservation de cinq ans — et pourquoi un fichier Excel structuré bat un dossier de PDF

En vertu de l'article L3243-4 du Code du travail, l'employeur doit conserver un exemplaire de chaque bulletin de paie pendant cinq ans. Pour une entreprise de 50 salariés, cela représente 3 000 PDF. Un dossier de 3 000 PDF n'offre aucune possibilité de recherche. Un fichier Excel de 3 000 lignes — extraites de ces mêmes PDF — est consultable, triable, vérifiable et filtrable par date, salarié ou groupe de cotisations.

C'est là que l'extraction sert un objectif qui dépasse le simple rapprochement. Lorsqu'un ancien salarié de 2022 demande son cumul annuel pour la vérification de sa retraite (reconstitution de carrière), les RH ne fouillent pas dans une archive PDF. Ils filtrent le fichier Excel par NIR, vérifient la ligne de décembre pour les totaux annuels 2022, et répondent en moins d'une minute. Le tableur d'extraction devient le registre numérique des bulletins de paie de l'entreprise — structuré, consultable et conforme à l'obligation de conservation de cinq ans dans un format réellement utilisable pour la récupération de données.

FAQ — Extraction de données des bulletins de paie français

L'extraction par IA gère-t-elle à la fois l'ancien format détaillé et le format simplifié de 2018 ?

Oui. Le format bulletin de paie clarifié, introduit en janvier 2018, regroupe les cotisations en cinq catégories — Santé, Accidents du travail, Retraite, Famille, Chômage — mais les libellés de champs sous-jacents (Salaire Brut, Net Imposable, Net à Payer) sont les mêmes dans les deux formats. Un outil d'extraction sémantique qui lit les libellés par leur sens, et non par leur position, fonctionne sur les deux formats. Le format détaillé d'avant 2018, avec environ 50 lignes de cotisations individuelles, fournit en réalité des données plus granulaires pour l'extraction — la réforme de simplification a réduit l'encombrement visuel pour les salariés mais n'a pas supprimé les données déjà transmises par la DSN.

L'extraction fonctionne-t-elle avec les bulletins incluant le montant net social ?

Oui. Depuis juillet 2023, les bulletins de paie français doivent afficher un montant net social — le chiffre de référence utilisé pour déterminer l'éligibilité aux prestations sociales comme le RSA (Revenu de Solidarité Active) et la prime d'activité. Ce montant se situe entre le net imposable et le net à payer sur le bulletin. L'outil d'extraction le capture comme un champ distinct si vous définissez une colonne pour cela. Le montant net social n'est pas utilisé dans la vérification DSN — il sert un objectif administratif distinct — mais le capturer dans la même ligne du tableur permet de conserver toutes les données du bulletin de paie au même endroit pour référence future.

Puis-je extraire uniquement des mois spécifiques — par exemple, seulement les bulletins de décembre pour les cumuls annuels ?

Oui. Si votre objectif est le rapprochement annuel, vous n'avez besoin que du bulletin de paie de décembre — qui liste tous les cumuls annuels en bas. Téléchargez uniquement les fichiers de décembre et définissez des colonnes pour les champs de cumul : Cumul Brut, Cumul Net Imposable, Cumul Heures, Cumul PAS. Cela vous donne les totaux de l'année complète en une seule ligne par salarié, sans traiter 12 mois de données.

Qu'en est-il des régimes spécifiques — cadres, VRP ou apprentis ?

La paie française comporte des régimes de cotisations distincts pour les cadres (cotisations AGIRC-ARRCO tranche B supplémentaires, taux de prévoyance différents), les VRP (code risque URSSAF spécifique 511TG) et les apprentis (exonérations sur la plupart des cotisations). Si votre extraction couvre plusieurs catégories de salariés, définissez des colonnes séparées pour les champs propres aux cadres — par exemple, Cadre Retraite Complémentaire Tranche B — et laissez ces cellules vides pour les non-cadres. L'outil d'extraction ne renseigne une cellule que s'il trouve le champ correspondant sur le bulletin. Les cellules vides ne sont pas des erreurs ; elles reflètent fidèlement l'absence de cette catégorie de cotisation.

Cela fonctionne-t-il pour les bulletins manuscrits ou scannés, pas seulement les PDF natifs ?

Oui — l'IA lit la mise en page visuelle, pas les couches de texte intégrées. Un bulletin de paie scanné (imprimé puis re-numérisé), une photo prise avec un smartphone ou une capture d'écran JPEG d'un portail paie passent tous par le même pipeline d'extraction sémantique. Les annotations manuscrites sur un bulletin imprimé — comme une note du manager — ajoutent du bruit visuel mais n'empêchent pas l'IA de trouver les libellés de champs imprimés. Cependant, les scans très dégradés (papier froissé, inclinaison extrême, dégâts des eaux) réduisent la précision. Le même principe s'applique à l'extraction de fiches de paie de tout fournisseur de paie — le format importe moins que la lisibilité.

En quoi l'extraction diffère-t-elle de l'export d'un registre de paie depuis Silae ou PayFit ?

Un export du registre de paie depuis Silae ou PayFit contient les données dans le logiciel. Mais cet export reflète ce que le logiciel a calculé — pas nécessairement ce que le bulletin PDF du salarié montre physiquement. Ces deux éléments peuvent diverger : un ajustement manuel effectué après la génération du bulletin, une correction appliquée le mois suivant, ou un écart de version entre la base de paie et l'archive PDF. Extraire les données directement des bulletins de paie PDF vous donne le document réellement remis au salarié — qui est le document légal au sens de l'article L3243-1. L'export du logiciel est le calcul ; le bulletin PDF est la preuve. Pour l'extraction du registre de paie, la même logique de vérification s'applique — le registre est l'agrégat, les bulletins sont la preuve.

Un bulletin de paie français comporte plus de 30 données imposées par l'un des systèmes de paie les plus réglementés au monde. L'extraction vous donne les données. Des colonnes de vérification calculées — ancrées aux taux URSSAF — vous disent si elles sont correctes. Les deux doivent coexister dans le même flux de travail.

Essayer sur un bulletin de paie
📮 contact email: [email protected]