経費申請・承認ワークフローを自動化|Notion・Make・Slack・Googleスプレッドシートを組み合わせた実践レシピ

経費申請・承認ワークフローを自動化するイメージ

ゴールと前提条件

経費申請から承認、記録までのプロセスを自動化することで、申請者の手間を最小限に抑え、承認者はリアルタイムで通知を受け取り、経理担当者は自動集計されたデータをすぐに確認できる環境を構築します。

このワークフローで実現できること

  • 申請から承認までの時間を70%削減:紙やメールでのやり取りをなくし、全てオンラインで完結
  • 承認漏れ・遅延の防止:自動通知により承認者が即座に対応可能
  • 経理処理の効率化:データが自動でスプレッドシートに集約され、月次処理が簡単に
  • 申請履歴の一元管理:Notionで全ての経費申請を可視化し、検索・分析が容易に

前提となる環境

このワークフローを実装するには、以下のツールとアカウントが必要です:

  • Notion:経費申請フォームとデータベースとして利用(無料プランでも可能)
  • Make(旧Integromat):各ツールを連携させる自動化プラットフォーム(無料プランは月1,000オペレーションまで)
  • Slack:承認通知とコミュニケーション用(無料プランでも可能)
  • Googleスプレッドシート:経費データの集計と分析用(Googleアカウントがあれば無料)

これらのツールは全て無料プランから始められるため、小規模チームでも導入ハードルが低いのが特徴です。

全体フローの俯瞰図

このワークフローは以下の4つのステップで構成されています:

  1. トリガー:Notionで経費申請を作成

    社員がNotionの経費申請データベースに新しいエントリーを追加します。申請内容には、日付・金額・カテゴリー・用途・領収書画像などが含まれます。

  2. 情報整理:Makeが申請データを取得

    Notionに新規申請が追加されると、Makeが自動的にそれを検知し、申請内容を構造化されたデータとして取得します。

  3. 通知:Slackで承認者に通知

    Makeが取得したデータをもとに、承認者のSlackチャンネルまたはDMに通知を送信します。通知には申請内容の要約と承認ボタンが含まれます。

  4. 記録:承認後にGoogleスプレッドシートに自動記録

    承認されると、MakeがGoogleスプレッドシートに申請データを自動的に追記します。同時に、Notionの申請ステータスも「承認済み」に更新されます。

この一連の流れにより、申請から記録までが完全に自動化され、人の手を介する作業は「申請の入力」と「承認ボタンのクリック」だけになります。

使用するツールと役割

1. Notion:経費申請フォームとデータベース

Notionは、このワークフローの「入口」として機能します。

担当する役割:

  • 社員が経費申請を入力するフォームとして利用
  • 全ての申請履歴を一元管理するデータベース
  • 申請ステータス(申請中・承認済み・却下)の管理
  • 領収書画像のアップロードと保管

Notionのデータベース機能を使うことで、フィルター・ソート・検索が簡単にでき、過去の申請を素早く見つけることができます。

2. Make:自動化の中枢

Makeは、各ツールを連携させる「自動化エンジン」です。

担当する役割:

  • Notionの新規申請を監視(トリガー)
  • 申請データを取得して整形
  • Slackに通知を送信
  • 承認後にGoogleスプレッドシートにデータを追記
  • Notionのステータスを更新

Makeはノーコードで複雑な自動化を構築できるため、プログラミング知識がなくても視覚的に設定できます。

3. Slack:リアルタイム通知とコミュニケーション

Slackは、承認者への通知手段として利用します。

担当する役割:

  • 新規申請があったことを承認者に即座に通知
  • 申請内容の要約を見やすく表示
  • 承認・却下のボタンを提供(Block Kit使用)
  • 承認者が外出先からでもモバイルで対応可能

Slackを使うことで、承認者がメールを開かずとも、普段使っているコミュニケーションツール上で即座に対応できます。

4. Googleスプレッドシート:データ集計と分析

Googleスプレッドシートは、承認済みの経費データを蓄積・集計する場所です。

担当する役割:

  • 承認済み経費の自動記録
  • 月次・四半期ごとの集計
  • カテゴリー別・部署別の分析
  • 会計ソフトへのインポート用データ作成

スプレッドシートに自動集約されることで、経理担当者は月末の集計作業が大幅に楽になります。

手順詳細(ステップバイステップ)

STEP 1:Notionで経費申請データベースを作成

まず、Notionに経費申請を管理するデータベースを作成します。

作成手順:

  1. Notionで新しいページを作成し、「Table – Inline」を選択
  2. データベース名を「経費申請管理」などに設定
  3. 以下のプロパティ(列)を追加:
    • 申請日(Date型):経費が発生した日付
    • 申請者(Person型):申請した社員
    • 金額(Number型・通貨設定):経費の金額
    • カテゴリー(Select型):交通費・接待費・消耗品費など
    • 用途・内容(Text型):何のための経費か
    • 領収書(Files & media型):領収書画像をアップロード
    • ステータス(Select型):申請中・承認済み・却下の3択
    • 承認者(Person型):誰が承認するか
    • 承認日(Date型):承認された日付

