業務自動化

日給集計の工数80%削減!n8nで建設業の給与CSVを自動生成

建設 の業務自動化レシピ
業種建設
ツールn8n
難易度★★☆ 中
設定時間約 90 分

建設現場の日給集計は、入力方法のばらつきと月末の転記作業で負担が膨らみます。本記事では、n8nとGoogleフォームを使い、勤怠データの集計から給与計算ソフト用CSVの作成までを自動化する方法を紹介します。作業員20名、月20営業日の試算をもとに、導入手順と確認事項を整理します。

読了時間: 約14分

📌 この記事のポイント

編集長の見解: 建設業の給与計算では、現場ごとに異なる勤怠データを、経理担当者が手作業でまとめる負担が課題になります。n8nは入力方法を統一した後の集計や計算を自動化できます。ただし、給与計算のルールと給与計算ソフトの取り込み仕様を先に確認し、1現場で試すことが重要です。


📋 この記事で解決できること

建設業では、現場監督が日報を確認し、経理担当者が勤怠情報を給与計算ソフトへ転記することがあります。月末に作業が集中すると、入力ミスの確認や修正にも時間がかかります。

この記事では、n8nという自動化ツールを使い、日給集計からCSV作成までを効率化する方法を解説します。n8nは、複数のサービスをつないで処理を自動化するクラウドサービスです。プログラミングなしで始められる機能に加え、計算処理を記述できる機能もあります。

自動化で得られる効果

以下は、作業員20名、月20営業日、日給制の現場を想定した編集部の試算です。

月あたりの給与計算工数比較(作業員20名規模の現場)
手作業での集計
  • 日報の確認とExcel入力: 毎日30分 × 20営業日 = 10時間
  • 時間外労働の計算: 月4時間
  • 給与計算ソフトへの転記: 月6時間
  • 合計: 月あたり約20時間
n8nでの自動化
  • Googleフォーム入力: 作業員が各自で記録(1日1分)
  • n8nでの自動集計・計算: 自動処理
  • CSV作成と取り込み: 月1時間(確認のみ)
  • 合計: 月あたり約4時間

月あたり約16時間(80%)の工数削減が見込まれます(編集部の推定・前提条件: 作業員20名、月20営業日、日給制)

この数値は、作業員20名の現場をモデルにした編集部の推定です。実際の削減幅は、入力方法、給与計算ルール、確認作業の量によって変わります。

入力の二重化を減らすことは、工数だけでなく転記ミスの抑制にもつながります。ただし、導入後も給与データの確認は必要です。

対象読者

この記事は、以下の方を想定しています。

ITリテラシーは中程度を想定しています。専門的な開発経験がなくても進められるよう、入力項目、計算の考え方、テスト手順を順番に説明します。

この記事では、給与計算ソフトの具体的な取り込み可否を断定せず、導入前に公式資料で確認する方法も扱います。


🏗️ 建設業の給与計算が面倒な3つの理由

建設業の給与計算では、勤怠情報の集め方と計算ルールがそろっていないことが負担につながります。主な理由は次の3つです。

理由1: 現場ごとに勤怠管理方法が異なる

複数の現場を抱える会社では、現場ごとに管理方法が異なる場合があります。

これらが混在すると、紙から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段階で構成します。

n8nで作る給与データ自動集計の全体フロー

ステップ1: データ取得 Googleフォームの回答から勤怠データを取得

ステップ2: 形式統一 作業員ID・日付・時刻などの形式をそろえる

ステップ3: 計算 日給・時間外手当を計算

ステップ4: CSV作成 取り込み先の仕様に合わせたCSVを作成し、Googleドライブに保存

使用する処理の例は次のとおりです。

処理役割使い方
Googleフォームの回答取得入力データを受け取る勤怠情報を処理の起点にする
Googleスプレッドシート表を読み書きする作業員IDと時給の対応表を管理する
計算処理数値を計算する実働時間、基本給、時間外手当を求める
CSV作成データをファイル化する給与計算ソフトの仕様に合わせて出力する
Googleドライブファイルを保存する作成したCSVを指定フォルダーに保存する

料金の考え方

n8nの料金プランや利用回数は変更されることがあります。2026年6月時点での編集部調査では、無料利用の選択肢と有料プランの情報が確認できましたが、本文の数値は公式ページで最新情報を確認してから採用してください。

💡 導入費用の考え方: まずは無料で使える範囲と、必要な実行回数を確認しましょう。作業員20名の現場では、フォーム送信回数、日次処理、月次処理を合算して見積もります。料金は変更されるため、契約前にn8n公式料金ページで確認してください。

次は、現場の勤怠入力を一つにまとめる手順を説明します。


📥 ステップ1: 勤怠データの入力口を統一する

自動化の前提は、勤怠データの入力方法をそろえることです。紙、Excel、アプリが混在したままでは、n8nで処理する前に手作業の整理が必要になります。

