経費精算の「手入力ゼロ」を実現!GoogleフォームとGASで作る最強の自動化フロー

経費精算の「手入力ゼロ」を実現!GoogleフォームとGASで作る最強の自動化フロー

経費精算の手入力地獄

月末が近づくたびに憂鬱になる。理由は分かっている。経費精算の手入力地獄が始まるからです。

まず、机の上に積まれた紙の領収書。フォーマットがバラバラのExcelファイル。社員によってはレシートを封筒に突っ込んだだけで持ってくる人もいる。これを一件一件、手で会計システムに打ち込んでいく。数字を見続けて目がかすむ。コピーミスが怖くて、一つひとつ確認しながら進める。気がつけば数時間が消えている。

「3」なのか「8」なのか判読できない手書きの領収書。わざわざ現場の社員に電話して確認したことが何度あるか。「先月の領収書ですが。この金額は500円ですか?」「あー…そうだったかな」こんな不毛なやり取りに費やす時間が積み重なっていく。

入力ミスは絶対に許されない。桁を一つ間違えるだけで決算数字がズレる。ダブルチェック、トリプルチェックは欠かせず。神経をすり減らしながら終わらない転記作業を続ける。精神的な消耗も馬鹿にできありません。

次に、私の担当部署だけで

次に、私の担当部署だけで、毎月約15時間をこの「転記作業」だけに費やしていた。営業日ベースで2日近い時間だ。本来やるべき予算分析や改善提案に使うべき時間が、ただのデータ入力に消えていた。「入力マシーン」と化している現状、そろそろ終わりにしたい——そう思ったのが。この仕組みを作るきっかけだった。

Google無料ツールで経費精算自動化

解決策の一つとして、高額な専用の経費精算システムを導入するという選択肢がある。ただし月額数万円のコスト、稟議の承認。ベンダーとの契約——実現までに数ヶ月かかるのが現実です。

そこで目を向けるべきが。すでに手元にある無料ツール——Google フォームとGoogle スプレッドシートです。

一方で、仕組みは単純明快。申請者がフォームから入力したデータは。そのままスプレッドシートの一行として自動で記録される。経理担当者が「転記する」という作業そのものが、この世から消える。

コストはゼロ。専用サーバーも不要。Googleアカウントさえあれば今日から始められる。さらにGAS(Google Apps Script)を少しだけ組み合わせると。申請があった瞬間に承認者へ自動通知まで飛ばせる。「フォーム入力→スプレッドシート自動記録→承認者に自動メール」という一連の流れが。コードをほぼ書かずに実現できるのです。

フォーム設計:不備削減と効率化

フォームの設計で最も重要なのは「申請者が迷わず、正確に入力できるか」だ。入力者の利便性を高めることが、そのままデータ品質の向上につながる。

そのため、経費申請フォームに必要な項目は、以下の4つに絞り込む。

・申請日(カレンダーピッカーで選択式にする)
・金額(数値のみ入力可能に設定する)
・用途・勘定科目(プルダウン選択式。交通費・会議費・消耗品費など固定の選択肢を用意する)
・領収書(ファイルアップロード機能でスマホで撮影した写真をそのまま添付できる)

自由記述欄は極力排除するのが鉄則だ。「備考」などの自由入力欄は記入方法がバラバラになり。後の集計で余計な手間が発生する。部門名や科目はプルダウン選択式に統一することで、表記ゆれを根本から防げる。

しかし、Googleフォームの「入力規則」機能を活用すれば。数字以外の入力を弾いたり。必須項目の未記入を防いだりできる。これにより「後から確認の電話が必要な不備申請」を大幅に減らせる。

スマホ対応はデフォルトで万全だ。外出先の営業担当者が。飲食の領収書をその場でカメラで撮ってフォームから送信する流れが当たり前になれば。翌月に「先月のレシートどこやった?」という探し物も消える。

フォーム回答の自動保存とピボットテーブル活用

フォームが完成したら。回答の保存先をスプレッドシートに設定する。フォーム編集画面の「回答」タブから「スプレッドシートで表示」をクリックするだけで完了です。

さらに、これ以降、フォームに申請が届くたびに。スプレッドシートの新しい行としてデータが自動追加される。タイムスタンプ(申請日時)も自動記録されるため。「いつ誰が申請したか」が一目で分かる状態になる。

