医療法人の事務局長をしています。職員数は300人ほど、事業所は15。毎月の給与計算は担当者が仕上げ、最後に私が確認する流れです。
以前はこの確認を、印刷した一覧表に定規を当てて目で追っていました。300人分を1行ずつ見ていくと、半日では終わりません。しかも、疲れてくると見落とします。
実際、ある月に深夜手当の設定が抜けていて、13名分の支給漏れが後から見つかったことがありました。金額にして100万円強。すぐに差額を振り込んで事なきを得ましたが、私が確認したはずの月です。目視は当てにならない、と思い知りました。
今は、この確認をPythonに任せています。
■ 何をチェックしているか
給与ソフトから出力できるCSV・テキストを材料に、こんな観点で機械的に洗い出しています。
・前月との差分
総支給・基本給・各種手当が前月と変わった人を全員リストアップします。昇給や入退職なら理由があるはずなので、「理由が説明できない変動」だけが残ります。
・単価の検算
夜勤手当、オンコール手当、休日出勤手当などは「回数×単価」で決まります。回数を勤怠データから拾い直し、支給額と合うかを計算し直します。
・勤怠データとの突合
勤怠システム(King of Time)のAPIから実績を取り、深夜時間・残業時間が給与側に正しく反映されているかを照合します。冒頭の支給漏れは、まさにここで見つかる類のものでした。
・按分ルールの検証
通勤手当は出勤日数が一定を下回ると按分になります。時給制の人、月の途中で入職した人は必ず按分。このあたりは人間が忘れがちな一方、条件が明確なのでプログラムが得意な領域です。
・閾値チェック
皆勤手当は遅刻早退の「回数」だけでなく「時間」でも判定が変わります。回数だけ見て支給してしまう事故が起きやすいので、両方見るようにしています。
■ 前月差分がいちばん効く
意外に思われるかもしれませんが、いちばん効くのは前月差分です。
給与計算の間違いの多くは「何かを変えたときに、変えるべき別の何かを変え忘れる」ことで起きます。手当だけ変えて社会保険の等級を直し忘れる、部署異動で手当の要件が変わったのに前月のまま、といったパターンです。
つまり、変動した箇所さえ全部あぶり出せば、確認すべき対象は300人から20〜30人に絞れます。あとはその20〜30人に理由があるかを見るだけ。ここまで絞れれば、目で見る作業も十分に信頼できます。
■ ただし、機械だけでも足りない
一方で、前月差分だけでは見つからない種類の間違いもあります。
先ほどの深夜手当の件は、実は前月も同じように0円でした。つまり差分は立たない。「ずっと間違っていた」ものは差分に出てきません。
なので、差分チェック(前月と比べる)と、絶対値チェック(勤怠実績から計算し直す)は両方必要です。片方だけだと、必ず抜けます。
■ 導入して変わったこと
・確認にかかる時間は半日から30分程度になりました
・「見た気になっていた」状態がなくなりました
・担当者に指摘を返すときも、根拠の数字が出るので話が早くなりました
あと、地味ですが効果が大きかったのは、チェック結果をExcelとPDFで残せるようになったことです。あとから「この月はどう確認したか」を説明できます。
■ 最初の一歩は「前月差分」だけでいい
もし同じような確認作業を抱えているなら、まずは前月差分だけをやってみることをおすすめします。給与ソフトから2か月分のデータを出して、職員ごとに支給額を比べるだけ。それだけでも、確認すべき人数は劇的に減ります。
全部を自動化しようとすると挫折しますが、前月差分だけなら小さく始められます。
給与計算だけでなく、勤怠・請求・帳票まわりの集計を自動化したい方は、ココナラの「医療・介護の事務をPythonで自動化します」「Excel集計・データ加工を自動化します」でご相談を受け付けています。現場で自分が使っているものを土台にしているので、業務の実情に沿った形でお渡しできると思います。お気軽にどうぞ。