フランスの給与明細書データを
Excelに抽出する方法
フランスの会計事務所が新規クライアントの給与計算を引き継ぐ際、最初に要求する書類は総勘定元帳ではありません。それは、全従業員の12ヶ月分の給与明細書です。各PDFは、毎月のDSN(社会保険名義申告)を反映したものです。DSNは、デクレ n°2016-611に基づき2017年1月以降、URSSAF、CNAV、CPAM、Pôle Emploiに送信される単一の電子申告です。12月の給与明細書のグロス給与がDSNの合計と一致しない場合、会計事務所が決算を確定する前に、その差異を特定し説明する必要があります。ボトルネックは給与明細書を読むことではありません。1枚の明細書につき3分かけて、グロス(総支給額)、CSG控除対象額(控除対象社会保険料)、手取り額を手作業でスプレッドシートに入力し、それをさらに49人の従業員、12ヶ月分繰り返すことです。
重要ポイント
- 給与明細書1枚あたり3分かかる場合、50人の従業員がいる企業では、法定16項目をExcelに入力するだけで毎年30時間を費やしており、その後の検証作業はまだ始まっていません。
- 30時間の入力作業を経ても、会計士はまだ承認できません。DSNの照合では、給与明細書PDFと電子申告の間でグロス給与、CSG控除対象額、課税対象手取り額が一致する必要があり、1つの社会保険料の分類ミスが月全体を狂わせるからです。
- 1つの計算列「CSGチェック = グロス給与 × 98.25% × 9.2% − 抽出CSG」により、ImageToTable.aiは抽出時に±1ユーロを超える行をフラグ付けし、600行のスプレッドシートを3行の調査リストに変えます。
フランスの給与明細書(Bulletin de Paie)がヨーロッパで最も複雑なデータ抽出対象文書の一つである理由
フランスの給与明細書は、データ抽出ツールのために作られたものではありません。コンプライアンスのために作られています。そして、ヨーロッパでも最高水準の雇用主負担社会保険料で賄われるフランスの社会保障制度は、拠出金の一ユーロに至るまで追跡可能であることを要求します。労働法典R3243-1条に基づき、16項目の記載が義務付けられています。さらに、R3243-4条に基づき、5行の記載が禁止されています。雇用主はストライキ時間をそのまま表示したり、労働時間と労働組合活動時間を区別して表示したりすることはできません。違反した給与明細書には、1枚あたり最大450ユーロの罰金が科せられます。
この法的な厳格さが、ごくわずかな控除項目しかない英語圏の給与明細書向けに設計された一般的なOCRツールでは対応できない、3層の抽出困難を生み出しています。
- 3セクション構成。 フランスの給与明細書は、上部(雇用主と従業員の情報 — SIRET、NAFコード、労働協約)、本体(総支給額 → 社会保険料 → 手取り額)、下部(年間累計、休暇残高、純社会保険額)に分かれています。各セクションで異なるタイポグラフィの規則が使用され、同じフィールド名「Total」が、本体では小計として、下部では年間累計として、ヘッダーでは参照番号として表示されます。座標ベースのテンプレートで「上から2番目のTotal」を拾おうとすると、Silaeで生成されたPDFとPayFitで生成されたPDFでは、異なる数値を取得してしまいます。
- 5つの必須社会保険料グループ。 2018年の簡素化改革により、従来約50行あった社会保険料は、Santé(健康)、Accidents du travail(労働災害)、Retraite(年金 — 社会保障制度上限内・上限超過分、および補足年金AGIRC-ARRCO)、Famille(家族)、Chômage(失業)の5つのカテゴリに統合されました。しかし、各グループには現在も従業員負担分と雇用主負担分が別々の列に表示されています。CSG(一般社会拠出金)とCRDS(社会債務返済拠出金)は、独自の計算ベース(総給与の98.25%、100%ではない)を持つ独自のセクションに配置されています。すべての「社会保険料」行を単一の税額列として扱う抽出方法では、従業員負担と雇用主負担が混ざり合い、どちらの当事者にとっても意味のない数値になってしまいます。
- 課税対象手取り額 ≠ 手取り額。 従業員の年間税務申告書に表示される金額(課税対象手取り額)は、銀行口座に振り込まれる金額(手取り額)とは異なります。課税対象手取り額 = グロス給与 − 控除対象社会保険料 + 非控除CSG(2.4%部分) + CRDS(0.5%)です。手取り額 = 課税対象手取り額 − 源泉徴収所得税(PAS) + 払い戻し金(交通費、食事券)です。単一の「手取り額」列を出力する一般的な抽出では、法的に異なる2つの数値が混同されます。この区別は、DSNが課税対象手取り額を使用する一方、従業員の銀行取引明細書には手取り額が反映されるため、重要です。
これらは例外的なケースではありません。2018年1月以降、すべての企業で簡素化された給与明細書(bulletin de paie clarifié)形式が義務化されて以来、フランスの雇用主が発行するすべての給与明細書の標準的な構造です。この改革により、給与明細書の行数は約50行から約20行へと短くなりましたが、抽出が容易になったわけではありません。拠出金を5つの見出しにグループ化したことでレイアウトは再編成されましたが、給与計算ソフトウェアベンダー間で標準化されることはありませんでした。
R3243-1条が定める16の必須項目 — 各項目をスプレッドシートの列にマッピング
抽出用の列を設定する前に、法的な項目一覧を把握する必要があります。R3243-1条には、すべての給与明細に必ず記載しなければならない項目が列挙されています。以下の各項目は、抽出ワークフローで定義する列名に対応します。
| R3243-1条 項目 | フィールド | 推奨列名 | DSN検証での役割 |
|---|---|---|---|
| 1° | 事業主の名称および住所 | Employer Name (Nom Employeur) | SIRET登録と一致する必要あり |
| 2° | NAF/APEコード + SIRET | SIRET | DSNの事業主識別子(基本) |
| 3° | 適用される協定(convention collective) | Convention Collective | 保険料率の決定に使用 |
| 4° | 従業員の氏名および職位 | Employee Name (Nom Salarié) | NIR(社会保障番号)と一致する必要あり |
| 5° | 社会保障番号(NIR) | NIR | DSNの従業員ブロック識別子 |
| 6° | 等級(係数) | Classification (Coefficient) | 基本給テーブルの決定に使用 |
| 7° | 支給期間および労働時間 | Pay Period (Periode), Hours Worked (Heures Travaillees) | DSN:拠出金計算のための時間数 |
| 8° | 時間外労働時間 + 割増率 | Overtime Hours (Heures Sup), Overtime Rate (Taux Majore) | 時間外労働に対する税制優遇 |
| 9° | 総支給額(salaire brut) | Salaire Brut | すべてのDSN拠出金計算の基礎 |
| 10° | 給与付加給の種類と金額 | Accessories (Accessoires Salaire) | 賞与、歩合、現物給付など |
| 11° | 従業員負担分の社会保険料(グループ別) | Cotisations Salariales | DSNの従業員拠出ブロック |
| 12° | 事業主負担分の社会保険料(グループ別) | Cotisations Patronales | DSNの事業主拠出ブロック |
| 13° | 課税対象純額(net imposable) | Net Imposable | DGFiP(税務当局)への年間データ提供 |
| 14° | 差引支給額(net à payer) | Net a Payer | DSN最終調整の確認ポイント |
| 15° | 源泉徴収(PAS)— 税率と金額 | PAS Rate (Taux PAS), PAS Amount (Montant PAS) | DGFiPから通知される個別税率 |
| 16° | 支払日 | Payment Date (Date Paiement) | DSN月次報告の基準日 |
会計事務所が年間の給与を照合する場合、これら16項目は従業員50名で600行のデータ、つまり9,600のデータポイントを形成します。SIRETが1つでも一致しなかったり、Cotisations Salarialesの列が1つでもずれたりすると、何時間もの手作業による修正が必要になります。抽出ツールは、各フィールドを画面上の位置ではなく、その意味に基づいて取得する必要があります。
R3243-4条により、ストライキ活動の記載、労働時間と組合代表時間の区別、従業員の切断する権利やその他の社会的権利の行使に関する言及の5項目が明示的に禁止されています。これらの禁止事項は抽出に直接影響しませんが、準拠した給与明細では「Grève(ストライキ)」ではなく「Absence non rémunérée(無給欠勤)」のような中立的なラベルが使用されることになります。これにより、AIがPDF上で認識するテキスト文字列が変わります。
給与計算ソフトウェアの状況 — Silae、PayFit、ADPが構造的に異なるPDFを生成する理由
R3243-1条は記載すべき内容を定めていますが、レイアウト方法は定めていません。政府が定めたテンプレートは存在せず、フランスの給与計算ソフトウェア市場では5つのベンダーがそれぞれ独自のPDFレンダリングエンジンで市場を支配しています。
| ソフトウェア | 市場での位置づけ | PDF出力形式 | 抽出の課題 |
|---|---|---|---|
| Silae | リーダー — フランス民間部門の給与計算の30%以上で公認会計士が使用 | コンパクトな2段組レイアウト、密集したグループ化 | 社会保険料が1つのブロックに統合。CSGとCRDSは、業種別協定(convention collective)によって異なる行ラベルを共有 |
| PayFit | 中小企業向けモダンSaaS、シングルカラムのレスポンシブデザイン | シングルカラム、広めの間隔、Webフォントレンダリング | ネットソーシャル額がテンプレートツールでは見逃されがちなサイドバー列に配置。PAS行が別ページになる場合あり |
| Sage Paie | Sageエコシステム(Sage 50、Sage 100)の中小企業、小売・サービス業で強い | セクションヘッダー付きの複数セクション、従来の表形式レイアウト | 雇用主負担の社会保険料がメイン表の下のセクションに表示され、一部のOCRエンジンが「フッターコンテンツ」としてスキップ |
| ADP | 大企業および多国籍企業向け | 複数ページの詳細内訳、特定の制度向けの別紙付き | 課税対象額(net imposable)と手取り額(net à payer)が異なるページに表示されることが多い。従業員区分(管理職 vs 非管理職)により補足ページあり |
| Cegid RH | ミッドマーケット向け、完全なHRISを目指す | 標準化されたブロック、Cegid製品バージョン間で一貫性あり | 休暇残高表が本文とフッターセクションの間に挿入され、線形OCRが依存する垂直方向の流れを分断 |
実務上の影響:10社のクライアントを持ち、それぞれが異なる給与計算プロバイダーを使用している(または同じプロバイダーでも設定が異なる)会計事務所は、ソフトウェアごとに1つのテンプレートを作成しても、バージョンアップに耐えられません。Silae、PayFit、Sageはそれぞれ定期的にPDFレイアウトを変更します。テンプレートベースの抽出は機能しなくなります。意味ベースの抽出 — AIが「Salaire Brut」をピクセル座標ではなくラベルの意味で探す方法 — は機能し続けます。
これは、韓国の給与明細書抽出を困難にしているのと同じ課題です。法律が内容を定めているにもかかわらず、Douzone、ECOUNT、PAYZONでそれぞれ表示形式が異なります。フランスの状況はさらに深刻で、DSN(月次電子申告)による検証レイヤーが追加されるため、抽出データは5つの政府機関に送信された月次電子申告と照合可能でなければなりません。
ステップバイステップ:フランスの給与明細データを検証可能なExcelファイルに抽出する
このワークフローは、単一の前提に基づいています。抽出は、列が揃った時点では完了しません。列がDSNとクロスチェックできるようになった時点で完了です。以下の手順は、Silae、PayFit、Sage、ADP、Cegidからエクスポートされた給与明細PDFがフォルダにあり、会計士が読み取るだけでなく検証できるようにスプレッドシートを構成する必要があることを前提としています。
ファイルは安全に処理され、保存されることはありません。
給与明細ファイルをアップロード — デフォルトは一括処理
すべてのPDFをドラッグ&ドロップ — 従業員1名の12ヶ月分でも、全従業員の50ヶ月分でも対応。対応形式はPDF、JPG、PNG。会計事務所が年次給与レビューを行う場合、一般的なアップロード数は600ファイル(従業員50名×12ヶ月)です。各ファイルは個別に処理されますが、1つのスプレッドシートに出力され、1行が1枚の給与明細に対応します。
DSN構造に合わせた列を定義
対象のチェックリストに表示されている列名を入力します。DSN検証に最低限必要な列は次の通りです:従業員名、SIRET、総賃金、被雇用者負担社会保険料合計、雇用主負担社会保険料合計、控除対象CSG、非控除対象CSG、CRDS、課税対象純給与、支払純額、PAS税率、PAS金額。これら12の列で、DSN月次ブロックを相互検証するのに十分な情報が得られます。ツールは各列名を意味的に解釈します — 「総賃金」は、Silaeが左上に配置してもPayFitが中央に配置しても、総賃金フィールドを特定します。
計算検証列を追加
CSGチェック(総賃金×98.25%×9.2%−抽出CSG)という列を作成します。これは計算列です — ツールが抽出時に計算を実行し、期待されるCSG額と抽出値の差を出力します。給与明細1枚あたり±1ユーロ以内の結果は、総賃金とCSGの抽出が正しい可能性が高いことを示します。5ユーロを超える結果は、抽出エラー、DSN入力エラー、または例外的なケース(免除、特定の業界協定による調整)を示します。計算列により、抽出がデータ取得タスクから、同じパスでデータ検証タスクに変わります。
エクスポートしてDSNと相互検証
Excel(XLSX)にエクスポートします。スプレッドシートには、給与明細1枚につき1行のデータが含まれ、列はDSN構造を反映しています。給与ソフトウェアまたはNet-entreprises.frから月次DSNエクスポートをインポートします。相互参照:給与明細の総賃金はDSN従業員ブロックの総賃金と一致する必要があります。給与明細の課税対象純給与はDSNの課税対象純額と一致する必要があります。PAS金額はDSNのPASブロックと一致する必要があります。CSGチェック列の偏差が1ユーロを超える行は、年次決算を認証する前に手動調査が必要な候補です。
抽出から検証へ — CSG、CRDS、PAS比率でDSNの不一致を発見する
抽出ステップでデータを取得し、検証ステップで信頼性を確保します。フランスの給与法、特にURSSAFが毎年公表するCSGとCRDSの税率は、生の抽出データを監査可能な出力に変換するための組み込みのクロスチェック計算式を提供します。
給与照合用スプレッドシートに含めるべき3つの検証比率と、設定可能な計算列の計算式は以下の通りです。
| 検証項目 | 計算式 | 許容誤差 | 誤差が示すもの |
|---|---|---|---|
| CSG合計 | グロス × 98.25% × 9.2% | ±€1 | グロス抽出エラー、免除の未考慮、または誤ったベース計算 |
| CSG控除対象額の内訳 | CSG合計 × (6.8/9.2) | ±€1 | CSG控除対象額と非控除対象額の誤分類 — 課税対象手取り額に直接影響 |
| CRDS | グロス × 98.25% × 0.5% | ±€0.50 | CRDSの計算ミス、または類似名称の別の拠出金項目を抽出した可能性 |
98.25%という係数は恣意的なものではありません。これはフランス法で定められたCSG算定基礎であり、雇用主が負担する補足的健康保険(共済保険)および退職金保険(福祉保険)のうち、免税基準額を下回る部分を除外するためのものです。従業員のグロス給与が€3,000の場合、CSG算定基礎は€2,947.50となります。CSG 9.2% = €271.17です。抽出されたCSGが€245だった場合、€26の差額は何かが間違っていることを示します — 抽出されたグロスが誤っているか、従業員に特定の免除があるか、DSNの入力が誤って計算された可能性があります。問題の内容を特定する前に、問題が存在することがわかります。これが抽出と検証の違いです。
これらの計算によるチェックは、会計士がフランスの請求書(ファクチュール)を抽出する際に行う作業に相当します。つまり、TVA税率を明細項目の合計と照合して、単なる総額ではなく、正しい税区分が抽出されたことを確認するのです。
会計事務所が実際に使うDSN-給与明細照合ワークフロー
抽出が完了し、検証用の列が整えば、スプレッドシートは単なる最終回答ではなく、2つのデータソース(給与明細PDFとDSNエクスポート)を構造的に比較する実務文書となります。以下が、フランスの会計事務所が実際に従う照合ワークフローです。
給与ソフトからDSNデータをエクスポート
Silae、PayFit、Sage Paie、ADP、Cegidなど、フランスの法令準拠給与プラットフォームはすべてDSNデータ抽出に対応しています。この抽出データには、従業員・月ごとに給与明細と同じ項目が含まれています。CSVでエクスポートし、抽出スプレッドシートと一緒に開いてください。
従業員NIR+給与期間で行を一致させる
社会保障番号(NIR、基礎登録番号)が一意のキーです。NIRと給与期間(période de paie)を使用して、各給与明細行を対応するDSN行に一致させます。特定の月に給与明細に対応するDSN行がない場合、それは警告サインです。DSNが送信されていない(遅延1ヶ月につき拠出額の5%の罰金)か、給与明細が別の期間のものです。
1ユーロ超の差異にフラグを立てる
給与明細とDSN列の間で、総給与、社会保険料(従業員負担分)、課税対象純額、手取り額を比較します。1ユーロを超える差異にはフラグを立ててください。CSGチェック計算列(絶対差の降順)でスプレッドシートを並べ替えます。上位の行が調査リストです。ほとんどの月でリストは空になります。その静けさこそが目的です。差異リストが空であれば、会計士は給与照合を数時間ではなく数分で承認できます。
5年間の保存義務 — なぜPDFフォルダより構造化Excelが優れているのか
労働法典第L3243-4条に基づき、雇用主はすべての給与明細の写しを5年間保存する義務があります。50名の企業の場合、それは3,000枚のPDFです。3,000枚のPDFフォルダには検索性がまったくありません。一方、同じPDFから抽出した3,000行のExcelファイルは、日付、従業員、拠出グループで検索、並べ替え、監査、フィルタリングが可能です。
ここに、抽出が単なる照合を超えた目的を持つ理由があります。2022年の元従業員が年金確認(キャリア再構成)のため年間累計額を請求した場合、人事部門はPDFアーカイブを探し回る必要はありません。ExcelシートをNIRでフィルタリングし、2022年の年間合計が記載された12月の行を確認し、1分以内に回答できます。抽出スプレッドシートは、企業独自のデジタル給与明細台帳となり、構造化され、検索可能で、5年間の保存義務に準拠し、かつデータ検索に実際に使用可能な形式となります。
FAQ — フランス給与明細データ抽出
AI抽出は、従来の詳細形式と2018年以降の簡略化形式の両方に対応できますか?
はい。2018年1月に導入された明確化された給与明細形式では、拠出金が「健康」「労働災害」「退職」「家族」「失業」の5つのカテゴリに分類されましたが、基礎となるフィールドラベル(総給与、課税対象純額、手取り額)は両形式で同じです。フィールドラベルを位置ではなく意味で読み取るセマンティック抽出ツールは、両方の形式で機能します。2018年以前の詳細形式(約50の個別拠出明細行)は、実際には抽出のためのより詳細なデータを提供します。簡素化改革は従業員にとっての視覚的な煩雑さを減らしましたが、DSNがすでに送信するデータポイントを削除したわけではありません。
ネットソーシャル額(montant net social)を含む給与明細でも抽出は機能しますか?
はい。2023年7月以降、フランスの給与明細にはネットソーシャル額(RSAや活動手当などの社会給付の受給資格を判断するための基準額)の表示が義務付けられています。この金額は、給与明細上では課税対象純額と手取り額の間に位置します。抽出ツールは、列を定義すれば、これを個別のフィールドとして取得できます。ネットソーシャル額はDSNの検証には使用されません(別の管理目的のため)が、同じスプレッドシート行に取得しておくことで、将来の参照のためにすべての給与明細データを一箇所にまとめられます。
特定の月のみ、たとえば年間累計額を得るために12月の明細だけを抽出できますか?
はい。年間照合が目的であれば、年末の年間累計額(cumul annuel)が記載されている12月の給与明細のみで十分です。12月のファイルのみをアップロードし、累計フィールド(年間総給与、年間課税対象純額、年間労働時間、年間PAS)の列を定義してください。これにより、12か月分のデータを処理することなく、従業員ごとに年間合計を1行で取得できます。
特定の従業員区分(幹部社員、VRP、見習い)の扱いは?
フランスの給与計算では、幹部社員(追加のAGIRC-ARRCOトランシェB拠出金、異なる prévoyance 率)、VRP(特定のURSSAFリスクコード511TG)、見習い(ほとんどの拠出金が免除)で異なる拠出制度があります。抽出対象が複数の従業員カテゴリにまたがる場合は、幹部社員専用フィールド(例:Cadre Retraite Complementaire Tranche B)用に別の列を設け、非幹部社員のセルは空白のままにしてください。抽出ツールは、給与明細に対応するフィールドが見つかった場合のみセルに値を入力します。空白セルはエラーではなく、その拠出区分が存在しないことを正確に反映しています。
手書きやスキャンされた給与明細(ネイティブPDF以外)でも機能しますか?
はい — AIは埋め込まれたテキストレイヤーではなく、視覚的なレイアウトを読み取ります。スキャンされた給与明細(印刷・再デジタル化)、スマートフォンで撮影した写真、給与ポータルのJPEGスクリーンショットなども、すべて同じ意味抽出パイプラインで処理されます。印刷された明細への手書き注釈(管理者のメモなど)は視覚的なノイズになりますが、AIが印刷されたフィールドラベルを見つけるのを妨げるものではありません。ただし、劣化の激しいスキャン(折れ目、極端な傾き、水濡れ)は精度を低下させます。この原則は、あらゆる給与プロバイダーからの給与明細抽出にも当てはまります — 形式よりも可読性が重要です。
SilaeやPayFitから直接給与台帳をエクスポートするのと、抽出はどう違いますか?
SilaeやPayFitからの給与台帳エクスポートには、ソフトウェア内部のデータが含まれています。しかし、そのエクスポートはソフトウェアが計算した内容を反映しているに過ぎず、必ずしも従業員のPDF給与明細に物理的に表示されている内容と一致するとは限りません。これらは乖離する可能性があります。給与明細生成後の手動調整、後月での修正適用、または給与データベースとPDFアーカイブ間のバージョン不一致などです。PDF給与明細から直接データを抽出することで、実際に従業員に交付された書類(フランス労働法典第L3243-1条に基づく法的記録)を取得できます。ソフトウェアエクスポートは計算結果であり、給与明細PDFは証拠です。給与台帳抽出についても、同じ検証ロジックが適用されます — 台帳は集計値であり、給与明細がその証明です。
フランスの給与明細書には、世界で最も厳格に規制された給与システムの一つによって義務付けられた30以上のデータポイントが含まれています。抽出によってデータを取得します。URSSAFの税率に基づいた計算検証列は、そのデータが正しいかどうかを教えてくれます。両方が同じワークフローに属しています。
給与明細書で試す