賃金台帳の名寄せ集計とPDF再生成
店舗ごとに分かれた賃金台帳を、氏名で名寄せして1人分に合算。
原本と同じ体裁のPDFを自動生成します。
手作業が始まる前に自動化した案件です。
賃金台帳(複数店舗)
BEFORE
AFTER
毎月の手作業
→
発生しない
着手前に自動化
- 対象
- 賃金台帳(複数店舗)
- 使用技術
- Python(pdfplumber/reportlab)
導入前の状況
賃金台帳は店舗ごとに出力されるため、複数の店舗を掛け持ちする従業員は、店舗の数だけ別々に載ります。 これを1人分にまとめるには、氏名を突き合わせながら金額・時間・日数を手で合算しなければなりません。
ご相談をいただいたのは、その手作業を始める前でした。 1か月分でおよそ1時間かかる見込みで、支給月ごとに毎回発生します。 さらに、人が目で名前を突き合わせる以上、取り違えや足し忘れが起こりうる作業でもありました。
やったこと
台帳PDFから座標をもとに数値を取り出し、氏名をキーに合算して、原本と同じ体裁のPDFを生成するツールを作りました。
- 名寄せのキーは氏名のみ。 従業員IDは店舗ごとに採番されていて、同じ番号が別人を指す例があったため使いません
- 金額は整数の和、時間は60進の和、日数は和と、項目の種類ごとに計算を分ける
- 社会保険料を合計した行を追加(表示専用。控除額合計や差引支給額には足し込まない)
- 出力は原本のレイアウトを踏襲。列の位置・罫線・文字サイズを実測して再現する
- 全データ行を原本の合計と突き合わせ、合わなければPDFを出力せず停止する
- 実行時にAIや外部APIを一切呼ばない。オフラインで完結する規則ベースの処理
顧客側の操作はPDFを選んで実行するだけで、ターミナル操作は必要ありません。
結果
| 導入前(見込み) | 導入後 | |
|---|---|---|
| 集計作業 | 1か月分で約1時間 | 発生しない |
| 氏名の突き合わせ | 人が目視で実施 | 自動。人が介在しない |
| 計算の検証 | 手計算で確認 | 原本の合計と自動で照合し、不一致なら停止 |
手作業が定着する前に仕組みへ置き換えたため、この集計作業は最初から発生していません。 時間の削減だけでなく、転記ミスや足し忘れという失敗の経路そのものが無くなります。
賃金台帳名寄せPDF生成Python