Claude Media
Claudeで労働者派遣事業報告書の集計を派遣実績から作る手順

Claudeで労働者派遣事業報告書の集計を派遣実績から作る手順

6月30日提出の労働者派遣事業報告書は、年度報告と6月1日現在の2本立てです。派遣実績の一覧から実人数・延べ件数・売上高を欄ごとに集計する手順を、Claudeへの指示と検算つきで解説します。

派遣事業の報告書(様式第11号)の集計は、派遣実績の一覧から欄ごとの数字を取り出す作業です。難しいのは計算ではなく、欄ごとに数え方が違うことにあります。実人数で数える欄、契約の延べ件数で数える欄、決算後の売上高を円単位で書く欄が、同じ報告書に並びます。

Claudeに任せやすいのは、この数え方の取り違えを防ぐ部分です。実績の一覧と記載要領を渡し、欄ごとの集計ルールを先に固定したうえで、集計コードと検算を書かせます。

提出する書類は年度報告と6月1日現在の2本立て

事業報告書の提出期限は、年度報告も6月1日現在の状況報告も毎年6月30日です。事業所ごとに作り、事業主管轄の労働局へ出します。労使協定を締結している派遣元事業主は、協定の写しも添えます。

様式第11号は、一枚の報告書に性格の違う2つの報告が入っています。

項目年度報告(Ⅰ)6月1日現在の状況報告(Ⅱ)
対象年度報告(Ⅰ)事業年度の実績6月1日現在の状況報告(Ⅱ)6月1日時点の状況
主な欄年度報告(Ⅰ)派遣労働者数、契約期間別件数、売上高、派遣料金と賃金、教育訓練、雇用安定措置6月1日現在の状況報告(Ⅱ)派遣労働者の実人数、業務別人数、登録者数、保険の適用状況
数え方の軸年度報告(Ⅰ)報告対象期間(決算期)の実績と期間末日現在6月1日現在の状況報告(Ⅱ)基準日1日だけの断面

派遣元事業主が決算期を6月以外に置いているときも、提出日は6月30日のままです。年度報告が扱うのは、事業年度の終了月の翌月以後で最初に来る6月30日までに提出する事業年度の分です。たとえば事業年度が6月に終わる事業主が提出する年度報告は、前年6月に終わった事業年度の分になります。

提出部数は事業所ごとに正本1通と写し2通です。報告書は第1面から第14面までで、記載要領は第10面以降にあります。

令和6年6月報告分から変わった点と、基準日のずれ

様式は令和6年6月報告分から改正されています。変わったのは売上高の欄です。「労働者派遣事業の売上高」と「請負事業の売上高」が、第1面の12・13から第2面のⅠ(2)・(3)へ移りました。記載要領にも、事業所ごとの売上高を書くことが明記されました。旧様式を使い回した集計シートは、売上高の置き場所を直す必要があります。

6月1日現在の基準日にも注意が要ります。記載要領では、6月1日が日曜なら6月2日、土曜なら6月3日の状況を書くと定めています。令和6年は6月1日が土曜で、6月3日(月)現在の人数を書く運用でした。

落とし穴

6月1日の人数を、そのまま6月1日で数えてしまう

土曜や日曜に当たる年は、6月1日で絞り込んだ人数が基準日の人数と一致しません。基準日を日付だけで渡すのではなく、曜日の補正ルールごとコードに入れておきます。

欄ごとに「何を数えるか」を先に決める

集計の失敗は、実人数と延べ件数を混ぜたときに起きます。記載要領の定義を、派遣実績の列に対応づけておきます。