Googleフォームで勤怠データを記録する

Googleフォームは、スマートフォンから入力できるフォームを作成するサービスです。現場で入力する項目を絞ると、入力漏れを抑えやすくなります。

フォームの項目例は次のとおりです。

入力項目入力形式設定例
作業員ID選択式001、002など
現場名選択式現場A、現場Bなど
日付日付勤務日を入力
始業時間時刻08:00
終業時間時刻17:00
休憩時間時刻または数値1:00または60分

紙の日報から移行する際の運用ルール

紙からフォームへ移行する場合は、並行運用の期間を設けます。

  1. 2〜4週間の並行運用: 紙とフォームの結果を比較する
  2. 入力方法の練習: 現場で15分程度の操作説明を行う
  3. 代理入力の準備: 操作が難しい作業員には現場監督が対応する
  4. 入力漏れの確認: 毎日、未入力者を確認する

⚠️ 移行期の注意点: 入力のタイミングを決めずにフォームを配布すると、記録漏れが起きやすくなります。始業時に始業時間を入力し、終業時に終業時間と休憩時間を入力するなど、現場に合う運用を決めてください。

入力データの補完ルール

入力漏れや誤入力が起きた場合の対応も、事前に決めておきます。

入力方法がそろうと、次は計算に必要な時給情報と勤務時間を処理できます。


🧮 ステップ2: n8nで日給と時間外手当を計算する

フォームに勤怠データが集まったら、時給マスタと照合して支給額を計算します。

時給マスタをGoogleスプレッドシートで管理する

作業員ID、氏名、時給、基本労働時間を表にまとめます。

作業員ID氏名時給基本労働時間
001山田 太郎¥2,2008 時間
002佐藤 次郎¥2,0008 時間
003鈴木 三郎¥1,8008 時間

時給変更日がある場合は、適用開始日も管理してください。過去データを再計算するときに、当時の時給を判断しやすくなります。

計算の流れ

n8nでの日給計算フロー

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
  }
}];

このコードは、実働時間を分単位で計算し、基本時間と超過時間を分けています。自社の規程に合わせて、割増率や端数処理を変更してください。

⚠️ 割増率の注意: 時間外労働の割増率は、労働時間、深夜労働、休日労働などの条件で変わる場合があります。コードの数値をそのまま本番給与計算に使わず、就業規則や専門家の確認を経てください。

計算ロジックの検証

本番運用の前に、次のテストを行います。

  1. 手計算との比較: 10件以上のテストデータで結果を比べる
  2. 境界値の確認: 残業0分、8時間、8時間1分を試す
  3. 日付をまたぐ勤務の確認: 夜勤がある場合の計算結果を確認する
  4. 既存結果との比較: 過去データを使い、現在の給与計算結果と差異を確認する

計算結果を確認できたら、次は給与計算ソフトへ渡す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を作成して保存する

CSV作成・保存のフロー

1. CSV作成 計算結果を取り込み先の列構成に合わせて変換

2. ファイル保存 作成したCSVを指定フォルダーに保存

3. テスト取り込み 少量の検証データで読み込み結果を確認

設定時は、次の点を確認します。

月次で実行する場合の注意

月次処理では、前月分のデータだけを抽出する条件を設定します。実行後は、CSVの件数、合計金額、未入力者を確認してから取り込みます。

自動作成されたCSVをそのまま給与確定に使うのではなく、担当者の確認工程を残してください。次は、導入時に起きやすい問題を確認します。


⚠️ 編集部の警告: 自動化で失敗しがちな3つのパターン

自動化は入力とルールが整っているほど効果を発揮します。導入時は、次の問題に注意してください。

パターン1: 計算ロジックの検証不足

深夜勤務、休憩時間の入力漏れ、日付をまたぐ勤務などは、単純な計算式では扱えない場合があります。

回避策として、過去データとの照合、境界値テスト、担当者による二重確認を行います。

パターン2: 現場で入力が定着しない

スマートフォン操作に慣れていない作業員がいる場合、入力漏れが増える可能性があります。

パターン3: CSVの形式が合わない

列名、列の順序、日付形式、文字コードが取り込み先と異なると、エラーや文字化けが起こります。

回避策は次のとおりです。

  1. 公式マニュアルで仕様を確認する
  2. サンプルCSVがあれば取得する
  3. 少量のデータでテスト取り込みを行う
  4. 変更後は再度、合計件数と金額を確認する

⚠️ バージョン変更への備え: 給与計算ソフトの更新で、CSVの仕様が変わる場合があります。取り込みエラーが起きたときは、まず公式サポートの更新情報を確認し、テスト環境で再検証してください。

問題への対策を決めたら、1週間の導入計画に落とし込みます。


✅ 導入ステップ: 1週間で始める給与自動化

導入期間は、会社の規模や確認体制によって変わります。ここでは、1現場を対象にした7日間の例を紹介します。

1週間で始める給与自動化のスケジュール

