Comment extraire les données d'un bulletin de paie français
vers Excel
Lorsqu'un cabinet d'expertise comptable reprend la paie d'un nouveau client, le premier document qu'il demande n'est pas le grand livre. Ce sont 12 mois de bulletins de paie pour chaque salarié. Chaque PDF reflète la DSN (Déclaration Sociale Nominative) mensuelle — 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 de la 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 salaire brut, la CSG déductible et le Net à payer dans une ligne de tableur — puis à recommencer pour 49 autres salariés, sur 12 mois.

Points clés
- À trois minutes par bulletin de paie, une entreprise de 50 salariés consacre 30 heures par an à saisir les seize champs légalement obligatoires dans Excel — avant même le début de toute vérification.
- 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 concordent entre le bulletin PDF et la déclaration électronique, et une cotisation mal classée suffit à fausser tout le mois.
- Une colonne calculée — CSG Check = Brut × 98,25 % × 9,2 % − CSG extraite — permet à ImageToTable.ai de signaler les lignes au-delà de ±1 € pendant l'extraction, transformant un tableur de 600 lignes en une liste de trois lignes à examiner.
Pourquoi le bulletin de paie français est l'un des documents les plus complexes à extraire en Europe

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 en vertu de 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 entraîne une amende pouvant atteindre 450 € par document.
Cette densité juridique crée trois niveaux de difficulté d'extraction que les outils OCR génériques — conçus pour des bulletins de paie anglophones avec une poignée de lignes de déduction — ne peuvent pas gérer :
- La structure en trois sections. Un bulletin de paie français se divise en haut (identité de l'employeur et du 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 sous-total, dans le bas comme cumul annuel, et dans l'en-tête comme numéro de référence. Un modèle basé sur les coordonnées qui récupère « le deuxième Total » depuis le haut obtiendra le mauvais chiffre sur un PDF généré par Silae versus un PDF généré par PayFit.
- Cinq groupes de cotisations obligatoires. La réforme de simplification de 2018 a regroupé les ~50 lignes de cotisations sociales précédentes 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) figurent dans leur propre section avec leur propre assiette de calcul — 98,25 % du salaire brut, et non 100 %. Une extraction qui traite toutes les lignes de « cotisation » comme une seule colonne de taxe mélangera les cotisations salariales et patronales en un chiffre qui ne signifie rien pour l'une ou l'autre partie.
- 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 de 2,4 %) + CRDS (0,5 %). Net à payer = net imposable − impôt sur le revenu prélevé à la source (PAS) + remboursements (transport, titres-restaurant). Une extraction générique qui produit une seule colonne « Net à payer » fusionne deux montants juridiquement distincts. Cette distinction est importante car la DSN (Déclaration Sociale Nominative) utilise le net imposable, tandis que le relevé bancaire du salarié reflète le net à payer.
Ce ne sont pas des cas isolés. Il s'agit de l'anatomie standard de chaque 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 bulletins de paie plus courts — d'environ 50 lignes à environ 20 — mais elle ne les a pas rendus plus simples à extraire. Le regroupement des cotisations sous cinq rubriques a réorganisé la mise en page sans la standardiser entre les différents logiciels de paie.
Les seize mentions obligatoires de l'Article R3243-1 — Associer chacune à vos colonnes de tableur
Avant de créer des colonnes d'extraction, vous avez besoin de l'inventaire légal. L'Article R3243-1 énumère précisément 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 flux d'extraction :
| Élément R3243-1 | Champ | Nom de colonne recommandé | Rôle de vérification DSN |
|---|---|---|---|
| 1° | Nom et adresse de l'employeur | Employer Name (Nom Employeur) | Doit correspondre au registre SIRET |
| 2° | Code NAF/APE + SIRET | SIRET | Identifiant employeur principal de la DSN |
| 3° | Convention collective | Convention Collective | Détermine les taux de cotisation |
| 4° | Nom et emploi du salarié | Employee Name (Nom Salarié) | Doit correspondre au NIR (numéro de sécurité sociale) |
| 5° | Numéro de sécurité sociale (NIR) | NIR | Identifiant du bloc salarié de la DSN |
| 6° | Niveau de classification (coefficient) | Classification (Coefficient) | Détermine la grille de salaire de base |
| 7° | Période de paie et heures travaillées | Pay Period (Periode), Hours Worked (Heures Travaillees) | DSN : heures pour le calcul des cotisations |
| 8° | Heures supplémentaires + taux majorés | Overtime Hours (Heures Sup), Overtime Rate (Taux Majore) | Exonération fiscale sur les heures supplémentaires |
| 9° | Salaire brut | Salaire Brut | Base de tous les calculs de cotisations DSN |
| 10° | Nature et montant des accessoires de salaire | Accessories (Accessoires Salaire) | Primes, commissions, avantages en nature |
| 11° | Cotisations salariales par groupe | Cotisations Salariales | Bloc cotisations salarié de la DSN |
| 12° | Cotisations patronales par groupe | Cotisations Patronales | Bloc cotisations employeur de la DSN |
| 13° | Net imposable | Net Imposable | Alimentation annuelle DGFiP (administration fiscale) |
| 14° | Net à payer | Net a Payer | Point de contrôle final de rapprochement DSN |
| 15° | Prélèvement à la source (PAS) — taux et montant | PAS Rate (Taux PAS), PAS Amount (Montant PAS) | Taux individualisé de la DGFiP |
| 16° | Date de paiement | Payment Date (Date Paiement) | Référence de la période mensuelle DSN |
Pour un cabinet d'expertise comptable qui rapproche une paie sur année complète, ces seize champs représentent 600 lignes de données pour 50 salariés — 9 600 points de données. Un SIRET erroné ou une seule colonne Cotisations Salariales mal alignée se transforme en des heures de correction manuelle. L'outil d'extraction doit saisir chaque champ selon ce qu'il signifie, et non selon sa position sur la page.
Cinq champs supplémentaires sont explicitement interdits par l'Article R3243-4 : toute mention d'activité de grève, toute distinction entre heures travaillées et heures de représentation syndicale, 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 manière de le présenter. Il n'existe aucun 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.
| Logiciel | Position sur le marché | Format d'export PDF | Difficulté d'extraction |
|---|---|---|---|
| Silae | Leader — utilisé par les experts-comptables pour plus de 30 % de la paie du secteur privé français | Mise en page compacte sur 2 colonnes, regroupement dense | Cotisations fusionnées en un seul bloc ; CSG et CRDS partagent un libellé de ligne qui varie selon la convention collective |
| PayFit | SaaS moderne pour PME, design responsive sur une colonne | Une colonne, espacement large, rendu avec polices web | Le montant du net social est placé dans une colonne latérale que les outils à modèle ignorent ; la ligne PAS figure parfois sur une page distincte |
| Sage Paie | PME de l'écosystème Sage (Sage 50, Sage 100), forte présence dans le commerce et les services | Multi-sections avec en-têtes de section, mise en page tabulaire classique | Les cotisations patronales sont rendues sous le tableau principal, dans une section que certains moteurs OCR ignorent comme « contenu de pied de page » |
| ADP | Grandes entreprises et multinationales | Détail sur plusieurs pages, annexes distinctes pour certains régimes | Le net imposable et le net à payer figurent souvent sur des pages différentes ; pages supplémentaires pour des catégories de salariés spécifiques (cadres vs non-cadres) |
| Cegid RH | Marché intermédiaire avec une ambition SIRH complète | Blocs standardisés, cohérents entre les versions des produits Cegid | Des tableaux de soldes de congés insérés entre le corps et les sections de pied de page, ce qui rompt le flux vertical dont dépend l'OCR linéaire |
La conséquence opérationnelle : un cabinet d'expertise 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 créer un modèle par logiciel et espérer qu'il survive à une mise à jour de version. Silae, PayFit et Sage modifient périodiquement la mise en page de leurs PDF. L'extraction basée sur un modèle échoue. L'extraction sémantique — où l'IA recherche « Salaire Brut » selon ce que le libellé signifie, et non selon des coordonnées en pixels — y parvient.
C'est le même défi qui rend l'extraction de bulletins de paie coréens difficile : la loi définit le contenu, mais Douzone, ECOUNT et PAYZON le présentent chacun différemment. La situation française est plus délicate car la DSN (Déclaration Sociale Nominative) ajoute une couche de vérification — les données extraites doivent être rapprochées d'une déclaration électronique mensuelle transmise à cinq organismes publics.
Étape par étape : extraire les données d'un bulletin de paie français vers un fichier Excel vérifiable
Ce flux de travail repose sur un principe unique : l'extraction n'est pas terminée lorsque vous avez des colonnes. Elle l'est lorsque les colonnes peuvent être recoupées avec la DSN. Les étapes ci-dessous supposent que vous disposez d'un dossier de bulletins de paie au format PDF — qu'ils proviennent 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.
Les fichiers sont traités en toute sécurité et ne sont pas conservés.
Téléchargez les fichiers de bulletins de paie — le lot est le mode par défaut
Glissez-déposez tous les PDF — qu'il s'agisse de 12 bulletins mensuels pour un salarié ou de 50 bulletins mensuels pour l'ensemble d'un effectif. L'outil accepte les PDF, JPG et PNG. Pour un cabinet d'expertise comptable réalisant une revue de paie annuelle, le téléchargement type est de 600 fichiers (50 salariés × 12 mois). Chacun est traité individuellement mais exporté dans un seul tableur — une ligne par bulletin.
Définissez les colonnes qui correspondent à la structure de la DSN
Saisissez les noms de colonnes tels qu'ils apparaissent dans votre liste de contrôle cible. Pour la vérification de la DSN spécifiquement, le jeu minimal est : Nom du salarié, SIRET, Salaire brut, Total des cotisations salariales, Total des cotisations patronales, CSG déductible, CSG non déductible, CRDS, Net imposable, Net à payer, Taux PAS, Montant PAS. Ces douze colonnes fournissent suffisamment d'indices pour recouper tout bloc mensuel de la DSN. L'outil lit chaque nom de colonne pour sa signification sémantique — « Salaire brut » trouve le champ du salaire brut, que Silae l'ait placé en haut à gauche ou que PayFit l'ait placé au centre.
Ajoutez une colonne calculée de vérification
Créez une colonne appelée Vérification CSG (Brut × 98,25 % × 9,2 % − CSG extraite). Il s'agit d'une colonne calculée — l'outil exécute le calcul pendant 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 dépassant 5 € signale soit une erreur d'extraction, soit une erreur de saisie dans la DSN, soit un cas particulier (exonération, ajustement spécifique de convention collective). Les colonnes calculées transforment l'extraction d'une tâche de saisie de données en une tâche de vérification de données en une seule passe.
Exportez et recoupez 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 de la DSN. Importez l'export mensuel de la DSN depuis le logiciel de paie ou Net-entreprises.fr. Recoupez : le salaire brut du bulletin doit correspondre au brut du bloc salarié de la DSN ; le net imposable du bulletin doit correspondre au net fiscal de la DSN ; le montant PAS doit correspondre au bloc PAS de la DSN. Toute ligne où la colonne de vérification CSG s'écarte de plus de 1 € constitue votre liste prioritaire d'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'étape d'extraction vous fournit des données. L'étape de vérification vous apporte la confiance. Le droit de la paie français — en particulier les taux CSG et CRDS publiés chaque année par l'URSSAF — offre des formules de recoupement intégrées qui transforment une extraction brute en résultat auditable.
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érification | Formule | Écart acceptable | Ce qu'indique un écart |
|---|---|---|---|
| CSG totale | Brut × 98,25 % × 9,2 % | ±1 € | Erreur d'extraction du brut, exonération non prise en compte ou calcul d'assiette incorrect |
| Répartition CSG déductible | CSG totale × (6,8/9,2) | ±1 € | Mauvaise classification entre CSG déductible et non déductible — impacte directement le net imposable |
| CRDS | Brut × 98,25 % × 0,5 % | ±0,50 € | Erreur de calcul de la CRDS ou extraction d'une autre ligne de cotisation à l'intitulé similaire |
Le facteur de 98,25 % n'est pas arbitraire — il correspond à l'assiette CSG, fixée par la loi française pour exclure les cotisations patronales de mutuelle et de prévoyance qui se situent sous le seuil d'exonération. Pour un salaire brut de 3 000 €, l'assiette CSG est de 2 947,50 €. La CSG à 9,2 % = 271,17 €. Si la CSG extraite affiche 245 €, l'écart de 26 € vous indique qu'un problème existe — soit le brut extrait est incorrect, soit le salarié bénéficie d'une exonération spécifique, soit la saisie DSN a été mal calculée. 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 lors de l'extraction de factures françaises : recouper les taux de TVA avec les totaux des lignes pour confirmer que l'extraction a bien capturé la ventilation correcte de la taxe, et non un simple total générique.
Le flux de rapprochement DSN-bulletin de paie réellement utilisé par les cabinets d'expertise comptable
Une fois l'extraction terminée et les colonnes de vérification en place, le tableur devient un document de travail — non 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 flux de rapprochement que suivent les cabinets d'expertise comptable français :
Exporter les données DSN depuis le logiciel de paie
Toute plateforme de paie française conforme — Silae, PayFit, Sage Paie, ADP, Cegid — peut exporter un extrait de données DSN. Cet extrait contient, par salarié et par mois, les mêmes champs que ceux figurant sur le bulletin de paie. Exportez-le en CSV et ouvrez-le en parallèle de votre tableur d'extraction.
Faire correspondre les lignes par NIR du salarié + 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 à l'aide du NIR et de la période de paie. Si un bulletin n'a pas de ligne DSN correspondante pour un mois donné, c'est un signal d'alerte — soit la DSN n'a pas été transmise (pénalité : 5 % des cotisations dues par mois de retard), soit le bulletin provient d'une période différente.
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 celles de la DSN. Signalez tout écart supérieur à 1 €. Triez le tableur par la colonne calculée Vérification CSG (par ordre décroissant de différence absolue). Les lignes en haut de liste constituent votre liste d'investigation. La plupart des mois, cette liste sera vide — et ce silence est précisément l'objectif. Une liste d'écarts vide signifie que l'expert-comptable peut valider le rapprochement de paie en quelques minutes plutôt qu'en plusieurs heures.
L'obligation de conservation de cinq ans — et pourquoi un Excel structuré vaut mieux qu'un dossier PDF