ただ、データが羅列されているだけでは月次処理には使いにくい。部門別や科目別の集計が必要になる場面で力を発揮するのが、ピボットテーブルです。

スプレッドシートの「データ」→「ピボットテーブルを作成」から設定できる。部門名を「行」に、勘定科目を「列」に、金額を「値(合計)」に設定するだけで。部門×科目別の集計表が自動生成される。

まず、最大のメリットは。新しい申請データが追加されるたびにピボットテーブルの集計値も自動更新される点だ。月次締め前日に手元で電卓を叩き直す作業は、もう不要になる。

ここで一度立ち止まって考えてみてください

Pythonや自動化スキルを体系的に習得して。ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エ…

プログラミングスクール Enjoy Tech!(エンジョイテック) →

承認漏れ防止のGAS通知

データの自動蓄積と集計は仕組み化できた。しかしもう一つ問題が残る——「申請が届いているのに承認者が気づかない」という課題です。

Google Apps Script(GAS)を使えば。フォームが送信された瞬間に上長や経理担当者へメールを自動送信できる。必要なコードはわずか15行程度。プログラミングの深い知識は不要です。

次に、以下が実際に使えるコードだ。スプレッドシートのApps Scriptエディタに貼り付け。メールアドレスを書き換えるだけで動く。

経費申請メールの自動通知

function onFormSubmit(e) {
  var values = e.values;
  var date      = values[1]; // 申請日
  var amount    = values[2]; // 金額
  var category  = values[3]; // 用途・勘定科目
  var applicant = values[4]; // 申請者名

  var subject = "【経費申請】" + applicant + "さんから申請が届きました";
  var body = "経費申請が届きました。内容をご確認ください。\n\n"
           + "■ 申請日: " + date + "\n"
           + "■ 申請者: " + applicant + "\n"
           + "■ 金額: " + amount + "円\n"
           + "■ 用途: " + category;

  MailApp.sendEmail("manager@example.com", subject, body);
}

GASスクリプト設定と高速承認

設定は3ステップだ。スプレッドシートの「拡張機能」→「Apps Script」を開き。上記コードを貼り付ける。次に「トリガー」を設定し、「フォーム送信時」に関数が実行されるよう指定する。これだけで完了です。

Slack通知に変えたい場合は、`MailApp.sendEmail`の代わりにSlackのIncoming Webhook URLに対してリクエストを送る`UrlFetchApp.fetch()`を使えばよい。GASはGoogleのサービスだけでなく、外部WebサービスへのHTTPリクエストにも対応している。

一方で、通知が届けば承認者はリンクを踏んで内容を確認し、即座にOKを出せる。タイムラグのない承認フローが完成する。

小さな成功から始めるツール定着

仕組みとしては完成した。しかし、現場への定着は別の課題だ。新しいツールの導入では必ずと言っていいほど「今のやり方でいいじゃないか」「フォームの使い方が分からない」という声が上がる。これは技術の問題ではなく、人の問題です。

対処法は「最初から完璧を目指さない」ことです。

そのため、全社一斉導入ではなく、まずは自部署の数人。あるいはITツールに慣れているメンバー数人だけでパイロット運用を始める。小さな成功体験を作り、それを口コミで広げるほうが。トップダウンの強制よりもはるかに定着が早い。

実際に私が経験したことを話すと。最初の導入時には「また新しいツールか…」という空気があった。ところが、テスト運用を始めて数日後に状況が一変した。

「スマホから写真撮って送るだけでいいの?これ楽すぎる」

しかし、この言葉が、現場の空気を変えた。のりでレシートを貼り付けて、提出票に手書きする手間と比べると、あまりに簡単だ。一度体験した人は、古いやり方には戻りたくなくなる。経理側から「使ってください」とお願いするより。使ったメンバーが自然と周囲に勧めてくれる状況になれば、定着は加速する。

Googleフォーム×GAS 経費精算自動化

GoogleフォームとGASを使った経費精算自動化のフローをまとめると。次の3ステップです。

1. Googleフォームで申請を一本化——スマホから数クリックで提出完了。手書き不要、フォーマット不統一も解消。2. スプレッドシートで自動集計——ピボットテーブルを使い。部門別・科目別の集計が自動更新される。3. GASで承認通知を自動化——フォーム送信と同時にメール通知。承認フローのタイムラグを解消。