つまづきポイント:

カテゴリーは会社の経費規程に合わせて設定しましょう。一般的には「交通費」「宿泊費」「接待交際費」「消耗品費」「通信費」などです。後から追加・変更も可能です。

STEP 2:NotionのAPIを有効化しデータベースIDを取得

MakeがNotionと連携するには、APIアクセスを設定する必要があります。

設定手順:

  1. Notion Integrationsにアクセス
  2. 「New integration」をクリック
  3. Integration名を入力(例:Make経費連携)
  4. 「Submit」をクリックして「Internal Integration Token」をコピー(後で使用)
  5. 作成した経費申請データベースページを開く
  6. 右上の「…」メニューから「Add connections」→ 作成したIntegrationを選択
  7. データベースのURLからデータベースIDをコピー(URLの/と?の間の32文字)

つまづきポイント:

データベースIDは、NotionのページURLの中にあります。例えば、URLが
https://www.notion.so/myworkspace/12345678901234567890123456789012?v=...
の場合、12345678901234567890123456789012の部分がデータベースIDです。

STEP 3:Makeで新規シナリオを作成

Makeにログインし、自動化のシナリオを構築します。

シナリオ構築手順:

  1. Makeにログインし、「Create a new scenario」をクリック
  2. 最初のモジュールとして「Notion」を検索し、「Watch Database Items」を選択
  3. Notionとの接続を作成(先ほどコピーしたIntegration Tokenを入力)
  4. Database IDに経費申請データベースのIDを入力
  5. 「Filter」で「ステータス = 申請中」の条件を設定(承認済みは除外)

これで、Notionに新しい申請が追加されるたびに、Makeが自動的に検知するようになります。

STEP 4:Slackへの通知設定

次に、承認者にSlackで通知を送る設定をします。