欄数えるもの元データでの数え方
年度報告(1)派遣労働者数等数えるもの報告対象期間の末日現在の実人数元データでの数え方末日に雇用中の人を、重複なしで数える
(2)(3)売上高数えるもの決算後の金額、事業所ごと元データでの数え方円単位で書く。千円・万円単位や小数点は使わない
(5)① 派遣先事業所数数えるもの報告対象期間内の派遣先事業所の実数元データでの数え方派遣先事業所IDの重複を除いて数える
(5)② 契約期間別件数数えるもの期間内に締結した個別契約の延べ件数(区分は派遣期間の長さ)元データでの数え方契約1件につき1行。期間が複数あれば期間ごとに計上
(5)③ 主な派遣先数えるもの取引額上位5社元データでの数え方派遣先別の取引額を集計し、上位5社を取る
(9)派遣料金・賃金数えるもの1人1日(8時間)当たりの額元データでの数え方総額÷総労働時間で1時間当たりを出し、8倍して四捨五入
(8)雇用安定措置数えるもの措置ごとの延べ人数元データでの数え方同じ人に複数の措置をとれば、各欄にそれぞれ計上
6月1日現在 ①数えるもの基準日に派遣していた実人数元データでの数え方基準日に就業中の人を、重複なしで数える

派遣先事業所数が0件の年は、契約期間別件数の欄にある「労働者派遣契約がなかった」に○を付けます。この場合は上位5社の欄に書く必要がありません。

内数の関係も集計ルールに入れる

報告書には、他の欄の内数になる欄が多数あります。6月1日現在の業務別人数は、①の派遣労働者の実人数の内数です。日雇派遣労働者の業務別人数も、日雇派遣の人数全体の内数と定められています。合計が合わない場合は、集計か分類のどちらかが誤っています。この関係は、後の検算でそのまま使えます。

Claudeに渡す指示と、固定しておく集計ルール

プロジェクト指示やCLAUDE.mdに、集計ルールを一度書いておきます。記載要領から拾った次のような内容を、例として置けます(公式の記載要領に沿って組んだ指示文の一例です)。

## 労働者派遣事業報告書の集計ルール
- 入力は assignments.csv(1行=1人×1派遣契約)。氏名は含めない
- 基準日は6月1日。日曜なら2日、土曜なら3日に読み替える
- 人数は実人数。同じ worker_id は1人と数える
- 契約期間別件数は延べ件数。契約1行で1件
- 業務が複数ある人は、基準日時点で最も多く従事した業務に1回だけ計上
- 売上高は決算後の金額を事業所別に円単位で出す
- 出力は欄番号ごとの表と、内数チェックの結果

派遣労働者の氏名や住所は、集計には要りません。worker_idに置き換えた一覧を渡せば、個人情報を載せずに済みます。外部サービスに何を渡してよいかは、社内の情報管理規程で判断する事項です。

実績の一覧の列は、たとえば次のように揃えます。

  • worker_id、employment(無期・有期・日雇)、agreement_target(協定対象か)
  • site_id(派遣先事業所)、start、end、job_code(職業分類の中分類)
  • contract_id、contract_days(個別契約の派遣期間の日数)

集計コードを書かせて、手元で動かす

数字の集計は、Claudeに暗算させず、コードにして実行します。例えば基準日の補正と、基準日現在の実人数は次のような形になります(Claudeに書かせたコードの一例で、列名は上の一覧に合わせています)。

import pandas as pd
from datetime import date, timedelta
 
def reference_day(year: int) -> date:
    d = date(year, 6, 1)
    if d.weekday() == 5:  # 土曜 -> 3日
        return d + timedelta(days=2)
    if d.weekday() == 6:  # 日曜 -> 2日
        return d + timedelta(days=1)
    return d
 
assert reference_day(2024) == date(2024, 6, 3)
 
df = pd.read_csv("assignments.csv", parse_dates=["start", "end"])
ref = pd.Timestamp(reference_day(2027))
active = df[(df["start"] <= ref) & (df["end"] >= ref)]
 
headcount = active["worker_id"].nunique()
by_type = active.groupby("employment")["worker_id"].nunique()
print(headcount, by_type.sum(), sep=" / ")

assert の行は、令和6年の6月3日という公式の例と補正ロジックが一致するかを確かめるテストです。実行は次のコマンドで足ります。

python3 -I count_report.py

