中抜け・日跨ぎ・変形労働時間制・シフト勤務のような複雑な勤務でも、打刻を取り込むだけで自動で正確に集計することができます。
なぜなら、勤務を1分ずつに切り分け、その1分が深夜なのか時間外なのか休日なのかを判定した上で、日・週・月へ積み上げていく仕組みだからです。
本書はまずその仕組みを示し、そのあとイレギュラーな勤務を集めた事業所の1か月を月 → 週 → 日 → 打刻の順に実機の画面で追います。
多くのシステムで手作業が残るのは、「集計してから直す」作りだからです。このシステムは順番が逆で、 打刻を先に1分ごとの記録へ整えてから集計します。整える段階でひとつひとつの1分に理由が付くので、 あとから合計を直す必要が生まれません。
人が関わるのは入口の打刻と最後の「確認する → 確定する」だけです。あいだはすべてシステムが進めます。
打刻機のファイルや他システムから受け取ります。誤りは元を残したまま修正します。
出勤・退勤・休憩の順に読み、労働日ごとに区切ります。日付が変わっても労働日は始業した日のままです。中抜けは同じ日の勤務として扱います。
働いた時間を1分に刻み、22時・0時・5時・所定の終わり・法定8時間の境目で分けます。1分ごとに深夜か・休日か・割増の区分と率・その理由が付きます。
労働日で束ねて日次、週の起算日で束ねて週次、社員と事業所の月へ。週40時間超や法定休日の確保は週の段で決まります。
36協定・連勤・勤務間インターバル・改善基準告示と照らし合わせ、根拠となる条文つきで違反・警告を残します。人は確認して確定するだけです。
下は実際にシステムに残っている記録です。夜22時に出勤して翌朝7時に退勤した日が、どう刻まれるかを見ます。
どの1分がどの項目になるかは、事業所の設定と雇用契約が決めます。プログラムの中に数字を埋め込んでいないので、事業所ごと・契約ごとにルールが違っても同じ道を通ります。
線の色は、その項目を決めているルールの色です。ルールはすべて事業所の設定か雇用契約にあります。休日深夜労働は「深夜」と「法定休日」の2つのルールが同時に立った1分で、割増率は合わせて付きます。
表にすると次のとおりです。
| 項目 | どこで決まるか | 何を見て決めるか |
|---|---|---|
| 実労働時間 | 1分ごとの記録 → 日次 | 働いていた1分の合計から、休憩・外出を引いたもの |
| 日次時間外労働 | 日次 | 労働時間制ごとの「1日の枠」の当て方(変形労働時間制では所定10時間の日が時間外にならない) |
| 平日深夜労働 | 1分ごとの記録 → 日次 | 事業所の設定:深夜の開始・終了時刻 |
| 休日労働(法定) | 1分ごとの記録 → 日次 | 事業所の設定:法定休日の決め方 |
| 休日労働(法定外) | 1分ごとの記録 → 日次 | 雇用契約:所定休日の曜日、祝日を休日とするか |
| 休日深夜労働 | 1分ごとの記録 → 日次 | 休日と深夜が同時に当たった1分(割増率は合わせて付く) |
| 週次時間外労働 | 週次 | 事業所の設定:週の起算曜日 + 労働時間制ごとの「1週の枠」の当て方 |
| 勤務間インターバル | 日次 | 雇用契約:勤務と勤務のあいだに空ける下限の時間(前日の退勤から当日の出勤まで) |
ここから先は、イレギュラーな勤務を社員1人につき1パターン集めた「デモ事業所」の 2026年10月を実機で追います。 13人ぶんの打刻を取り込んだだけで、数字はひとつも手で直していません。
月を締める単位は事業所 × 対象年月です。集計の決まりごと(週の起算曜日・法定休日・深夜帯)も36協定の上限も事業所が持つので、月を閉じる主語も事業所になります。
13人が1行ずつ並びます。氏名がそのままパターンの名前です。実労働・時間外・60時間超・深夜・法定休日・出勤日数・最大連勤・違反件数が、すべて打刻から出た値です。
D002(日跨ぎ)の深夜 132:00、D005(法休)の法定休日 16:00、D007(週残)の時間外 59:00、D012(超過)の60時間超 28:00、D013(運転)の違反 47件など、 パターンごとに違う場所の数字が立っていることが1画面で見えます。行末の参照アイコンから、その社員の月へ降ります。
週40時間超の時間外と、週1日の法定休日が取れたかは、週でしか判定できません。月から日へ直接飛ぶと、この2つを見る場所がなくなるので、あいだに週の段があります。
そして週を開くと、日次集計の各行に元の打刻がそのまま付いています。「6:15 という実労働は、この6本の打刻から出た」が同じ行で読めます。
D001 中抜 太郎(1日に2回出退勤する勤務)の 2026年10月を開きます。
社員の月次集計を開くと、「週次集計」タブに10月にかかる週が並びます。行末の参照アイコンを押すと、その週の週次集計が開きます。
9/27 始まりの週も入っているのは、その週の後半(10/1〜10/3)が10月だからです。週をまたぐ数字が抜け落ちないよう、月をまたぐ週は両方の月から見えます。
週ごとに実労働・法定週枠(40h/44h)・週次時間外・法定休日の確保・最大連勤が出ます。
10/4(日)始まりの週を開きます。
週の合計です。週次時間外(週40時間超)はこの段でしか出ない数字なので赤字にしています。
1日が1行です。右端の「打刻(出勤〜退勤)」に、その労働日に実際に打たれた打刻が時刻と種別のまま並びます。 D001 は 9:00 出勤 → 12:00 退勤 → 16:00 出勤 → 20:00 退勤。退勤から次の出勤までが4時間なので同じ労働日の中抜けと判定され、勤務回数 2・実労働 6:15(休憩45分を除く)が出ています。
同じデモ事業所の同じ週(10/4〜10/10)を、社員を替えて見ます。すべて日次集計の行をそのまま切り出したものです。
日付をまたぐ4本の打刻が始業した日の1行に集まり、日跨ぎフラグが立ち、平日深夜 6:00 が出ています。翌日の行に食い込みません。
10/4(日)は法定休日です。法定休日 4:00 と休日深夜 2:00 が別々の合計として出ます。日曜24時を過ぎた2時間は平日の残業として翌日の扱いになります。
1日9時間なので日ごとの時間外は1時間ずつ(週で 6:00)。それを除いた48時間がなお法定の40時間を超えるぶんが、週次時間外 8:00 として週の段で立ちます。日ごとに見ているだけでは出てこない数字です。
前日の退勤から当日の出勤までが7時間しかなく、雇用契約の下限11時間を割っています。インターバル 7:00 がその日の行に出て、法令チェックにも警告として残ります。
退勤の打刻がない日は、所定の終業時刻で埋めるようなことをしません。その日だけ「要確認」になり、前後の日は正常のまま集計されます。
誤った打刻 13:30 は消さずに無効にし、18:00 の退勤を「訂正」として足してあります。日次の行に見えるのは生きている 18:00 だけで、誰がいつ何を直したかは訂正の記録に残ります。
運転者は出退勤に加えて運転の打刻を持ち、拘束 15:00・運転 10:00 が日ごとに出ます。拘束時間・連続運転・休息期間は改善基準告示の数値と照らし、違反として残ります(この月は47件)。
日・週・月の集計が終わると、そのまま36協定・連勤・勤務間インターバル・改善基準告示(自動車運転者)と照らし合わせます。 引っかかったものは「違反」「警告」として、実績値・基準値・根拠となる条文をそろえて1件ずつ残します。 集計と同じく自動で出るので、人が見落とす・見なかったことにする、ができません。
社員・対象日・違反の種類・重要度・実績値・基準値・根拠条文・内容が1行です。集計と同じく、打刻を入れた結果として自動で並びます。
運転者 D013 の改善基準告示(連続運転・2日平均・1日の拘束・休息期間)に、D004・D008 の勤務間インターバル不足(労働時間等設定改善法2条)が混ざって並びます。実績値と基準値が横に並ぶので、どれだけ超えたかがその場で分かります。
「連続運転時間が超過」は実績 300分に対し基準 240分、「運転時間の2日平均が超過」は 600分に対し 540分。何が・どれだけ・どの決まりに引っかかったかが、行を読むだけで分かります。
月次集計の一覧では違反件数・警告件数が社員ごとに立ち、36協定の限度を超えた社員だけを並べられます。日次集計の一覧では、退勤の打刻が欠けた D010 の 10/07 が「要確認」として残っています。
デモ事業所の10月に立ったのは、違反 49件(連続運転 27・運転2日平均 17・複数月平均80時間超 2・月100時間以上 1・月の拘束超過 1・打刻エラー未解消 1)と警告 77件(1日の拘束 27・インターバル不足 23・休息期間 22・月45時間超 3・連勤 2)。すべて打刻を入れただけで自動で立ったものです。