日給集計の工数80%削減!n8nで建設業の給与CSVを自動生成
建設現場の日給集計は、入力方法のばらつきと月末の転記作業で負担が膨らみます。本記事では、n8nとGoogleフォームを使い、勤怠データの集計から給与計算ソフト用CSVの作成までを自動化する方法を紹介します。作業員20名、月20営業日の試算をもとに、導入手順と確認事項を整理します。
📌 この記事のポイント
- ✅ n8nで日給集計からCSV作成までを自動化する流れ
- ✅ Googleフォームで現場ごとの勤怠入力を統一する方法
- ✅ 日給と時間外手当を計算する際の考え方
- ✅ 給与計算ソフト用CSVの形式を確認する手順
- ✅ 作業員20名・月20営業日の試算と費用の目安
- ✅ 導入前に行うテストと、現場で起こりやすい問題への対策
編集長の見解: 建設業の給与計算では、現場ごとに異なる勤怠データを、経理担当者が手作業でまとめる負担が課題になります。n8nは入力方法を統一した後の集計や計算を自動化できます。ただし、給与計算のルールと給与計算ソフトの取り込み仕様を先に確認し、1現場で試すことが重要です。
📋 この記事で解決できること
建設業では、現場監督が日報を確認し、経理担当者が勤怠情報を給与計算ソフトへ転記することがあります。月末に作業が集中すると、入力ミスの確認や修正にも時間がかかります。
この記事では、n8nという自動化ツールを使い、日給集計からCSV作成までを効率化する方法を解説します。n8nは、複数のサービスをつないで処理を自動化するクラウドサービスです。プログラミングなしで始められる機能に加え、計算処理を記述できる機能もあります。
自動化で得られる効果
以下は、作業員20名、月20営業日、日給制の現場を想定した編集部の試算です。
- 日報の確認とExcel入力: 毎日30分 × 20営業日 = 10時間
- 時間外労働の計算: 月4時間
- 給与計算ソフトへの転記: 月6時間
- 合計: 月あたり約20時間
- Googleフォーム入力: 作業員が各自で記録(1日1分)
- n8nでの自動集計・計算: 自動処理
- CSV作成と取り込み: 月1時間(確認のみ)
- 合計: 月あたり約4時間
月あたり約16時間(80%)の工数削減が見込まれます(編集部の推定・前提条件: 作業員20名、月20営業日、日給制)
この数値は、作業員20名の現場をモデルにした編集部の推定です。実際の削減幅は、入力方法、給与計算ルール、確認作業の量によって変わります。
入力の二重化を減らすことは、工数だけでなく転記ミスの抑制にもつながります。ただし、導入後も給与データの確認は必要です。
対象読者
この記事は、以下の方を想定しています。
- 現場監督: 日報の集計に時間がかかっている方
- 経理担当者: 月末の給与計算や転記作業を減らしたい方
- 中小建設業の経営者: 人件費と入力ミスのリスクを抑えたい方
ITリテラシーは中程度を想定しています。専門的な開発経験がなくても進められるよう、入力項目、計算の考え方、テスト手順を順番に説明します。
この記事では、給与計算ソフトの具体的な取り込み可否を断定せず、導入前に公式資料で確認する方法も扱います。
🏗️ 建設業の給与計算が面倒な3つの理由
建設業の給与計算では、勤怠情報の集め方と計算ルールがそろっていないことが負担につながります。主な理由は次の3つです。
理由1: 現場ごとに勤怠管理方法が異なる
複数の現場を抱える会社では、現場ごとに管理方法が異なる場合があります。
- 紙の日報: 紙に出退勤を記録する
- Excel管理: 現場監督が独自の表で管理する
- 専用アプリ: 勤怠管理アプリを利用する
これらが混在すると、紙からExcel、Excelから給与計算ソフトへ転記する作業が発生します。転記の回数が増えるほど、入力漏れや数字の誤りを確認する負担も増えます。
理由2: 日給と時間外労働の計算ルールが異なる
日給制の給与計算では、基本労働時間、休憩時間、時間外労働の扱いを事前に定める必要があります。
| 確認項目 | 例 | 会社・現場による違い |
|---|---|---|
| 日給の基本額 | 1日あたり ¥18,000 | 作業員の職種や役割で異なる |
| 時間外労働の割増率 | 25%増し | 契約や就業規則によって異なる |
| 休憩時間 | 合計 1 時間 | 現場によって異なる |
| 端数処理 | 30 分単位 | 10 分単位・15 分単位など異なる |
給与計算のルールは、自社の就業規則や契約内容に合わせて設定してください。法定労働時間や割増賃金の扱いに迷う場合は、社会保険労務士などへ相談することをおすすめします。
理由3: 月末に入力作業が集中する
給与計算を月末にまとめて行うと、確認、転記、修正が同じ時期に集中します。
⚠️ 月末集中のリスク: 月末に作業が集中すると、入力漏れや転記ミスに気づきにくくなります。自動化後も、給与データの確認と承認を行う担当者を決めておきましょう。
まず入力方法と計算ルールを整理すると、n8nで自動化する範囲を決めやすくなります。次は、全体の仕組みと費用を確認します。
🔧 n8nで作る給与データ自動集計の全体像
n8nでは、フォーム、表計算、ファイル保存などのサービスをつなぎ、勤怠データを順番に処理できます。
n8nとは何か
n8nは、複数のサービスをつないで処理を自動化するツールです。Googleフォーム、Googleスプレッドシート、Googleドライブなどを接続し、データの取得、計算、CSV作成を一つの流れにまとめられます。
n8nには、画面上で処理を組み立てる機能と、必要に応じてコードで計算処理を記述する機能があります。料金や利用回数は変更される可能性があるため、導入時に公式料金ページで確認してください。
公式料金ページ: https://n8n.io/pricing/
全体のフロー
給与データの自動集計は、次の4段階で構成します。
ステップ1: データ取得 Googleフォームの回答から勤怠データを取得
ステップ2: 形式統一 作業員ID・日付・時刻などの形式をそろえる
ステップ3: 計算 日給・時間外手当を計算
ステップ4: CSV作成 取り込み先の仕様に合わせたCSVを作成し、Googleドライブに保存
使用する処理の例は次のとおりです。
| 処理 | 役割 | 使い方 |
|---|---|---|
| Googleフォームの回答取得 | 入力データを受け取る | 勤怠情報を処理の起点にする |
| Googleスプレッドシート | 表を読み書きする | 作業員IDと時給の対応表を管理する |
| 計算処理 | 数値を計算する | 実働時間、基本給、時間外手当を求める |
| CSV作成 | データをファイル化する | 給与計算ソフトの仕様に合わせて出力する |
| Googleドライブ | ファイルを保存する | 作成したCSVを指定フォルダーに保存する |
料金の考え方
n8nの料金プランや利用回数は変更されることがあります。2026年6月時点での編集部調査では、無料利用の選択肢と有料プランの情報が確認できましたが、本文の数値は公式ページで最新情報を確認してから採用してください。
- 無料利用: 実行回数や機能の条件を公式料金ページで確認する
- 有料利用: 月額料金、実行回数、データ保持などの条件を確認する
- 追加費用: Googleの各サービス、専門家への相談費用などを見積もる
💡 導入費用の考え方: まずは無料で使える範囲と、必要な実行回数を確認しましょう。作業員20名の現場では、フォーム送信回数、日次処理、月次処理を合算して見積もります。料金は変更されるため、契約前にn8n公式料金ページで確認してください。
次は、現場の勤怠入力を一つにまとめる手順を説明します。
📥 ステップ1: 勤怠データの入力口を統一する
自動化の前提は、勤怠データの入力方法をそろえることです。紙、Excel、アプリが混在したままでは、n8nで処理する前に手作業の整理が必要になります。
Googleフォームで勤怠データを記録する
Googleフォームは、スマートフォンから入力できるフォームを作成するサービスです。現場で入力する項目を絞ると、入力漏れを抑えやすくなります。
フォームの項目例は次のとおりです。
| 入力項目 | 入力形式 | 設定例 |
|---|---|---|
| 作業員ID | 選択式 | 001、002など |
| 現場名 | 選択式 | 現場A、現場Bなど |
| 日付 | 日付 | 勤務日を入力 |
| 始業時間 | 時刻 | 08:00 |
| 終業時間 | 時刻 | 17:00 |
| 休憩時間 | 時刻または数値 | 1:00または60分 |
紙の日報から移行する際の運用ルール
紙からフォームへ移行する場合は、並行運用の期間を設けます。
- 2〜4週間の並行運用: 紙とフォームの結果を比較する
- 入力方法の練習: 現場で15分程度の操作説明を行う
- 代理入力の準備: 操作が難しい作業員には現場監督が対応する
- 入力漏れの確認: 毎日、未入力者を確認する
⚠️ 移行期の注意点: 入力のタイミングを決めずにフォームを配布すると、記録漏れが起きやすくなります。始業時に始業時間を入力し、終業時に終業時間と休憩時間を入力するなど、現場に合う運用を決めてください。
入力データの補完ルール
入力漏れや誤入力が起きた場合の対応も、事前に決めておきます。
- 入力漏れ: 本人の確認を得て、現場監督が代理入力する
- 誤入力: 修正版を再送信し、元データを無効として記録する
- 休憩時間: 実際の休憩時間を入力し、標準時間との差異を確認する
入力方法がそろうと、次は計算に必要な時給情報と勤務時間を処理できます。
🧮 ステップ2: n8nで日給と時間外手当を計算する
フォームに勤怠データが集まったら、時給マスタと照合して支給額を計算します。
時給マスタをGoogleスプレッドシートで管理する
作業員ID、氏名、時給、基本労働時間を表にまとめます。
| 作業員ID | 氏名 | 時給 | 基本労働時間 |
|---|---|---|---|
| 001 | 山田 太郎 | ¥2,200 | 8 時間 |
| 002 | 佐藤 次郎 | ¥2,000 | 8 時間 |
| 003 | 鈴木 三郎 | ¥1,800 | 8 時間 |
時給変更日がある場合は、適用開始日も管理してください。過去データを再計算するときに、当時の時給を判断しやすくなります。
計算の流れ
1. 勤怠データを取得 Googleフォームの回答から作業員ID、日付、時刻を取得
2. 時給マスタを参照 作業員IDに一致する時給と基本労働時間を取得
3. 実働時間を計算 終業時間から始業時間と休憩時間を差し引く
4. 支給額を計算 自社のルールに基づいて基本給と時間外手当を計算
5. 結果を出力 CSV作成に必要な項目をまとめる
コード例
次のコードは、8時間を超えた時間を時間外労働として扱う単純な例です。法定労働時間、深夜労働、休日労働、複数現場の合算などは別途確認してください。
const item = $input.first().json;
const workerId = item.workerId;
const startTime = item.startTime;
const endTime = item.endTime;
const breakTime = item.breakTime;
const hourlyRate = item.hourlyRate;
const baseHours = item.baseHours;
function timeToMinutes(timeStr) {
const [hours, minutes] = timeStr.split(':').map(Number);
return hours * 60 + minutes;
}
const startMinutes = timeToMinutes(startTime);
const endMinutes = timeToMinutes(endTime);
const breakMinutes = timeToMinutes(breakTime);
const workMinutes = endMinutes - startMinutes - breakMinutes;
const baseMinutes = baseHours * 60;
const overtimeMinutes = Math.max(0, workMinutes - baseMinutes);
const regularMinutes = Math.min(workMinutes, baseMinutes);
const regularPay = Math.round(regularMinutes / 60 * hourlyRate);
const overtimePay = Math.round(overtimeMinutes / 60 * hourlyRate * 1.25);
const totalPay = regularPay + overtimePay;
return [{
json: {
workerId,
date: item.date,
siteName: item.siteName,
startTime,
endTime,
breakTime,
workMinutes,
overtimeMinutes,
regularPay,
overtimePay,
totalPay
}
}];
このコードは、実働時間を分単位で計算し、基本時間と超過時間を分けています。自社の規程に合わせて、割増率や端数処理を変更してください。
⚠️ 割増率の注意: 時間外労働の割増率は、労働時間、深夜労働、休日労働などの条件で変わる場合があります。コードの数値をそのまま本番給与計算に使わず、就業規則や専門家の確認を経てください。
計算ロジックの検証
本番運用の前に、次のテストを行います。
- 手計算との比較: 10件以上のテストデータで結果を比べる
- 境界値の確認: 残業0分、8時間、8時間1分を試す
- 日付をまたぐ勤務の確認: 夜勤がある場合の計算結果を確認する
- 既存結果との比較: 過去データを使い、現在の給与計算結果と差異を確認する
計算結果を確認できたら、次は給与計算ソフトへ渡すCSVの仕様を確認します。
📄 ステップ3: 給与計算ソフト用CSVを作成する
計算結果をCSVにしても、取り込み先の仕様に合わなければ使えません。先に公式資料やサポート窓口で、対応状況と形式を確認してください。
CSVの取り込み仕様を確認する
給与計算ソフトでは、製品や契約プランによって、取り込み可能なデータや形式が異なる場合があります。弥生給与、freee人事労務などを利用している場合も、CSV取り込みの可否を一般化して判断せず、利用中の製品・プラン・バージョンの公式情報を確認してください。
確認項目は次のとおりです。
| 確認項目 | 確認する内容 | 確認先 |
|---|---|---|
| 対応状況 | CSV取り込みに対応しているか | 公式サポート・契約窓口 |
| 列の構成 | 列名、列の順序、必須項目 | 公式マニュアル |
| 形式 | 日付、時刻、金額、文字コード | 公式マニュアル |
| テスト方法 | 検証用環境やサンプルデータの扱い | 公式サポート |
一般的に確認する項目の例は、次のとおりです。
| 列名の例 | 内容 | 入力例 |
|---|---|---|
| 社員コード | 作業員を識別するコード | 001 |
| 氏名 | 作業員の氏名 | 山田 太郎 |
| 勤務日 | 勤務した日付 | 2026/06/01 |
| 始業時間 | 勤務開始時刻 | 08:00 |
| 終業時間 | 勤務終了時刻 | 17:00 |
| 休憩時間 | 休憩時間 | 1.00 |
| 基本給 | 基本時間分の給与 | 17600 |
| 時間外手当 | 時間外労働分の給与 | 2750 |
| 支給合計 | 支給額の合計 | 20350 |
💡 公式情報の確認: 弥生給与やfreee人事労務を利用する場合は、公式サイトのサポート情報で、製品名、プラン、バージョンを指定して確認してください。公式情報で判断できない場合は、サポート窓口へCSV取り込みの可否と形式を問い合わせます。未確認の機能を前提に設計しないことが重要です。
n8nでCSVを作成して保存する
1. CSV作成 計算結果を取り込み先の列構成に合わせて変換
2. ファイル保存 作成したCSVを指定フォルダーに保存
3. テスト取り込み 少量の検証データで読み込み結果を確認
設定時は、次の点を確認します。
- ファイル形式: CSVを選択する
- ファイル名: 年月を含めて管理しやすくする
- 列の順序: 取り込み先の仕様に合わせる
- 文字コード: UTF-8やシフトJISなど、取り込み先に合わせる
月次で実行する場合の注意
月次処理では、前月分のデータだけを抽出する条件を設定します。実行後は、CSVの件数、合計金額、未入力者を確認してから取り込みます。
自動作成されたCSVをそのまま給与確定に使うのではなく、担当者の確認工程を残してください。次は、導入時に起きやすい問題を確認します。
⚠️ 編集部の警告: 自動化で失敗しがちな3つのパターン
自動化は入力とルールが整っているほど効果を発揮します。導入時は、次の問題に注意してください。
パターン1: 計算ロジックの検証不足
深夜勤務、休憩時間の入力漏れ、日付をまたぐ勤務などは、単純な計算式では扱えない場合があります。
- 深夜労働の割増率が反映されていない
- 休憩時間が空欄で計算できない
- 日付をまたぐ勤務の終了時刻を正しく扱えない
回避策として、過去データとの照合、境界値テスト、担当者による二重確認を行います。
パターン2: 現場で入力が定着しない
スマートフォン操作に慣れていない作業員がいる場合、入力漏れが増える可能性があります。
- 入力項目を絞る: 作業員ID、現場名、日付、時刻、休憩時間に限定する
- 代理入力を用意する: 現場監督が入力を補助する
- QRコードを使う: フォームをすぐ開けるようにする
- 紙を併用する: 移行期間は紙の記録を残す
パターン3: CSVの形式が合わない
列名、列の順序、日付形式、文字コードが取り込み先と異なると、エラーや文字化けが起こります。
回避策は次のとおりです。
- 公式マニュアルで仕様を確認する
- サンプルCSVがあれば取得する
- 少量のデータでテスト取り込みを行う
- 変更後は再度、合計件数と金額を確認する
⚠️ バージョン変更への備え: 給与計算ソフトの更新で、CSVの仕様が変わる場合があります。取り込みエラーが起きたときは、まず公式サポートの更新情報を確認し、テスト環境で再検証してください。
問題への対策を決めたら、1週間の導入計画に落とし込みます。
✅ 導入ステップ: 1週間で始める給与自動化
導入期間は、会社の規模や確認体制によって変わります。ここでは、1現場を対象にした7日間の例を紹介します。
1日目: 入力フォームを作る Googleフォームの項目を設定し、テストデータを入力します。時給マスタも作成します。
2日目: n8nを設定する n8nのアカウントと、Googleフォーム、Googleスプレッドシート、Googleドライブの接続を設定します。
3日目: 計算処理を作る 勤怠データの取得、時給照合、実働時間の計算、支給額の計算を組み立てます。
4日目: CSV形式を合わせる 取り込み先の公式仕様に合わせ、列名、列順、日付、文字コードを調整します。
5日目: 並行運用を始める 手作業の結果と自動計算の結果を比較します。現場で入力練習も行います。
6日目: 現場で試す 実際の入力を開始し、入力漏れや計算エラーを確認します。
7日目: 継続運用を判断する テスト結果を確認し、問題がなければ対象範囲を段階的に広げます。
1週間で仕組みを作れても、給与計算の本番切り替えは慎重に進めてください。月次の締め処理を含め、最低でも2週間、できれば1か月は並行運用することをおすすめします。
導入時の確認項目
- 入力: 全員がフォームを使えるか
- 計算: 手作業の結果と一致するか
- CSV: 取り込み先の形式に合っているか
- 権限: 給与データを扱える人を限定できているか
- 障害時: n8nが動かない場合の手作業を決めているか
❓ よくある質問
Q1: n8nの無料利用でどこまでできる?
n8nの料金や実行回数は変更される可能性があります。無料利用の条件は、導入時に公式料金ページで確認してください。
この記事のモデルケースでは、次の処理を想定しています。
- 日次確認: 月30回程度
- 月次処理: 月1回
- フォーム送信: 作業員数と入力回数に応じて加算
無料利用の上限だけでなく、フォーム送信を含む実行回数を合算して判断します。上限を超える場合は、有料プランや別の構成を比較してください。
Q2: 給与計算ソフトがCSV取り込みに対応していない場合は?
まず、利用中の製品名、プラン、バージョンを確認し、公式サポートへ問い合わせます。対応していない場合は、次の方法を検討できます。
- 補助資料として使う: CSVを確認用の一覧として利用する
- 別形式を確認する: Excelなど、取り込み可能な形式があるか確認する
- 運用を見直す: 対応製品への変更を費用と手間で比較する
弥生給与やfreee人事労務を含め、特定製品の対応可否は契約プランやバージョンによって異なる可能性があります。公式資料で確認できない機能を前提に、製品変更を判断しないようにしましょう。
Q3: 作業員の個人情報を扱う際の対策は?
給与データは個人情報を含むため、アクセス権限と保存場所を管理します。
- 権限を限定する: 経理担当者と経営者など、必要な人だけに共有する
- 認証を強化する: 強固なパスワードと二段階認証を使う
- 保存期間を管理する: 法令や社内規程に沿って保存・削除する
- 委託先を確認する: クラウドサービスの利用規約とデータ管理を確認する
⚠️ 個人情報保護の注意点: 給与データの取り扱いには、個人情報保護法や労働関係法令が関係します。アクセス制御や保存期間に迷う場合は、社会保険労務士や弁護士などの専門家に相談してください。
Q4: 複数現場を抱えている場合、現場別に集計できる?
可能です。入力項目に現場名を加え、現場名を集計キーとして使います。
- 現場別にCSVを作る: 現場名でデータを分ける
- 1つのCSVにまとめる: 現場名の列を追加する
- 表計算で管理する: 現場別の集計表を作る
給与計算ソフト側で現場情報を扱えるかどうかは、事前に確認してください。
Q5: 月の途中で時給が変わった場合は?
時給マスタに適用開始日を記録し、勤務日に応じて時給を選びます。単純にマスタの現在値だけを参照すると、過去の勤怠を誤って再計算する可能性があります。
時給の変更日、適用対象者、旧単価を履歴として残しておくと、確認しやすくなります。
Q6: n8nのワークフローがエラーになった場合は?
次の順番で確認します。
- エラー内容を見る: 実行履歴でメッセージを確認する
- 該当処理を特定する: どの処理で止まったか確認する
- 入力データを確認する: 空欄や形式違いを確認する
- 手作業へ切り替える: 給与締めに間に合う代替手順を実行する
- 再発防止を行う: 原因と対応を記録する
📚 参考情報と次のステップ
導入前は、次の公式情報を確認してください。
- n8n料金ページ: https://n8n.io/pricing/ — 料金と利用条件を確認
- n8n公式ドキュメント: https://docs.n8n.io — 機能と設定方法を確認
- n8n公式コミュニティ: https://community.n8n.io — エラー解決の情報を確認
- Googleフォームヘルプ: https://support.google.com/forms — フォームの作成方法を確認
- 弥生公式サイト: https://www.yayoi-kk.co.jp — 製品・サポート情報を確認
- freee公式サイト: https://www.freee.co.jp — 製品・サポート情報を確認
高度な自動化へのステップ
基本の仕組みが安定したら、次の拡張を検討できます。
| 自動化の内容 | 必要な連携 | 期待できる効果 |
|---|---|---|
| 勤怠管理サービスとの連携 | サービスのAPI(アプリ連携用の窓口) | フォーム入力を減らし、勤怠情報を直接取得する |
| 給与明細の作成 | CSVからPDFなどへの変換 | 印刷や配布の手間を減らす |
| 労働時間の集計 | 勤怠データの集計処理 | 月間労働時間や時間外労働を確認する |
| 現場別の原価管理 | 工程データと勤怠データの結合 | 現場ごとの人件費を把握する |
自動化を始める前の確認事項
- 給与計算ルールを整理する: 日給、時間外労働、休憩、端数処理を文書化する
- 取り込み仕様を確認する: 利用中の製品の公式情報と契約条件を確認する
- 入力担当を決める: 誰がいつ入力し、誰が確認するかを決める
- 障害時の手順を作る: 自動化が止まった場合の手作業を決める
- 小さく始める: 1現場で検証し、結果を見て範囲を広げる
編集長の見解: 給与計算の自動化では、作業時間の短縮だけでなく、勤怠データを同じ形式で蓄積できる点にも価値があります。まずは1現場、1か月分を対象にし、計算結果とCSVの取り込みを確認してから運用範囲を広げるのが現実的です。
まとめ
この記事では、建設業の日給集計をn8nで自動化する方法を紹介しました。
- ✅ 現場ごとに異なる勤怠入力を、Googleフォームなどに統一する
- ✅ 時給マスタと勤怠データを照合し、日給と時間外手当を計算する
- ✅ 作業員20名、月20営業日のモデルでは、工数80%削減を編集部が試算した
- ✅ CSVの取り込み可否と形式は、利用中の給与計算ソフトの公式情報で確認する
- ✅ n8nの料金と実行回数は、契約前に公式料金ページで確認する
- ✅ 自動化後も、給与データの確認、承認、障害時の手作業を残す
給与計算の自動化は、入力方法と計算ルールを整理してから始めると進めやすくなります。まずは1現場で試し、手作業の結果と比較しながら、自社に合う運用を設計してください。
Mira / AI経営ラボ 編集長