顧問先から毎月ばらばらの形で届く給与の変動データを読み取り、給与計算ソフトの取り込み形式にそろえる
顧問先から毎月届く給与の変動データ(残業時間、欠勤、手当の増減など)を、Excel・CSV・PDF・メール本文のどれで届いても読み取り、給与計算ソフトに取り込める表にそろえます。担当者は、そろった表を確かめて取り込むだけになります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 士業
- 対象部門
- 人事
- 対象業務
- データ入力・転記
- 主な課題
- 人手が足りない/入力作業が多い/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 担当者が、顧問先からの変動データのメールを開き、添付を保存する
- 添付を開き、その顧問先の書式のどこに何が書かれているかを読み解く
- 従業員ごとに、給与計算ソフトの従業員番号を確かめる
- 顧問先の項目名(「残業」「早出」「皆勤」など)を、給与計算ソフトの項目に当てはめる
- 時間の書き方(「8.5」「8:30」「8時間30分」)を、ソフトの単位にそろえる
- 取り込み用の表に転記し、給与計算ソフトに取り込む
- 前月と比べておかしな値があれば、顧問先に問い合わせる
- 自動変動データ用のメールアドレスにメールが届くと、Make のシナリオが動き、送信元から顧問先を特定する
- 自動添付を1つずつ取り出し、Excel・CSV・PDF・メール本文のどれかで経路を分ける
- 自動Excel はスプレッドシートに変換して値を読み、PDFはそのまま、メール本文は文字として生成AIへ渡す
- 自動生成AIが、従業員の呼び方・項目名・値・単位を、書かれたとおりに抜き出す
- 自動顧問先ごとの対応表で、従業員を給与計算ソフトの従業員番号に、項目名をソフトの項目に当てる
- 自動単位を給与計算ソフトの設定にそろえ、前月の値と比べて大きく変わったものに印を付ける
- 自動取り込みの表に書き込み、対応表で当たらなかったものと印の付いたものを担当者に通知する
- 人担当者が、当たらなかった従業員・項目を確かめ、対応表に登録する
- 人担当者が、取り込みの表を確かめてCSVで書き出し、給与計算ソフトに取り込む
各工程の詳しい説明を読む
- 担当者が、顧問先からの変動データのメールを開き、添付を保存する
- 添付を開き、その顧問先の書式のどこに何が書かれているかを読み解く
- 従業員ごとに、給与計算ソフトの従業員番号を確かめる
- 顧問先の項目名(「残業」「早出」「皆勤」など)を、給与計算ソフトの項目に当てはめる
- 時間の書き方(「8.5」「8:30」「8時間30分」)を、ソフトの単位にそろえる
- 取り込み用の表に転記し、給与計算ソフトに取り込む
- 前月と比べておかしな値があれば、顧問先に問い合わせる
(a)読み解くだけで時間がかかる。 顧問先の表は、列の並びも項目名も毎月少しずつ変わります。先月は「残業」だった列が、今月は「時間外」になっていることがあります。メール本文で届いたものは、文章から従業員と値を拾い出すところから始まります。
(b)従業員の対応を取り違える。 顧問先の表には姓だけ、あるいは顧問先独自の社員番号しか書かれていないことがあります。同じ姓の従業員が2人いる会社では、どちらの値かを取り違えると、そのまま2人分の給与が誤ります。
(c)時間の単位を取り違える。 「8.30」が8時間30分なのか8.3時間なのかは、書式からは分かりません。給与計算ソフトの勤怠項目は、設定された単位と一致する単位で入力する必要があります。単位を1つ取り違えるだけで、残業代が変わります。
(d)空欄の意味を取り違える。 顧問先が欠勤の列を空けて送ってきたとき、それは「欠勤なし」なのか「書き忘れ」なのか。取り込みの表を空欄にすると、ソフトによっては前の値がそのまま残ります。 どちらの意味かを確かめずに転記すると、誤りに気づくのは給与明細を見た従業員です。
- 【自動】 変動データ用のメールアドレスにメールが届くと、Make のシナリオが動き、送信元から顧問先を特定する
- 【自動】 添付を1つずつ取り出し、Excel・CSV・PDF・メール本文のどれかで経路を分ける
- 【自動】 Excel はスプレッドシートに変換して値を読み、PDFはそのまま、メール本文は文字として生成AIへ渡す
- 【自動】 生成AIが、従業員の呼び方・項目名・値・単位を、書かれたとおりに抜き出す
- 【自動】 顧問先ごとの対応表で、従業員を給与計算ソフトの従業員番号に、項目名をソフトの項目に当てる
- 【自動】 単位を給与計算ソフトの設定にそろえ、前月の値と比べて大きく変わったものに印を付ける
- 【自動】 取り込みの表に書き込み、対応表で当たらなかったものと印の付いたものを担当者に通知する
- 【人】 担当者が、当たらなかった従業員・項目を確かめ、対応表に登録する
- 【人】 担当者が、取り込みの表を確かめてCSVで書き出し、給与計算ソフトに取り込む
5番目の対応づけに、生成AIを使いません。 「山田」を「山田 太郎(従業員番号1023)」に当てるのは、表を引く作業です。当たらなければ止まり、担当者が決めた結果が次の月から表で当たるようになります。
9番目の取り込みは、人が行います。 取り込みを実行すれば、その値で給与が計算されます。確かめた人が取り込む、という順番を崩しません。
02今回想定するシステム構成
顧問先からのメール(変動データ用のアドレス)
│【トリガー】メールの受信
▼
Make(シナリオ)
├─ 送信元から顧問先を特定(顧問先の一覧)
├─ 添付を1つずつ取り出す
└─ ルーターで経路を分ける
├─ Excel … Google ドライブに変換して保存 → スプレッドシートの値を読む
├─ CSV ……… 文字として読む
├─ PDF ……… そのまま渡す
└─ 本文 ……… 文字として渡す
▼
Claude API ── 従業員の呼び方・項目名・値・単位を書かれたとおりに抜き出す
▼
Make ── 対応表で従業員番号と項目に当てる/単位をそろえる/前月と比べる
▼
取り込みの表(Google スプレッドシート)
▼
【人】当たらなかったもの・印の付いたものを確かめる
▼
【人】CSVで書き出し、給与計算ソフトに取り込む| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make | Power Automate、n8n、Zapier |
| 生成AI | Claude API(Make の Anthropic Claude モジュールから呼ぶ) | OpenAI API、Gemini API |
| 保管 | Google ドライブ(顧問先別の受領フォルダ) | SharePoint、Box |
| 対応表・取り込みの表 | Google スプレッドシート | Microsoft Excel |
| 給与計算 | マネーフォワード クラウド給与(取り込みは人が行う) | 取り込み用のCSVを使える給与計算ソフト |
Make は、つなぎと規則の担当です。 メールの受信、添付の取り出し、経路の分岐、対応表の参照、単位の変換、表への書き込みを受け持ちます。生成AIが受け持つのは、ばらばらの書式から値を抜き出す1か所だけです。
Make には Anthropic Claude のアプリがあります。 プロンプトを送る Create a Prompt のモジュールや、ファイルのアップロード、任意のAPIを呼ぶ Make an API Call のモジュールがそろっています。出力の形をJSONに固定したいので、Make an API Call で構造化出力の指定を付けて呼びます。
Excel をスプレッドシートに変換するのは、生成AIが Excel をそのまま読めないためです。 Claude API の文書の入力では、.xlsx や .docx のようなバイナリ形式は扱えず、文字かPDFに変換してから渡す必要があります。 Make の Google ドライブのモジュールには、アップロードの際にファイルを変換する設定があります。変換したスプレッドシートは、Google スプレッドシートのモジュールで範囲の値として読み出せます。
03どうやって実装するのか
処理の起点を決める
変動データ用のメールアドレスにメールが届いたことを起点にします。 Make の Email アプリの Watch emails のトリガーで受信を見張り、添付は Iterate attachments で1つずつ取り出します。添付が3つあれば、3つの流れとして処理されます。
顧問先には、変動データはこのアドレスへ送ってもらうよう案内します。担当者の個人アドレスに届いたものは、転送してもらいます。 入口がばらばらだと、処理されないまま埋もれるメールが出ます。
同じ顧問先から、訂正や追加のメールが続けて届きます。 そのたびにシナリオが動き、取り込みの表の同じ顧問先・同じ月の行を上書きせず、新しい版として追加します。 どの値が最新かは版の番号で分かるようにし、担当者が確かめて古い版を取り消します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 変動データ | Excel、勤怠システムのCSV、PDF、メール本文 | 変動データ用のメールアドレス |
| 顧問先の一覧 | 顧問先コード、会社名、送信元のメールアドレス、締め日 | スプレッドシート |
| 従業員の対応表 | 顧問先コード、顧問先での呼び方(姓、氏名、顧問先の社員番号)、給与計算ソフトの従業員番号 | スプレッドシート |
| 項目の対応表 | 顧問先コード、顧問先での項目名、給与計算ソフトの項目、単位 | スプレッドシート |
| 前月の値 | 従業員・項目ごとの前月の値 | 前月の取り込みの表 |
質を決めるのは、2つの対応表です。 生成AIがどれほど正確に抜き出しても、「山田」がどの従業員かは表にしか書かれていません。最初の月は当たらないものが多く出ますが、担当者が登録するたびに表が育ち、翌月から当たるようになります。
項目の対応表には、単位も持たせます。 同じ「残業」でも、顧問先Aは時間を小数で、顧問先Bは「時:分」で書いてきます。顧問先ごとの書き方を表に持っておけば、「8.30」の意味を迷わずに決められます。
データの取得方法を決める
添付の種類ごとに、ルーターで経路を分けます。 Make のルーターは、流れを条件ごとに複数の経路に分けるもので、どの条件にも当たらないものを処理するフォールバックの経路を設定できます。
| 種類 | 取り出し方 | 生成AIに渡すもの |
|---|---|---|
| Excel | Google ドライブにアップロードする際にスプレッドシートへ変換し、範囲の値を読み出す | セルの値を行と列の並びのまま文字にしたもの |
| CSV | 文字として読む | CSVの文字そのもの |
| そのまま | PDFのファイル | |
| メール本文 | 本文を取り出し、引用部分と署名を除く | 本文の文字 |
| その他 | フォールバックの経路 | 渡さない。担当者に通知する |
Excel のシートが複数あるときは、全部のシートを読みます。 顧問先によっては、1枚目に勤怠、2枚目に手当を書いてきます。1枚目だけを読むと、手当の変更がまるごと抜けます。
PDFは、パスワードのかかっていない標準的なPDFである必要があります。 Claude API のPDFの入力はパスワードや暗号化のないPDFが対象です。給与のデータはパスワードを付けて送られてくることが多いので、この経路の手前で確かめます。
AIへ渡す前に整形する
- 顧問先の特定 … 送信元のアドレスを顧問先の一覧で引きます。当たらなければ処理を止め、担当者に選ばせます
- パスワードの確認 … パスワード付きのPDFやExcelは自動で開きません。担当者に通知し、解除して受領フォルダへ保存し直してもらいます
- 引用部分の除去 … 返信の連鎖で届いたメールは、最新の本文だけを使います。先月のやり取りの数字を拾わないためです
- 対象月の確認 … ファイル名やメール本文から対象の月を読み、顧問先の締め日と合っているかを確かめます
- 重複の確認 … 同じ顧問先・同じ月・同じ内容のファイルが二度届いたものに印を付けます
- 前月の値の取り出し … 前月の取り込みの表から、その顧問先の従業員・項目ごとの値を取り出しておきます
4番目を省かないでください。 顧問先が先月分のファイルを間違えて送ってくることがあります。値の形は正しいので、対象月を確かめない限り誰も気づきません。
AIに処理させる
させるのは、書かれている値を、書かれているとおりに抜き出すことだけです。
| 抜き出すもの | 中身 | 判断できないときの扱い |
|---|---|---|
| 従業員の呼び方 | 書かれたとおり(「山田」「山田太郎」「No.12」) | 読めなければ空にし、理由を書く |
| 項目名 | 書かれたとおり(「残業」「時間外」「皆勤手当」) | 列の見出しが無ければ unlabeled |
| 値 | 書かれたとおりの文字(「8.30」「8:30」「2日」) | 読めなければ空 |
| 単位 | 書かれていれば(「時間」「分」「日」「円」) | 書かれていなければ空 |
| 明示の「なし」 | 「なし」「0」「—」と書かれているか | 空欄のままなら blank |
| 根拠の位置 | シート名とセル、PDFのページ、本文の文 | 必ず入れる |
5行目が、この構成の要です。 顧問先が「なし」と書いたのか、何も書かなかったのかを、抜き出しの段階で区別して残させます。 空欄を0として扱うか、値を変えない空欄として扱うかは、後段の規則と担当者が決めます。
| させないこと | 理由 |
|---|---|
| 従業員番号の推測 | 取り違えは2人分の給与の誤りになる。対応表で当てる |
| 項目の当てはめ | 顧問先ごとの意味は表にしかない |
| 単位の換算 | 「8.30」の意味は顧問先で違う。表の単位で換算する |
| 空欄を0で埋めること | 「なし」と「書き忘れ」の区別が消える |
| 支給額の計算 | 給与計算ソフトが行う |
3行目の単位の換算を生成AIにさせると、もっともらしく誤ります。 「8.30」を8.5時間に直すか8.3時間のままにするかは、顧問先の書き方の癖で決まります。抜き出しは書かれたとおり、換算は表の単位で行います。
指示内容を固定する
あなたは社会保険労務士事務所で、顧問先から届いた給与の変動データを
取り込みの表に写す前の、値の書き出しを担当しています。
渡すのは1社分・1回分のデータです。書かれていることだけを書き出してください。
【顧問先】{client_name}
【対象月】{target_month}
【データ】{payload} … スプレッドシートの値、CSV、PDF、メール本文のいずれか
【書き出すもの】
従業員ごと・項目ごとに:
- 従業員の呼び方(書かれたとおり)
- 項目名(書かれたとおり)
- 値(書かれたとおりの文字)
- 単位(書かれていれば)
- 明示の記載か空欄か(explicit / blank)
- 根拠の位置(シート名とセル、ページ、本文の文)
【厳守事項】
- 従業員番号や給与計算ソフトの項目名を推測して書かないでください。
- 値を換算しないでください。「8.30」は「8.30」のまま、「8時間30分」は「8時間30分」のまま書いてください。
- 空欄を 0 にしないでください。空欄は blank としてください。
「なし」「0」「-」と書かれているときだけ explicit としてください。
- 合計の行や小計の列は書き出さないでください。従業員ごとの行だけにしてください。
- 対象月と違う月のデータと思われる場合は、target_month_mismatch を true にしてください。
- 同じ従業員・同じ項目が2か所に書かれていて値が違う場合は、両方を書き出し、
conflict を true にしてください。どちらかを選ばないでください。
- 入社・退職・昇給・住所の変更など、変動データ以外の連絡が含まれていたら、
other_notices に原文のまま書き出してください。
「合計の行を書き出さない」を入れないと、「合計」という名前の従業員が1人増えます。 顧問先の表の最下行には、ほぼ必ず合計があります。
「入社・退職・昇給」を別の欄に出させるのは、これらが変動データの転記では済まないためです。 従業員の登録や固定的な賃金の変更は、給与計算ソフトの別の画面での作業になり、別の手続にもつながります。取り込みの表に紛れ込ませず、担当者が必ず読む欄に出します。
出力形式を固定する
構造化出力で、次の形のJSONを返させます。 Claude API の構造化出力は、指定した JSON Schema に沿った応答を返させる機能で、必須の項目の欠けや型の誤りを防げます。
{
"client_code": "",
"target_month": "",
"target_month_mismatch": false,
"rows": [
{ "employee_ref": "", "item_label": "", "value_raw": "", "unit_raw": "",
"presence": "explicit | blank", "conflict": false, "source": "" }
],
"other_notices": [""]
}
1つ目の理由は、employee_ref と item_label を書かれたとおりに持てることです。 Make は、この2つで対応表を引きます。書かれたとおりの文字が残っていれば、当たらなかったときに担当者が何を登録すればよいかがそのまま分かります。
2つ目は、presence で空欄の意味を運べることです。 Make は、explicit の「なし」には0を、blank には空欄を入れ、blank の行に印を付けて担当者に見せます。
3つ目は、source で元のファイルに戻れることです。 確認のとき、セルやページの位置から原本をすぐ開けます。
Make が対応表と単位の変換を通した後の、取り込みの表の1行は次のようになります。
| 従業員番号 | 項目 | 値 | 元の記載 | 状態 |
|---|---|---|---|---|
| 1023 | 普通残業時間 | 8.5 | 「山田」「残業」「8.30」(勤怠!C5) | 当たった |
| 1047 | 欠勤日数 | 0 | 「鈴木」「欠勤」「なし」(本文2行目) | 当たった |
| 1047 | 遅刻早退時間 | (空欄) | 「鈴木」「遅刻」空欄(勤怠!E7) | 空欄の確認 |
| - | - | 12 | 「佐藤」「早出」「12」(勤怠!C9) | 従業員が2人当たる |
1行目の「8.30」を8.5にしているのは、この顧問先の項目の対応表に「時:分」と登録されているからです。 給与計算ソフトの勤怠項目の単位が「0.0時間」の設定なら小数で、「000時間00分」の設定なら「8:30」のように半角のコロンで入れる必要があります。変換先の形も、項目の対応表に持たせます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 変動データ用のメールアドレス | Make の Email アプリ(Watch emails) | 受信の検知と添付の取り出し |
| Google ドライブ | Make の Google Drive モジュール | 添付の保存と、Excel からスプレッドシートへの変換 |
| Google スプレッドシート | Make の Google Sheets モジュール | 変換した表の値の読み出し(Get Range Values)、対応表の検索(Search Rows)、取り込みの表への書き込み(Bulk Add Rows) |
| Claude API | Make の Anthropic Claude アプリ(Make an API Call) | 構造化出力での値の書き出し |
| Gmail/Google Chat | 通知 | 当たらなかったもの、印の付いたもの、変動データ以外の連絡 |
シナリオのモジュールは、上から次の順に並びます。
- Email > Watch emails(変動データ用のアドレスを見張る)
- Google Sheets > Search Rows(送信元のアドレスで顧問先の一覧を引く)
- Email > Iterate attachments(添付を1つずつにする)
- ルーター(Excel/CSV/PDF/本文/フォールバック)
- 経路ごとの取り出し(Excel は Google Drive > Upload a File で変換し、Google Sheets > Get Range Values で読む)
- Anthropic Claude > Make an API Call(構造化出力で書き出させる)
- Iterator(返ってきた
rowsを1行ずつにする) - Google Sheets > Search Rows(従業員の対応表と項目の対応表を引く)
- アグリゲーター(1回分の行をまとめる)と Google Sheets > Bulk Add Rows(取り込みの表へ書き込む)
9番目でまとめて書き込むのは、1回分の行を1つの版として扱うためです。 1行ずつ書き込むと、途中で止まったときに半分だけ書き込まれた版が残ります。
給与計算ソフトへは、この構成から書き込みません。 取り込みの表をCSVで書き出し、給与計算ソフトの画面から取り込むのは担当者です。取り込みの操作をした人が、その月の値に責任を持つ形にします。
取り込みの表は、給与計算ソフトのサンプルCSVと同じ列の並びにします。 マネーフォワード クラウド給与の場合、A列の「Version」は必須で、B列の「従業員識別子」かC列の「従業員番号」のどちらかを入れる必要があり、J列以降が各項目の入力欄です。列の並びを最初にサンプルからそろえておけば、書き出したCSVをそのまま取り込めます。
人が確認する
全件、担当者が確かめてから取り込みます。 そのうえで、見る順番を決めます。
- 変動データ以外の連絡を読む … 入社・退職・昇給などは、取り込みの前に別の作業が要ります
- 当たらなかった従業員・項目を登録する … 対応表に登録すると、その行が当たった状態になります。同じ姓が2人いるものは、顧問先に確かめます
- 空欄の確認の行を決める …
blankの行について、「なし」か「書き忘れ」かを顧問先の過去の傾向から判断し、分からなければ問い合わせます - 前月と大きく違う値を見る … 残業が前月の3倍になった、手当が消えた、などの印の付いた行を、原本の位置から確かめます
- CSVで書き出して取り込む … 取り込んだ後、ソフトの画面で取り込んだ項目に印が付いたことを確かめます
3番目を省かないでください。 給与計算ソフトによっては、空欄で取り込んだ項目は上書きされず、画面に表示されている値がそのまま残ります。先月入れた欠勤日数が、今月も残ったまま計算されるのはこの経路です。
目標は、40件をならして1件12分です。 対応表が育った顧問先は、印の付いた行だけを見て数分で終わります。最初の2か月は、対応表の登録で時間がかかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 送信元が顧問先の一覧に無い | 処理を止め、担当者が顧問先を選ぶ。 一覧に追加する |
| パスワード付きのファイル | 自動で開かない。担当者が解除して受領フォルダに保存し直す |
| 対象月が違う | target_month_mismatch。顧問先に確かめる |
| 同じ従業員・項目に2つの値 | conflict。どちらも取り込みの表に入れず、担当者が決める |
| 対応表で従業員が2人当たる | 自動で選ばない。担当者が決め、対応表の呼び方を細かくする |
| 訂正のメールが届く | 新しい版として追加する。古い版を消すのは担当者 |
| Excel・CSV・PDF・本文のどれでもない | フォールバックの経路で担当者へ通知する |
| 変動データ以外の連絡 | other_notices を担当者へ。取り込みの表には入れない |
| 生成AIやスプレッドシートが応答しない | 受領フォルダに残し、処理済みに移さない |
上から4行目と5行目が、支給額の誤りに直結します。 どちらも「どちらかを選べば先に進める」場面ですが、選ぶのは人です。 自動で選ぶ分岐は作りません。
記録を残す
- 受信したメールと添付の原本、受信の日時
- 生成AIに渡したもの(変換後の値、CSV、PDF、本文)と、返ってきたJSON
- 対応表で当てた結果と、当たらなかったものを担当者がどう登録したか
- 単位の変換の前と後の値
- 取り込みの表の版と、取り込んだ担当者と取り込んだ日時
- 顧問先への問い合わせと、その回答
3つ目の登録の記録は、対応表の育ち方を見る材料になります。 毎月同じ項目が当たらない顧問先は、表の書き方を毎月変えています。書式を固定してもらうよう相談するほうが、登録を続けるより早く終わります。
04実装レベルの3段階
最小構成では、対応づけと単位の変換が手作業のまま残ります。 読み解く時間は減りますが、転記は続きます。確かめるための段階です。 半自動化で、1件45分が12分になり、この段階が本記事の想定です。 読み解き、対応づけ、単位の変換、表への書き込みが自動になり、人は印の付いた行を確かめて取り込みます。本格構成は、取り込みまで自動にする段階ですが、給与計算ソフトの側にその機能があるかは製品によって違い、個別の確認が要ります。 取り込みを人が行う理由は第7章のとおりなので、本記事ではこの段階を勧めません。 半自動化の最初の2か月で、対応表を育ててください。 当たらない行が月に数件まで減れば、確認の時間は印の付いた行だけになります。
05工数削減シミュレーション
導入後 40件 × 12分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 給与計算の代行を数十社から受託している社会保険労務士事務所。顧問先ごとに、Excel、勤怠システムのCSV、PDF、メール本文と、変動データの届き方がばらばらな場合。締め日から支給日までの数日に転記が集中し、担当者が限られている場合。取り込み用のCSVを使える給与計算ソフトを事務所で使っている場合。
- 顧問先が数社で、全社が同じ勤怠システムから同じ形式のCSVを出している場合。顧問先の勤怠システムと給与計算ソフトが直接つながっている場合。変動データの大半が電話や口頭で伝えられる場合。なお、支給額の計算方法や手当の支給要件の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月届いた変動データから、書式の違う5社分を選ぶ(Excel、CSV、PDF、メール本文をそれぞれ含める)
- 1社ずつ、手元の生成AIサービスに貼り付ける(Excel はPDFにするか、値をコピーして貼る)
- 「このデータから、従業員ごと・項目ごとの値を、書かれたとおりに表にしてください。換算しないでください。空欄は空欄のままにし、『なし』と書かれているものだけ『なし』としてください。合計の行は除いてください」と指示する
- 出てきた表を、先月実際に取り込んだ値と突き合わせる
4番目で見るのは、値の一致だけではありません。 空欄を0で埋めていないか、合計の行が紛れていないかを最初に見ます。
| 出てきた内容 | 判断 |
|---|---|
| 書かれたとおりに抜き出せた | Make のシナリオと対応表の作成に進む |
| 単位を勝手に換算した、空欄を0にした | 指示の書き方で直る。構成は有効 |
| 表の読み取りそのものが崩れる | 顧問先の表の形に問題がある。結合セルの多い表は書式の相談から |
3行目は、顧問先の表を見直すきっかけになります。 結合セルや手書きの注記が多い表は、人が読んでも迷う表です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 空欄を0として取り込む/0を空欄として取り込む | 「なし」と空欄を抜き出しの段階で分ける。 空欄の行は必ず人が決める |
| 空欄で取り込んで前の値が残る | 空欄は上書きされないことを前提に、「なし」には0を入れる |
| 「8.30」の単位を取り違える | 顧問先ごとの書き方を項目の対応表に持つ。生成AIに換算させない |
| ソフトの単位の設定と合わない | 変換先の形(小数か「時:分」か)を項目の対応表に持つ |
| 同じ姓の従業員を取り違える | 対応表で2人当たったら止める。呼び方を細かく登録する |
| 合計の行が従業員として入る | 合計・小計を書き出さないよう指示する |
| Excel の2枚目のシートが読まれない | 全部のシートを読む |
| Excel を生成AIにそのまま渡して失敗する | スプレッドシートに変換して値を読む |
| パスワード付きのファイルで止まる | 自動で開かず、担当者が解除する |
| 訂正のメールで古い値が残る | 版として追加し、古い版を取り消すのは担当者 |
| 入社・退職の連絡が埋もれる | other_notices として別に通知する |
| 備考の欄を空欄で取り込む | ソフトによっては備考を空欄で取り込むと内容が消える。 備考の列は取り込みの表から外すか、必ず値を入れる |
上の4行が、この構成の失敗のほとんどです。 どれも「書類の上では正しく見える」誤りで、給与が支給されてから従業員が気づきます。 抜き出しと換算を分け、空欄の扱いを規則で決めることで、誤りの出どころを限ります。
いちばん下の行も、最初に決めてください。 給与計算ソフトの取り込みには、空欄が「変えない」を意味する項目と「消す」を意味する項目が混ざっていることがあります。サンプルCSVの説明を読み、項目ごとの空欄の意味を対応表に書いておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧問先の従業員の氏名、勤怠、欠勤、手当の額、そして入社・退職・昇給などの処遇に関わる連絡です。
- 外部へ渡す範囲を変動データに限る … 生成AIに渡すのは、その月の変動データだけです。従業員の対応表や給与の額そのものは渡しません
- パスワード付きのファイルの扱いを決める … 解除した後のファイルをどこに保存し、いつ消すかを決めます。パスワードをメール本文に書いてもらう運用は避けます
- この構成は給与計算の判断を代替しません … 出すのは、書かれた値を取り込みの形にそろえた表までです。手当の支給要件や割増の計算方法の判断は、社労士と顧問先が行います
- 取り込みを自動にしない … 取り込めば、その値で給与が計算されます。確かめた人が取り込む手順を崩さないでください
- Make のシナリオの実行履歴にデータが残る … シナリオの実行の記録には、処理したデータの中身が含まれえます。履歴を見られる人を限り、保存の期間を確かめてください
- 顧問先ごとにデータを分ける … 対応表と取り込みの表は顧問先ごとのシートに分け、他社の従業員の値が同じシートに並ばないようにします
誤りが起きた場合のリスクは、従業員を取り違えることと、値の意味を取り違えることの2つです。 前者は対応表で2人当たったときに止めることで、後者は空欄と単位を規則で扱うことで防ぎます。どちらも生成AIの推測に任せないのが、この構成の前提です。
10まず何から始めるか
1週目:変動データの届き方を数える
40社について、先月の変動データがどの形(Excel、CSV、PDF、メール本文)で届いたかを一覧にします。パスワード付きで届く顧問先にも印を付けます。 あわせて、変動データ用のメールアドレスを用意し、顧問先への案内文を作ります。
2週目:5社で試す
書式の違う5社分を手元の生成AIサービスに貼り、書かれたとおりに抜き出させます。空欄を0で埋めていないか、合計の行が紛れていないかを最優先で見ます。
3週目:対応表を作る
5社分について、従業員の呼び方と給与計算ソフトの従業員番号、項目名とソフトの項目・単位の対応表を作ります。給与計算ソフトのサンプルCSVを取り出し、取り込みの表の列の並びと、項目ごとの空欄の意味を確かめます。
4週目:Make のシナリオをつなぐ
メールの受信から、経路の分岐、生成AIでの抜き出し、対応表の参照、取り込みの表への書き込みまでを作ります。この時点では取り込みの表を人が作った表と並べ、値が一致するかだけを見ます。
2か月目: 対象を40社に広げ、当たらない従業員と項目を対応表に登録していきます。3か月目以降: 前月との比較の印を足し、1件45分が何分になったかを実測します。当たらない行が月に数件まで減り、空欄の確認が顧問先の書式の相談で減った時点で、この構成は完成です。
11関連ユースケース
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| アグリゲーターが複数のバンドルを1つにまとめるモジュールで、Group by で値ごとに分けて出力できること。Email > Watch emails が受信を見張り、添付の配列 Attachments[] を出力し、Email > Iterate attachments が添付を1つずつのバンドルにすること | Make Help Center: Aggregator | 2026-09-29 |
| ルーターがシナリオの流れを条件ごとに複数の経路に分け、どの経路にも当たらないデータを処理するフォールバックの経路を設定できること。経路が順に処理されること | Make Help Center: Router | 2026-09-29 |
| イテレーターが配列を一連のバンドルに変え、配列の要素を1つずつ別のバンドルとして出力すること | Make Help Center: Iterator | 2026-09-29 |
| Google Drive の Watch Files in a Folder が、選んだフォルダでのファイルの作成・変更で動くこと。Upload a File にファイルを変換する設定があること。Download a File で Google のドキュメントやスプレッドシートを別の形式に変換して取り出せること | Make Apps: Google Drive modules | 2026-09-29 |
| Google Sheets の Get Range Values が範囲の内容を返し、Search Rows が条件に合う行を返し、Bulk Add Rows (advanced) が複数の行を表の末尾に追加すること | Make Apps: Google Sheets modules | 2026-09-29 |
| Make の Anthropic Claude アプリに、Create a Prompt、ファイルのアップロード、Make an API Call などのモジュールがあり、APIキーで接続すること | Make Apps: Anthropic Claude | 2026-09-29 |
| Claude API のPDFの入力が、パスワードや暗号化のない標準的なPDFを対象とすること。.xlsx や .docx のようなバイナリ形式は文書の入力として扱えず、文字かPDFに変換してから渡す必要があること | Anthropic Docs: PDF support | 2026-09-29 |
構造化出力で、output_config.format に JSON Schema を指定すると、スキーマに沿った応答が返り、必須の項目の欠けや型の誤りを防げること | Anthropic Docs: Structured outputs | 2026-09-29 |
| マネーフォワード クラウド給与で、支給・控除・勤怠の項目をCSVで取り込めること。サンプルCSVのJ列以降が各項目の入力欄で、A列の「Version」が必須、B列の「従業員識別子」かC列の「従業員番号」のどちらかが必要なこと。勤怠項目の値を設定された単位と一致させる必要があり、「0.0時間」なら小数、「000時間00分」なら半角コロンで入力すること。空欄で取り込んだ項目は上書きされずに表示中の値が残り、「備考」を空欄で取り込むと内容が削除されること | マネーフォワード クラウド給与 使い方ガイド: 支給・控除・勤怠項目をCSVでインポートする方法 | 2026-09-29 |
手当の支給要件や割増の計算方法の判断は、社会保険労務士と顧問先で行ってください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0317)についてのご相談はこちらから。