設定手順:

  1. Makeのシナリオに新しいモジュールを追加し、「Slack」を検索
  2. 「Send a Message」を選択
  3. Slackとの接続を作成(Slackワークスペースへのアクセスを許可)
  4. 「Channel」に承認通知を送るチャンネル(例:#経費承認)を指定
  5. 「Message Text」に以下のような内容を設定:
🧾 新しい経費申請があります

【申請者】{{申請者名}}
【申請日】{{申請日}}
【金額】¥{{金額}}
【カテゴリー】{{カテゴリー}}
【用途】{{用途・内容}}
【領収書】{{領収書URL}}

このメッセージに✅で承認、❌で却下してください

より高度な設定:

Slack Block Kitを使うと、承認ボタン付きのインタラクティブなメッセージを作成できます。この場合は、MakeでSlackの「Create a Message with Blocks」を使い、Buttonエレメントを追加します。

STEP 5:Googleスプレッドシートへの記録設定

承認された経費をスプレッドシートに自動記録します。

設定手順:

  1. Googleスプレッドシートで新しいシートを作成(例:「経費管理2025」)
  2. 1行目に見出しを作成:「申請日」「申請者」「金額」「カテゴリー」「用途」「承認日」「承認者」
  3. Makeのシナリオに「Google Sheets」モジュールを追加
  4. 「Add a Row」を選択
  5. Googleアカウントと接続
  6. スプレッドシートとシートを選択
  7. 各列にNotionから取得したデータをマッピング:
    • 申請日 → {{申請日}}
    • 申請者 → {{申請者名}}
    • 金額 → {{金額}}
    • カテゴリー → {{カテゴリー}}
    • 用途 → {{用途・内容}}
    • 承認日 → {{now}}
    • 承認者 → {{承認者名}}

つまづきポイント:

スプレッドシートの列の順番と、Makeでマッピングする順番を必ず一致させてください。順番が違うと、データが正しく記録されません。

STEP 6:Notionのステータス更新設定

最後に、承認されたらNotionのステータスを「承認済み」に更新します。

設定手順:

  1. Makeのシナリオに「Notion」モジュールを再度追加
  2. 「Update a Database Item」を選択
  3. Database IDに経費申請データベースのIDを入力
  4. 「Page ID」には、最初のモジュールで取得したページIDをマッピング
  5. 「Properties」で「ステータス」を「承認済み」に設定
  6. 「承認日」に現在日時{{now}}を設定

STEP 7:シナリオのテストと有効化

全ての設定が完了したら、実際に動作するかテストします。

テスト手順:

  1. Makeのシナリオで「Run once」をクリック
  2. Notionで実際に経費申請を1件作成(テストデータ)
  3. 数十秒待って、Slackに通知が届くか確認
  4. Slackで承認の操作を行う
  5. Googleスプレッドシートにデータが追加されているか確認
  6. Notionのステータスが「承認済み」に変わっているか確認

すべて正常に動作したら、Makeのシナリオを「ON」にして有効化します。これで自動化が稼働開始します。

つまづきポイント:

Makeの無料プランは月1,000オペレーションまでです。1回の申請で約5オペレーション消費するため、月200件程度の申請まで対応可能です。それ以上の場合は有料プラン(月9ドル〜)への切り替えを検討しましょう。

自動化前後でどう変わるか(ビフォーアフター)

自動化前の状態

申請者の作業:

  • 紙の経費申請書に手書きで記入:5分
  • 領収書をコピーして添付:3分
  • 上司のデスクまで持って行く(または社内便で送付):5分
  • 合計:約13分/件

承認者の作業:

  • 申請書が届くまで待つ:数時間〜数日
  • 申請書の内容を確認:3分
  • ハンコを押して経理に回す:2分
  • 合計:約5分/件(但し遅延リスク大)

経理担当者の作業:

  • 紙の申請書を回収:10分
  • Excelに手入力:5分/件
  • 月末に集計作業:2〜3時間
  • 入力ミスのチェックと修正:1時間
  • 合計:月末に約4時間の作業

自動化後の状態

申請者の作業:

  • Notionで申請内容を入力:3分
  • 領収書をスマホで撮影してアップロード:1分
  • 合計:約4分/件(約70%削減)

承認者の作業:

  • Slackの通知を即座に受信:0分(自動)
  • スマホで内容を確認:1分
  • 承認ボタンをタップ:10秒
  • 合計:約1分/件(約80%削減)

経理担当者の作業:

  • データが自動でスプレッドシートに集約:0分(自動)
  • 月末に集計シートを確認:30分
  • 入力ミスがないのでチェック不要:0分
  • 合計:月末に約30分の作業(約90%削減)

その他の改善ポイント

  • 承認スピードの向上:平均2〜3日かかっていた承認が、即日〜数時間で完了
  • 紛失リスクの削減:紙の申請書や領収書を紛失する心配がなくなる
  • リモートワーク対応:出社しなくても申請・承認が可能に
  • 検索性の向上:過去の申請をNotionで瞬時に検索可能
  • コンプライアンス強化:全ての申請履歴がデジタルで保存され、監査にも対応しやすい

応用・拡張アイデア

基本的なワークフローが動作したら、以下のような拡張機能を追加できます。

1. 金額による承認フローの分岐

高額な経費(例:5万円以上)の場合は、部長承認も必要にするなど、金額に応じて承認フローを変更できます。

実装方法:

Makeで条件分岐(Router)を使い、金額が5万円以上の場合は別の承認者にも通知を送るルートを追加します。

2. OCRで領収書を自動読み取り

領収書の画像から金額や日付を自動で読み取り、入力の手間をさらに削減できます。

実装方法:

Google Cloud Vision APIやAmazon TextractなどのOCRサービスと連携し、アップロードされた領収書画像から情報を自動抽出します。MakeにはGoogle Cloud Visionのモジュールがあります。

3. 予算超過アラート

部署ごとの月間予算を設定し、予算を超えそうになったら管理者に自動でアラートを送ります。

実装方法:

Googleスプレッドシートで各部署の予算と実績を管理し、Makeで定期的にチェック。予算の80%を超えたらSlackに警告を送信します。

4. 会計ソフトへの自動連携

freeeやマネーフォワードなどの会計ソフトに、承認済み経費を自動で取り込みます。

実装方法:

MakeにはfreeeやMoney Forwardのモジュールがあります。Googleスプレッドシートに記録された後、さらに会計ソフトのAPIに送信するステップを追加します。

5. 却下理由の自動記録

申請が却下された場合、理由をSlack上で入力し、Notionに自動記録できます。

実装方法:

Slack Block KitのInput要素を使い、却下ボタンを押した際にモーダルで理由を入力できるようにします。その内容をMakeでNotionに記録します。

6. 定期経費の自動申請

毎月発生する定期的な経費(携帯代、サブスクリプションなど)は、自動で申請エントリーを作成できます。

実装方法:

Makeのスケジュール機能で、毎月1日などに自動的にNotionに申請を作成するシナリオを別途構築します。

よくある質問・つまづきポイントQ&A

Q1:Makeのトリガーが発火しない

A:以下を確認してください:

  • NotionのIntegrationが経費申請データベースに接続されているか
  • Makeのシナリオが「ON」になっているか
  • Notionのステータスフィルター条件が正しいか(「申請中」のみ対象にしているか)
  • Makeの無料プランのオペレーション上限に達していないか

Q2:Slackに通知が届かない

A:以下を確認してください:

  • Slackの接続権限が正しく設定されているか
  • 通知先のチャンネルにMakeのBotが招待されているか(/invite @Make でチャンネルに追加)
  • Slackのワークスペース設定でBot投稿が許可されているか

Q3:Googleスプレッドシートにデータが記録されない

A:以下を確認してください:

  • Googleアカウントの接続が有効か
  • スプレッドシートの列の順番とMakeのマッピングが一致しているか
  • シート名が正しく指定されているか(全角・半角・スペースに注意)
  • スプレッドシートが「共有」設定でMakeからアクセス可能になっているか

Q4:領収書の画像が大きすぎてアップロードできない

A:Notionは1ファイルあたり5MBまでの制限があります。スマホで撮影する際は、解像度を下げるか、画像圧縮アプリを使いましょう。また、PDFではなくJPEG形式で保存すると容量を抑えられます。

Q5:承認者が複数いる場合はどうすればいい?

A:Notionで「第一承認者」「第二承認者」のプロパティを追加し、Makeで承認フローを2段階に分けます。第一承認者が承認したら、第二承認者に通知を送るようにロジックを組みます。

Q6:過去の申請を一括でインポートしたい

A:Excelの経費データがある場合、NotionのImport機能でCSVファイルをインポートできます。「Import」→「CSV」を選択し、データをアップロードすれば、過去のデータも一元管理できます。

Q7:月末の集計作業をさらに楽にするには?

A:Googleスプレッドシートで以下の自動集計式を設定しましょう:

  • 月別合計=SUMIFS(C:C, A:A, ">=2025/01/01", A:A, "<=2025/01/31")
  • カテゴリー別集計:ピボットテーブルを使用
  • 申請者別集計=SUMIF(B:B, "田中", C:C)

Q8:Makeの無料プランで足りなくなったら?

A:無料プランは月1,000オペレーションです。1申請あたり約5オペレーション消費するため、月200件程度が上限です。それ以上の場合は、Makeの有料プラン(Core:月9ドル〜10,000オペレーション)にアップグレードを検討しましょう。

まとめ:まずどこから着手すべきか

ここまで経費申請・承認ワークフローの完全自動化について解説してきましたが、いきなり全部を実装する必要はありません。以下のステップで段階的に導入することをおすすめします。

フェーズ1:まずはNotionでデータ管理を始める(1週間)

最初の1週間は、Notionに経費申請データベースを作り、手動で入力・管理してみましょう。これだけでも、紙やExcelよりも格段に管理が楽になります。

この段階で得られる効果:

  • 申請履歴の一元管理
  • 検索・フィルター機能による過去データの参照が容易
  • 領収書のデジタル保管

フェーズ2:Slack通知の自動化を追加(2週間目)

Notionに慣れたら、MakeでSlack通知の自動化を追加します。これにより、承認のスピードが劇的に改善します。

この段階で得られる効果:

  • 承認者がリアルタイムで申請を把握
  • 承認漏れ・遅延の削減
  • リモートワークでも即座に対応可能

フェーズ3:Googleスプレッドシートへの自動記録を追加(3週間目)

承認フローが安定したら、Googleスプレッドシートへの自動記録を追加します。これで経理担当者の月末作業が大幅に楽になります。

この段階で得られる効果:

  • 月末の集計作業が90%削減
  • 入力ミスの撲滅
  • 会計ソフトへのデータ連携が容易

フェーズ4:応用機能の追加(1ヶ月目以降)

基本的なワークフローが安定稼働したら、OCR読み取りや予算アラートなどの応用機能を追加していきましょう。

最初の一歩として推奨する設定

もし「まず試してみたい」という場合は、以下の最小構成から始めましょう

  1. Notionで経費申請データベースを作成(30分)
  2. チーム内で2〜3件の経費を実際に入力してみる(10分)
  3. 問題なければ、MakeでSlack通知だけを自動化(1時間)

この3ステップだけでも、承認プロセスの効率は大幅に改善します。

成功のポイント

このワークフローを成功させるために、以下の点を意識しましょう:

  • チーム全体で使い方を統一する:Notionの入力ルールを事前に決めておく
  • 最初はテストデータで動作確認:本番データでいきなり始めず、必ずテスト運用期間を設ける
  • フィードバックを集めて改善:運用しながら使いにくい点を改善していく
  • 段階的に導入する:一度に全部やろうとせず、フェーズを分けて導入する

経費精算の自動化は、一度構築すれば毎月継続的に効果が得られる「資産」になります。最初の設定には数時間かかりますが、年間で数十時間〜数百時間の業務時間削減につながります。

ぜひ、まずは小さく始めて、徐々に自動化の範囲を広げていってください。このワークフローがあなたのチームの業務効率化に貢献できれば幸いです。