最後の print は、重複なしの人数と、雇用形態別の合計を並べます。両者が一致しなければ、同じ人が雇用形態の複数行に入っています。Claudeには「一致しない行をworker_id単位で列挙して」と続けて指示できます。

年度報告で数字がずれやすい欄

雇用安定措置は人数ではなく延べ人数

(8)欄は、同じ派遣労働者に複数の措置をとったとき、各措置の欄にそれぞれ計上します。このため、措置ごとの人数を足した数と、対象の派遣労働者数は一致しません。対象者数の欄との差は「複数の措置をとった人がいる」ことで説明できます。

期間の区分は、派遣先の同じ職場への派遣期間の見込みで分けます。同じ人が複数の区分に当たる場合は、当たる区分のすべてに計上します。前年度に直接雇用を依頼し、年度をまたいで雇用に結びついた場合は、当年度も依頼を行ったものとして記載します。ここは単純な年度内の集計では出ないため、前年度の報告書を並べて渡します。

雇用安定措置の義務の範囲は、労働者派遣事業の許可更新に必要な書類の点検で整理しています。

派遣料金と賃金は1日8時間当たりの平均額

(9)欄の派遣料金と賃金は、1人1日(8時間)当たりの額を書く欄です。実績の合計額をそのまま書くのではなく、記載要領の次の手順で換算します。

  1. 報告対象期間に派遣先から得た派遣料金の総額(消費税を含む)を、派遣労働者が従事した総労働時間数で割り、1時間当たりの金額を出す
  2. 8時間(1日)業務に従事したものとして、1時間当たりの金額から1日分を算定する
  3. 小数点以下は四捨五入する

賃金も同じ手順で、報告対象期間に派遣労働者へ支払った賃金の総額を総労働時間数で割ります。ここでの賃金は、労働基準法第11条の給料、手当、賞与など、名称を問わず労働の対償として支払うすべてのものです。賞与や手当を除いた基本給だけの集計では、記載要領の定義とずれます。

賃金の欄は、無期雇用・有期雇用のほかに協定対象派遣労働者の区分が分かれています。協定対象の行には、労使協定を結んでいる場合の協定対象派遣労働者の1人1日当たりの賃金を書きます。

業務別の行は、職業分類(中分類)ごとに書きます。「全業務平均」は、各業務の金額の単純平均です。従事した時間で重み付けした平均ではないので、時間の多い業務に引っ張られた値にはなりません。日雇派遣労働者は別の欄にあり、その全業務平均は、政令に掲げる業務に限らず、日雇派遣労働者が従事したすべての業務の単純平均です。

# 1人1日(8時間)当たりの額: 総額 ÷ 総労働時間 × 8、小数点以下は四捨五入
hourly = total_amount / total_hours
per_day = round(hourly * 8)

Pythonの round は、ちょうど .5のとき偶数側へ丸めます。「四捨五入」は .5を切り上げる意味なので、円の端数を厳密に合わせるなら decimal.Decimal の ROUND_HALF_UP を使うよう指示に入れておきます。

なお(10)欄のマージン率等の情報提供の状況は、該当する欄に○を付ける形式で、複数選択できます。集計は要りません。

教育訓練は数コースまでの上限がある

教育訓練は、コース単位で書きます。安全衛生教育は5コースまで、その他の教育訓練は3コースまでです。上限を超えるコースは別紙に書きます。1人当たり平均実施時間は、コースごとに受講した派遣労働者の平均を出す欄です。受講者全員の合計時間を人数で割る集計を、コース別に作ります。

売上高は決算確定後の金額

売上高は、事業所ごとの労働者派遣事業の売上高を、決算後の金額で書きます。請負事業を同じ事業所で行っているなら、請負事業の売上高も別の欄に書きます。月次の速報値を足し上げた数字ではなく、決算書の事業所別内訳を元に、円単位の数字を並べます。

6月1日現在で間違えやすい欄

業務別の人数は、最も多く従事した業務に1回

