株式会社プレラナ
難易度 士業(社労士・税理士)管理・経理確認・チェックの負担が大きい

給与計算のチェック自動化(勤怠突合・異常値検知)

勤怠集計データと給与計算結果を突き合わせ、不整合と異常値を一覧で出す処理をAIに書かせ、毎月同じ観点で確認できるようにします。

士業(社労士・税理士)の現場で、給与計算のチェック自動化(勤怠突合・異常値検知)に取り組んでいる様子
対象部署
給与計算担当
使う技術
ChatGPT または Claude(チェック処理のスクリプト生成) / Python(pandas による2ファイルの突合と異常値抽出) / 勤怠システムと給与ソフトからのCSV出力 / Googleスプレッドシートでのチェック結果の共有
必要な入力データ
勤怠集計データ(csv・社員番号/出勤日数/時間外・深夜・休日の各労働時間) / 給与計算結果データ(csv・社員番号/各支給項目/各控除項目/差引支給額) / 前月の給与計算結果データ(比較用) / チェック観点の一覧(ベテランが何を見ているかを書き出したもの)

Before / After

人がやる場合と、AIを使った場合

効果だけを並べても判断できません。まず「今どうやっているか」を具体的に書きます。タブを切り替えて読み比べてください。

勤怠システムから集計表を出力し、給与ソフトの計算結果と並べて画面に表示します。担当者は上から順に、社員1名ずつ目で確認します。ベテランは先に時間外労働の急増と欠勤のある月を見ます。経験の浅い担当者は、どこから見るべきかが分からず、全項目を順に追います。50名規模の顧問先で1〜2時間かかります。20社を担当していれば、給与計算日の前後は他の仕事が止まります。見落としは顧問先からの指摘で判明することが多く、その月の給与を訂正する連絡から始まります。チェック観点が言葉になっていないため、担当者が変わると見る場所も変わります。

人がやる場合とAIを使った場合を、軸ごとに並べた表です。
比較する軸人がやる場合AIを使った場合
所要時間50名規模の顧問先1社あたり、目視での確認に1〜2時間かかります。突合処理の実行は1分未満で終わり、抽出された差異の確認に15〜30分かかります(自社での実測が必要です)。
関わる人数給与計算担当1名と、ベテランによる再確認1名です。担当者が不安な月は2名で見ます。給与計算担当1名です。差異の判断が分かれた行だけ、ベテランが確認します。
起きるミス見る観点が担当者ごとに違い、疲れによる見落としも起きます。誤りは顧問先からの指摘で初めて判明します。チェック観点に入れていない誤りは拾えません。また、正常な変動まで差異として大量に出すことがあります。
必要なスキル経験に基づく「どこを先に見るか」の勘が要ります。チェック観点を条件式として書き出す力と、差異が誤りか正常かを判断する力が要ります。

効果の見込み

AIツールを紹介する記事では、勤怠データの取得から明細作成までを自動化した場合に給与計算の所要時間が6割減ったとする報告が紹介されています(媒体報告値)。ただし、その範囲には計算そのものの自動化が含まれており、本事例のチェック工程だけを指す数値ではありません。自社では、担当顧問先3社について「目視確認にかけた時間」と「顧問先からの指摘で判明した誤りの件数」を3か月記録し、導入後の同じ3社と比較してください(要実測)。

Steps

実際にやること

読んだ方がそのまま試せる粒度で書いています。出し惜しみはしません。各手順の説明とプロンプト例は「くわしく見る」を開くと読めます。

  1. 01

    ベテランが見ている観点を、条件の形で書き出す

    くわしく見る

    最初にやるのは、勘の言語化です。「時間外手当が勤怠の時間外労働時間と合わない」「欠勤があるのに基本給が満額」のように、条件と判定を書き出します。まず15〜20項目を目指します。書き出すときは、判定の閾値も決めます。前月比の変動なら何パーセント以上を拾うかまで決めます。閾値がないと、処理を書くときに詰まります。

  2. 02

    2つのCSVの列名と型をそろえる

    くわしく見る

    勤怠システムと給与ソフトでは、社員番号の桁数や氏名の表記が違うことがあります。突合の鍵になる社員番号は、必ず文字列として扱います。先頭の0が落ちる事故を防ぐためです。金額列にカンマや円記号が入っている場合は、数値に変換する処理を先に入れます。この下ごしらえを飛ばすと、突合の結果が全件不一致になります。

  3. 03

    チェック処理をAIに書かせる

    くわしく見る

    書き出した観点をそのままAIに渡し、Pythonの処理を作らせます。実データは渡さず、列名と観点だけを渡します。出力の形式を先に決めておくことが重要です。

    プロンプト例

    あなたはPythonでデータ処理を書く担当者です。給与計算のチェック処理を作ってください。
    
    入力は次の3ファイルです(すべてCSV・UTF-8)。
    1. 勤怠集計:列は 社員番号, 氏名, 所定労働日数, 出勤日数, 欠勤日数, 所定内労働時間, 時間外労働時間, 深夜労働時間, 休日労働時間, 有給取得日数, 遅刻早退時間
    2. 給与計算結果:列は 社員番号, 氏名, 基本給, 役職手当, 通勤手当, 時間外手当, 深夜手当, 休日手当, 課税支給合計, 健康保険料, 厚生年金保険料, 雇用保険料, 所得税, 住民税, 控除合計, 差引支給額
    3. 前月の給与計算結果:2と同じ列
    
    出力は1つのCSVとし、列は 社員番号, 氏名, チェック項目, 期待値, 実測値, 差異, 深刻度 の7列にしてください。
    
    実装するチェックは次のとおりです。
    - 勤怠に時間外労働時間があるのに、時間外手当が0円
    - 勤怠に深夜労働時間があるのに、深夜手当が0円
    - 勤怠に休日労働時間があるのに、休日手当が0円
    - 欠勤日数が1日以上あるのに、基本給が前月と同額
    - 勤怠側にいるが給与側にいない社員番号、およびその逆
    - 差引支給額が前月比で20パーセント以上変動している
    - 通勤手当が前月と異なる
    - 控除合計と各控除項目の合計が一致しない
    - 課税支給合計と各支給項目の合計が一致しない
    
    条件:
    - 社員番号は文字列として読み込んでください(先頭の0を保持)
    - 金額列のカンマと円記号を除去してから数値に変換してください
    - 深刻度は「要確認」「参考」の2段階とし、金額の不一致は「要確認」、前月比の変動は「参考」としてください
    - 該当がない場合も、ヘッダ行のみのCSVを出力してください
    - コードにはコメントを日本語で書いてください
  4. 04

    過去の月のデータで検証する

    くわしく見る

    誤りが分かっている過去の月を使って処理を回します。実際に訂正した月があれば、その月が最適です。処理がその誤りを検出できるかを確かめます。検出できなければ、観点が足りないのか閾値が緩いのかを切り分けます。3か月分で試し、拾いすぎと拾えなさすぎの間で閾値を調整します。この往復が精度を決めます。

  5. 05

    差異の判断結果を記録し、翌月に持ち越す

    くわしく見る

    出力されたチェック結果に「判断」「判断者」「理由」の3列を足します。正常と判断した行には理由を1行書きます。「中途入社のため前月比の変動は正常」といった内容です。この記録を残すと、翌月に同じ行が出たときの確認が数秒で終わります。同じ理由が3か月続く場合は、その社員を対象外にする条件を処理に追加します。

  6. 06

    手順書を作り、担当者2名以上が実行できる状態にする

    くわしく見る

    スクリプトの置き場所、CSVの出力手順、実行コマンド、結果の見方を1枚の手順書にまとめます。作った本人以外の担当者に、手順書だけで実行してもらいます。詰まった箇所を書き足します。この工程を経ないと、作った人が休んだ月に元の目視確認へ戻ります。属人化の解消は、手順書を他人が実行できて初めて成立します。