En vertu de l'Article L3243-4 du Code du travail, un employeur doit conserver une copie 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 recherchable, triable, auditable et filtrable par date, salarié ou groupe de cotisations.
C'est ici que l'extraction sert à autre chose qu'à la réconciliation. Lorsqu'un ancien salarié de 2022 demande son cumul annuel pour la vérification de sa retraite (reconstitution de carrière), le service RH ne fouille pas dans une archive PDF. Il filtre la feuille Excel par NIR, consulte la ligne de décembre pour les totaux annuels 2022 et répond en moins d'une minute. Le tableur d'extraction devient le registre numérique des bulletins de paie de l'entreprise — structuré, recherchable et conforme à l'obligation de conservation de cinq ans, dans un format réellement exploitable pour la recherche de données.
FAQ — Extraction des données de bulletins de paie français
L'extraction par IA peut-elle traiter à 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 identiques 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 la surcharge visuelle pour les salariés mais n'a pas supprimé de données que la DSN transmet déjà.
L'extraction fonctionne-t-elle avec les bulletins de paie comportant le montant net social ?
Oui. Depuis juillet 2023, les bulletins de paie français doivent afficher un montant net social — la référence utilisée pour déterminer l'éligibilité aux prestations sociales comme le RSA (Revenu de Solidarité Active) et la prime d'activité. Ce montant figure entre le net imposable et le net à payer sur le bulletin de paie. L'outil d'extraction le capture comme un champ distinct si vous définissez une colonne pour lui. Le montant net social n'est pas utilisé dans la vérification DSN — il répond à une finalité administrative distincte — mais le capturer dans la même ligne du tableur regroupe toutes les données du bulletin de paie au même endroit pour référence future.
Puis-je extraire uniquement certains mois — par exemple, seulement les bulletins de décembre pour les cumuls annuels ?
Oui. Si votre objectif est la réconciliation annuelle, vous n'avez besoin que du bulletin de paie de décembre — qui liste tous les cumuls annuels (cumul annuel) en bas de page. 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. Vous obtenez ainsi les totaux de l'année complète sur 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 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 strictement réglementés au monde. L'extraction vous fournit les données. Les colonnes calculées de vérification — ancrées aux taux URSSAF — vous disent si elles sont correctes. Les deux ont leur place dans le même flux de travail.
Essayer sur un bulletin de paie