1日目: 入力フォームを作る Googleフォームの項目を設定し、テストデータを入力します。時給マスタも作成します。

2日目: n8nを設定する n8nのアカウントと、Googleフォーム、Googleスプレッドシート、Googleドライブの接続を設定します。

3日目: 計算処理を作る 勤怠データの取得、時給照合、実働時間の計算、支給額の計算を組み立てます。

4日目: CSV形式を合わせる 取り込み先の公式仕様に合わせ、列名、列順、日付、文字コードを調整します。

5日目: 並行運用を始める 手作業の結果と自動計算の結果を比較します。現場で入力練習も行います。

6日目: 現場で試す 実際の入力を開始し、入力漏れや計算エラーを確認します。

7日目: 継続運用を判断する テスト結果を確認し、問題がなければ対象範囲を段階的に広げます。

1週間で仕組みを作れても、給与計算の本番切り替えは慎重に進めてください。月次の締め処理を含め、最低でも2週間、できれば1か月は並行運用することをおすすめします。

導入時の確認項目


❓ よくある質問

Q1: n8nの無料利用でどこまでできる?

n8nの料金や実行回数は変更される可能性があります。無料利用の条件は、導入時に公式料金ページで確認してください。

この記事のモデルケースでは、次の処理を想定しています。

無料利用の上限だけでなく、フォーム送信を含む実行回数を合算して判断します。上限を超える場合は、有料プランや別の構成を比較してください。

Q2: 給与計算ソフトがCSV取り込みに対応していない場合は?

まず、利用中の製品名、プラン、バージョンを確認し、公式サポートへ問い合わせます。対応していない場合は、次の方法を検討できます。

弥生給与やfreee人事労務を含め、特定製品の対応可否は契約プランやバージョンによって異なる可能性があります。公式資料で確認できない機能を前提に、製品変更を判断しないようにしましょう。

Q3: 作業員の個人情報を扱う際の対策は?

給与データは個人情報を含むため、アクセス権限と保存場所を管理します。

⚠️ 個人情報保護の注意点: 給与データの取り扱いには、個人情報保護法や労働関係法令が関係します。アクセス制御や保存期間に迷う場合は、社会保険労務士や弁護士などの専門家に相談してください。

Q4: 複数現場を抱えている場合、現場別に集計できる?

可能です。入力項目に現場名を加え、現場名を集計キーとして使います。

給与計算ソフト側で現場情報を扱えるかどうかは、事前に確認してください。

Q5: 月の途中で時給が変わった場合は?

時給マスタに適用開始日を記録し、勤務日に応じて時給を選びます。単純にマスタの現在値だけを参照すると、過去の勤怠を誤って再計算する可能性があります。

時給の変更日、適用対象者、旧単価を履歴として残しておくと、確認しやすくなります。

Q6: n8nのワークフローがエラーになった場合は?

次の順番で確認します。

  1. エラー内容を見る: 実行履歴でメッセージを確認する
  2. 該当処理を特定する: どの処理で止まったか確認する
  3. 入力データを確認する: 空欄や形式違いを確認する
  4. 手作業へ切り替える: 給与締めに間に合う代替手順を実行する
  5. 再発防止を行う: 原因と対応を記録する

📚 参考情報と次のステップ

導入前は、次の公式情報を確認してください。

高度な自動化へのステップ

基本の仕組みが安定したら、次の拡張を検討できます。

自動化の内容必要な連携期待できる効果
勤怠管理サービスとの連携サービスのAPI(アプリ連携用の窓口)フォーム入力を減らし、勤怠情報を直接取得する
給与明細の作成CSVからPDFなどへの変換印刷や配布の手間を減らす
労働時間の集計勤怠データの集計処理月間労働時間や時間外労働を確認する
現場別の原価管理工程データと勤怠データの結合現場ごとの人件費を把握する

自動化を始める前の確認事項

  1. 給与計算ルールを整理する: 日給、時間外労働、休憩、端数処理を文書化する
  2. 取り込み仕様を確認する: 利用中の製品の公式情報と契約条件を確認する
  3. 入力担当を決める: 誰がいつ入力し、誰が確認するかを決める
  4. 障害時の手順を作る: 自動化が止まった場合の手作業を決める
  5. 小さく始める: 1現場で検証し、結果を見て範囲を広げる

編集長の見解: 給与計算の自動化では、作業時間の短縮だけでなく、勤怠データを同じ形式で蓄積できる点にも価値があります。まずは1現場、1か月分を対象にし、計算結果とCSVの取り込みを確認してから運用範囲を広げるのが現実的です。


まとめ

この記事では、建設業の日給集計をn8nで自動化する方法を紹介しました。

給与計算の自動化は、入力方法と計算ルールを整理してから始めると進めやすくなります。まずは1現場で試し、手作業の結果と比較しながら、自社に合う運用を設計してください。


Mira / AI経営ラボ 編集長