Sample Data

この事例で使うサンプルデータ

実際に手を動かして試せるよう、サンプルを用意しています。すべて架空のデータです。お客様の実データは一切使用していません。

  • CSV

    260620_ハルカゼ食品_勤怠集計_2026年6月度.csv

    突合の入力その1。勤怠システムから出力した月次集計です。

    このファイルをダウンロード

  • CSV

    260620_ハルカゼ食品_給与計算結果_2026年6月度.csv

    突合の入力その2。給与ソフトから出力した計算結果です。勤怠集計と社員番号・氏名が完全に一致します。

    このファイルをダウンロード

  • CSV

    チェック結果_ハルカゼ食品_2026年6月度.csv

    突合処理が出力するチェック結果の見本。上記2ファイルの内容と一致します。

    このファイルをダウンロード

一式をまとめた形は、業界別レポートに同梱してお渡ししています。

Pitfalls

つまずきやすい点

精度が出ないときにどこを見るか。ここが分かるかどうかで、定着するかが決まります。見出しを開くと、確かめる箇所が読めます。

社員番号の先頭の0が落ちて、突合が全件不一致になる
CSVを表計算ソフトで開くと、社員番号が数値として扱われます。0001が1になり、2つのファイルで一致しなくなります。読み込み時に社員番号を文字列として指定してください。表計算ソフトで開いて保存し直すと型が変わるため、CSVは編集せずそのまま処理に渡す運用にします。この1点で、導入初日につまずく事例が多く見られます。
正常な変動まで差異として出力し、確認の手間が増える
中途入社、休職からの復帰、有給の集中取得では、前月比が大きく動くのが正常です。閾値を厳しくすると、確認すべき行が正常な行に埋もれます。深刻度を2段階に分け、金額の不一致は「要確認」、前月比の変動は「参考」として並べ順を分けてください。正常と判断した行の理由を記録し、翌月以降は対象外にする条件を追加していきます。
チェック観点に入れていない誤りは、いつまでも拾えない
処理が出す結果は、書き出した観点の範囲までです。観点にない誤りは、これまでと同じく目視でしか見つかりません。顧問先から訂正の指摘を受けたら、必ずその内容を観点として追加してください。追加のたびに処理を書き換えるため、スクリプトの版数と更新日を記録する運用にします。四半期に1回、観点の一覧を見直す時間を予定に入れてください。
実際の給与データを、そのまま外部のAIサービスに貼り付けてしまう
処理を作らせる段階でAIに渡すのは、列名とチェック観点だけで足ります。氏名と金額の入った実データを貼り付ける必要はありません。処理の実行は、事務所内のパソコンで行います。動作確認は、氏名と金額を架空の値に置き換えたテストデータで行ってください。この線引きを手順書の冒頭に書き、担当者が判断に迷わない形にします。

Related

士業(社労士・税理士)の他の事例

次は「助成金の要件チェックと申請書類のドラフト」を読んでください。助成金の申請では、賃金台帳と出勤簿を証拠書類として提出します。給与計算のチェックで整えたデータは、そのまま申請時の突合にも使えます。同じCSVを2つの用途で使う形にすると、出力の手間が1回で済みます。

士業(社労士・税理士)のページに戻る

士業(社労士・税理士)のAI活用レポートをお送りします

この事例を含む5つの活用事例と、サンプルデータをまとめた資料です。社内での共有にお使いいただけます。