複数種類の業務に従事した派遣労働者は、基準日に最も多く従事した業務に計上します。業務の分類は最新の職業分類(中分類)に従います。同じ人を二重に数えないよう、worker_idごとに業務別の従事時間または日数を出し、最大のものを1つ選ぶコードにします。

様式には、派遣が禁止または限定されている業務に当たる区分への注記があります。たとえば医師などの医療従事者は、紹介予定派遣や産前産後休業の代替等の場合に限って派遣が認められています。業務別の人数に医師などが入っていたら、集計ミスではなく契約の適法性の問題かもしれません。

日雇派遣と登録者は別に数える

日雇派遣労働者は、日雇派遣の人数と、その内訳(高齢者、昼間学生、副業として従事する者、主たる生計者でない者)を書きます。複数の種類に当たる場合は、最も主たる理由と考えられるものに1回だけ計上します。

登録者の欄には、基準日に登録者だった人の実数を書きます。同日に派遣されている人も含み、過去1年以内に派遣されたことがない人は除きます。雇用保険と社会保険の適用状況は、基準日に派遣していた人についてだけ、保険の種類ごとに数えます。基準日に派遣していない人は除かれます。

提出前の検算を、Claudeに表にさせる

集計が終わったら、数字を報告書の欄に写す前に検算の表を作らせます。

  • 業務別人数の合計が、①の派遣労働者の実人数と等しいか
  • 無期と有期の人数の合計が、派遣労働者計と等しいか
  • 売上高が、決算書の事業所別内訳と円単位で一致するか
  • 契約期間別件数の合計が、総件数と等しいか
  • (9)欄の1日当たり額が、総額÷総労働時間×8の手計算と1円単位で一致するか(協定対象の行も含む)
  • 前年の報告書と比べ、人数や件数が大きく動いた欄はどこか

最後の項目は、集計ミスではなく事業の変化で動いた可能性もあります。前年の数字を並べて、動いた欄の理由をClaudeに仮説として挙げさせ、担当者が実績で確かめます。

同じ時期に出す、収支決算書など別の書類

6月30日に出す事業報告書とは別に、収支決算書(様式第12号)と関係派遣先への派遣割合を示す報告書(様式第12号の2)があります。この2つの提出期限は事業年度経過後3か月以内で、事業報告書とは期限が異なります。決算が3月の会社では、3つの書類の期限が6月に重なります。

収支決算書は、貸借対照表と損益計算書を添付すれば、記載に代えることもできます。関係派遣先への派遣割合は、関係派遣先での総労働時間を派遣労働者全体の総労働時間で割って出します。60歳以上の定年退職者は計算から除き、小数第一位未満の端数は切り捨てます。この割合は100分の80以下にする必要があります。事業報告書の人数の集計とは別に、時間ベースの集計列が要ります。

任せる範囲と、人が決める範囲

Claudeに向くのは、定義に沿った機械的な集計と、内数や合計の突き合わせです。一方、次の判断は人が行います。

  • 「同じ職場」の範囲や、特定の派遣先が関係派遣先に当たるかの判断
  • 業務が職業分類のどの中分類に当たるかの最終決定
  • 日雇派遣の例外や協定対象の派遣労働者に当たるかの判断
  • 労働局への提出区分や、様式の最新版の確認

様式には、入力支援ツール付きの版が厚生労働省のページに掲載されています。Claudeの集計結果を最後に流し込む先として使えます。集計の元になる派遣先の管理台帳の点検は、派遣先管理台帳の点検手順にまとめています。給与や源泉徴収票のような別の報告書との突合は、源泉徴収票と給与支払報告書の突合が同じ考え方で進められます。

まとめ

報告書の集計は、欄ごとの数え方を先に固定すれば、作業は機械的になります。最初に決めるのは基準日の補正と、実人数・延べ件数・円単位の売上高という3種類の数え方です。そのルールをプロジェクト指示に書き、集計はコードで実行し、内数の合計を検算で確かめます。次の6月30日までに、前年の報告書と今年の実績の列を揃えておくのが、最初の一歩です。

この記事を共有:XはてブLinkedIn