さらに、このフローを導入してから。私の部署の月次経費処理にかかる時間は約15時間から3時間程度に短縮された。浮いた12時間で何をするか——コスト分析の資料を作ったり。業務改善の提案をまとめたり。「経理担当者としてやるべき本来の仕事」に時間を使えるようになった。

経理の価値は「正確に入力する」ことではなく「データから経営の意思決定を支援する」ことだと思っている。手入力の地獄から抜け出した先に、そういう仕事への変化が待っている。

コストゼロ、Googleアカウントがあれば今日から始められる。まずは自部署だけの小さな一歩から試してみてほしい。

関連リンクとチェックリスト

75em;line-height:1.45;margin:2.1em 0 0.9em;font-weight:700;”>GASコードとトリガー設定:通知を自動化

このコードは、フォームが送信されるたびに自動的に実行されるように設定します。スプレッドシートのApps Scriptエディタを開き、「トリガー」アイコンをクリックします。「新しいトリガーを追加」を選択し、以下の項目を設定してください。

・実行する関数:onFormSubmit (先ほど作成した関数名)
・イベントのソース:スプレッドシートから
・イベントの種類:フォーム送信時

これで設定は完了です。一度設定してしまえば、あとはシステムが自動で働き続けてくれます。初めて通知メールが届いたときは、正直感動しました。これまで手動でやっていた作業が、本当に自動で動き出すんだと。プログラミングの「プの字」も知らなかった私でも。こんなに便利な仕組みが作れるのかと、自分の可能性に少しだけワクワクしました。

この自動通知のおかげで

この自動通知のおかげで、「申請漏れ」や「承認遅延」という言葉が私の部署から消えました。上長も「これならいつ申請が来てもすぐに対応できるね」と喜んでくれました。何より、経理担当者としては、月末に「あの申請まだですか?」と催促する手間がなくなったのが一番の収穫です。精神的な負担が本当に軽くなりました。

もちろん、GASはこれだけではありません。例えば、申請された金額が一定額以上の場合に、さらに上位の承認者にも通知を送るといった、より複雑な承認フローも組めます。また、特定の勘定科目(例えば交際費)が申請された場合に、その内容を自動でスプレッドシートの別シートに転記するといったことも可能です。少しずつコードをいじってみることで、自分だけの「痒い所に手が届く」自動化ツールを育てていけるのです。

最初は「コードなんて難しそう」と尻込みしていましたが

最初は「コードなんて難しそう」と尻込みしていましたが、実際にやってみると、意外とシンプルなコードで多くのことが実現できると分かりました。インターネット上にはGASのサンプルコードがたくさん公開されていますし、ChatGPTのようなAIに「Googleフォームの回答をメールで通知するGASコードを書いて」と聞けば、すぐに教えてくれます。それをコピペして、自分の環境に合わせて少しだけ修正するだけで、あっという間に動いてしまうのです。この手軽さが、私のような文系事務職にとって、プログラミングへのハードルを大きく下げてくれました。

この仕組みを導入してから、私の部署では経費精算にかかる時間が劇的に短縮されました。以前は毎月15時間も費やしていた転記作業が、ほぼゼロになったのです。浮いた時間で、これまで手付かずだった予算の深掘り分析や、他部署との連携強化など、本来やるべき業務に集中できるようになりました。これは、単なる時短以上の価値があると感じています。データ入力マシーンから、一歩先の仕事ができるようになった実感があります。

さらに、申請者側も「いつでもスマホから申請できる

さらに、申請者側も「いつでもスマホから申請できる」「手書きの領収書を保管しておく必要がない」といったメリットを享受しています。現場の社員からも「経費精算が楽になった」という声が聞かれ、社内全体の業務効率アップにも貢献できたと自負しています。無料ツールと少しのGASコードで、これほどの効果が得られるとは、正直驚きでした。もし、今も手入力での経費精算に苦しんでいる方がいらっしゃいましたら、ぜひこのGoogleフォームとGASの組み合わせを試してみてほしいです。きっと、あなたの月末の憂鬱が、少しだけ晴れるはずです。

関連リンクとチェックリスト

学習サービスとアンケート

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →