n8nとGoogle Sheetsで支払期日管理を自動化する方法を解説

n8nとGoogle Sheetsを連携させ、支払期日管理を自動化する方法を解説。手作業によるミスや遅延リスクを排除し、Slack通知でチームへの共有を円滑にする仕組み作りを5ステップで紹介します。経理業務の負担を軽減し、確実な管理体制を構築したい方は必見です。

経理業務における支払期日の管理は、資金計画や取引先との信頼形成に関わるため、安定した運用が求められます。多くの企業ではスプレッドシートを用いた手動確認が行われていますが、この方法は担当者の作業量に左右されやすく、請求書が増える時期には確認負担の増大が懸念されます。期日の見落としを避けるには、日々の運用を一定の基準で進められる仕組みが役立つでしょう。

近年は、ノーコード系の自動化ツールを活用し、支払期日の確認や通知を標準化する取り組みが広がっています。n8nとGoogle Sheetsを組み合わせると、既存の管理方法を大きく変えずに段階的な自動化を進めやすくなります。

本記事では、支払期日の確認をn8nで自動化し、Slackへ通知する流れを整理します。環境構築や判定ロジックの要点を示しながら、運用時の注意点もあわせて紹介します。

※画像すべてイメージです。

支払期日管理を自動化する目的と得られる効果

支払期日管理を自動化する主な目的は、確認漏れによる支払遅延を防ぎ、担当者の負担を抑えながら関係者全体の情報共有を安定させることです。手作業に依存した運用は、担当者の忙しさや人的ミスの影響を受けやすく、結果として運用のばらつきを招く恐れがあります。自動化によって一定の基準で処理を進める仕組みを整えることで、管理体制の安定を目指せるでしょう。

支払漏れや遅延を防ぎ経理業務のリスクを低減する

手動による支払期日の確認は、担当者の業務量やスケジュールに影響されやすく、繁忙期には確認が後回しになりやすい傾向があります。請求書が複数同時に到着する時期には、期日の見落としや対応の遅延につながりかねません。

n8nとGoogle Sheetsを組み合わせた運用では、毎日決められた時刻に支払データを自動で読み込み、一定条件に合致する行を抽出できます。この処理は担当者の状況に左右されず、同じ基準で繰り返されます。確認の精度を安定させたい企業にとって、この仕組みは有効な選択肢になり得るでしょう。

毎日の確認作業を削減し担当者の作業負荷を軽減する

支払期日が近づくと、担当者は複数の請求書を照合し、支払予定を整理する作業に時間を使います。特にデータ量が多い場合、毎日の確認作業が業務全体の負荷となることがあります。

n8nで支払期日が近い案件のみを抽出し通知する運用に変更すると、担当者が全件を目視確認する必要がなくなり、処理対象の判断がしやすくなります。通知を基点とした作業に切り替えることで、日々の確認にかかる時間を抑え、他の業務へ時間を配分しやすくなります。

支払期日をSlackに自動通知しチーム全体で状況を把握できる

支払情報は経理担当者だけでなく、承認者や営業担当者など複数の役割が関与するケースがあります。スプレッドシートのみで管理している場合、各自が必要に応じてシートを開く必要があり、情報把握に遅延が生じる可能性があります。

こうした課題に対し、Slackを連携すると支払予定をチャンネルへ自動で通知でき、関係者が同じ情報を同じタイミングで確認できます。通知内容に案件情報や担当者名を含めれば、処理の優先度や対応者を判断しやすくなります。複数部署で支払情報を共有する体制を整えたい企業に適した方法です。

事前準備|使用するツールとデータ構造を確認

事前準備として行うべきツールとデータ構造の確認は、以下のとおりです。

  • Google Sheetsで支払予定表を作成
  • n8nでGoogle Sheets・Slackを認証設定(Credential)
  • 日付フォーマットの統一と通知基準日を検討する

スムーズにワークフロー構築を進めるために、まずはデータの受け皿となるスプレッドシートと、各ツールをn8nがつなぐための接続設定を完了させてください。

Google Sheetsで支払予定表を作成

n8nが扱うデータを統一するため、スプレッドシートに以下のような列を作成します。

  • ID
  • 支払先名
  • 支払金額
  • 支払期日(YYYY-MM-DD形式)
  • ステータス(未払い/支払済など)
  • 担当者

Google Sheetsの日付は形式が統一されていないと文字列として認識される場合があり、比較処理が正しく機能しない恐れがあります。表示形式を「YYYY-MM-DD」に揃え、テスト用データを数件入力してn8nで読み込めるかを確認しましょう。

n8nでGoogle Sheets・Slackを認証設定(Credential)

n8nが外部サービスを扱うには認証設定が必要です。

Google Sheetsとの接続

Google Cloud Consoleでプロジェクトを作成し、Google Sheets APIを有効にします。利用環境によってはDrive APIが必要な場合もあるでしょう。その後、OAuth同意画面の設定とクライアントIDを作成し、n8nのGoogle SheetsOAuth2 Credentialへ設定します。

Service Account方式については利用形態により可否が異なるため、本記事ではOAuth方式を前提としています。企業環境での利用は管理部門と相談してください。

Slackとの接続

Slack APIの管理画面でアプリを作成し、必要な権限(chat:writeなど)を付与します。Bot Tokenを取得し、n8nに設定します。

日付フォーマットの統一と通知基準日を検討する

支払期日を正しく判定するには、Google Sheetsに記録されている日付形式を統一することが重要です。見た目が同じでも内部的に文字列や数値として扱われている場合、n8nの比較処理で一致しないケースがあります。

≪例≫

  • 2025/01/05
  • 2025-01-05

このような形式が混在していると、比較の結果が安定しません。シートの表示形式を統一し、テストデータも同じ形式で入力します。また、通知を行うタイミング(当日/3日前/7日前など)を事前に決めておくことで、後のロジック構築が進めやすくなります。

【実践】n8nで支払期日管理フローを作成する5ステップ

ここからは、n8nを用いて支払期日管理を自動化する具体的な設定手順を解説します。ワークフロー全体の流れをスムーズに理解できるよう、各ステップを順序立てて構成しました。設定項目は環境により細部が異なりますが、基本構造は共通しているため、幅広く応用できます。

ステップ1|Schedule Triggerで毎日実行を設定

最初に、ワークフローを自動で実行するためのトリガーを設定します。n8nの「Schedule Trigger」ノードを追加し、毎日決まった時刻に処理が開始されるように設定します。

Schedule Triggerの主要な設定例は次のとおりです。

  • Trigger Interval:Days
  • Every:1
  • Time:09:00など業務開始時間帯

この設定により、担当者が操作しなくても毎朝決まった時刻に処理が開始されるようになります。企業によっては通知時間を夕方に設定したい場合もあるため、実際の業務フローに合わせた時刻を指定します。

また、n8nのタイムゾーン設定が「Asia/Tokyo」になっていない場合、意図しない時刻に実行される可能性があります。管理画面からタイムゾーンを確認し、必要に応じて調整しておくと安心です。曜日で実行を分けたい場合は、Schedule Triggerの設定だけでは制御できないため、後続のIFノードで$now.weekdayを参照し、平日のみ処理する構成を追加する方法が一般的です。

ステップ2|Google Sheetsから支払データを取得

次に、Google Sheetsに記録した支払予定データを読み込みます。n8nの「Google Sheets」ノードを追加し、事前に設定したCredentialを選択します。APIや認証設定が正しく行われていれば、対象のスプレッドシートを選択できます。

主な設定項目の例は以下のとおりです。

設定項目

Resource

Document

Operation

Get Many Rows

Document

対象のスプレッドシート

Sheet

使用したいシート名

Return All

True

これにより、シートに存在するすべての行がJSON形式で取得されます。企業によってはデータ量が多く、API制限を考慮する必要がある場合もあります。その際はLimitを設定して取得件数を絞ることも可能です。ただし、一般的な経理業務のデータ量であればReturn Allを使用しても問題が生じるケースは多くありません。

ノードの実行結果では各行が配列として出力され、ヘッダー行のラベルがそのままキーとして扱われます。そのため、シート側の列名を変更した場合はn8n側でも参照名を合わせる必要があります。特に「支払期日」や「ステータス」といった判定に使用する列の名称は、事前に固定しておく方が運用しやすいでしょう。

ステップ3|支払期日の判定ロジックを作成し対象行を抽出

取得したデータの中から、「支払期日が今日」で「ステータスが未払い」の行のみを抽出する工程です。方法は大きく分けて2種類あり、コードを使わずに設定する方法と、JavaScriptを用いて柔軟な条件を指定する方法があります。

IFノードを使用して条件分岐を行う方法

コードを書かずに判定したい場合は、IFノードを使用します。判定条件の例を以下に示します。

条件1:日付比較

  • Data Type:String
  • Value1:{{$json[“支払期日”]}}
  • Operation:Equal
  • Value2:{{$now.toFormat(“yyyy-MM-dd”)}}

n8nでは$todayは利用できず、日付を取得する際は$nowを使用します。Google Sheets側のフォーマットと一致していない場合は一致判定ができないため、シートの形式が統一されていることが前提になります。

条件2:ステータス比較

  • Value1:{{$json[“ステータス”]}}
  • Operation:Equal
  • Value2:未払い

この2つの条件をANDで結合することで、該当する行がIFノードの“true”側に流れます。データ型が文字列ではなく数値として扱われているケースもあるため、実行結果の型を確認した上で条件を調整する必要があります。

Codeノードを使用して柔軟なロジックを記述する方法

支払期日が数日以内のものを抽出する場合や、曜日によって処理内容を変えたい場合など、より複雑な設定が必要なケースではCodeノード(旧:Functionノード)が適しています。

以下は、支払期日が今日のデータを抽出する例です。

const today = $now.toFormat(‘yyyy-MM-dd’);

return items.filter(item => {

const payment = item.json[‘支払期日’];

const status = item.json[‘ステータス’];

if (!payment) return false;

return payment === today && status === ‘未払い’;

});

Codeノードの利点は、条件式を自由に拡張できる点にあります。たとえば、次のようなロジックも数行で実装できます。

  • 支払期日が今日を含む3日以内
  • 土日が支払日と重なる場合の振替処理
  • ステータスによって通知内容を分岐

運用が進むにつれて要件が変わる場合、Codeノードの柔軟性が活かせるでしょう。

ステップ4|Slack通知のメッセージを作成

抽出された支払対象のデータをSlackに送信します。「Slack」ノードを追加し、Operationを「Send Message」に設定します。通知先チャンネルは事前に作成しておくと良いでしょう。

メッセージの例は次のようになります。

【支払期日通知】

以下の案件が本日の支払予定です。

支払先:{{$json[“支払先名”]}}

金額:{{$json[“支払金額”]}}円

担当:{{$json[“担当者”]}}

支払対象が複数ある場合、Slackノードは案件数に応じて繰り返し実行されます。すべてを1つのメッセージにまとめたい場合は、Slackノードの前に「Merge」や「Aggregate」ノードを配置し、配列を文字列に整形する方法があります。ただし、初期構築では個別通知の方が設定が簡単なため、段階的に調整する運用が望ましいでしょう。

ステップ5|テスト実行→本番運用へ

すべてのノードを接続したら、ワークフロー全体をテスト実行します。画面下部の「Execute Workflow」を押し、データの流れとSlackへの通知内容を確認します。

確認すべきポイントは以下のとおりです。

  • 支払期日が今日の案件のみが通知されているか
  • ステータスが未払いではない案件が除外されているか
  • Slackのメッセージ内容(支払先・金額・担当者)が正確に反映されているか

問題がなければ、画面右上のスイッチを「Active」に切り替えます。これにより、スケジュールに従って毎日自動でワークフローが実行されるようになります。運用開始直後は、数日間だけ手動で結果を確認し、想定どおりに動いているかを把握する期間を設けると良いでしょう。

運用を強化する応用テクニック

運用を強化する応用テクニックは、以下のとおりです。

  • 支払期日の前日・数日前に自動リマインドする仕組みを追加する
  • 支払い完了を自動判定しステータスをシートに反映する仕組みを作る
  • エラー発生時にSlackへ即時通知する運用フローを追加する

基本の自動化に慣れてきたら、より実務に応じた機能を追加して、システムの利便性と信頼性を高めましょう。

支払期日の前日・数日前に自動リマインドする仕組みを追加する

当日の通知だけでは、承認フローや資金移動に間に合わない場合があります。このため、支払期日の「数日前」に通知を行う運用を併用すると、担当者が余裕を持って対応内容を調整しやすくなります。

事前通知を行う場合、ステップ3で使用した判定ロジックを拡張します。Codeノードを用いると、日付の計算を記述できます。

例として、支払期日の3日前のデータを抽出する場合は次のような記述になります。

const target = $now.plus({ days: 3 }).toFormat(‘yyyy-MM-dd’);

return items.filter(item => {

const date = item.json[‘支払期日’];

const status = item.json[‘ステータス’];

if (!date) return false;

return date === target && status === ‘未払い’;

});

IFノードを使う場合は、複数の条件を並列に作成し、「当日の通知」「事前通知」をそれぞれ別ルートで処理する構成にします。この方法はメッセージの文面を用途に応じて分けやすく、運用上の整理も行いやすい点にメリットがあります。

事前通知のメッセージ例は次のとおりです。

【事前通知】

支払期日まで数日があります。以下の案件をご確認ください。

支払状況を早めに共有することで、承認者との連携にもゆとりが生まれます。業務規模が大きい企業の場合は、通知タイミングを3日前と7日前に分けるなど、複数段階で構成する方法もあります。ただし、通知が増えすぎると作業負担につながる可能性があるため、運用状況を見ながら調整してください。

支払い完了を自動判定しステータスをシートに反映する仕組みを作る

通知を行うだけでなく、実際の処理状況をGoogle Sheetsに反映させる仕組みを追加すると、管理の一貫性を保ちやすくなります。たとえばSlack上で「処理済み」の操作を行うと、スプレッドシートのステータス列が「支払済」に変更される構成です。

Slackでの操作を起点とする場合、Block Kitのボタン要素を使用し、ボタンが押された際にWebhookへデータを送信します。n8n側では「Webhook」ノードを配置し、受信した情報に応じてGoogle Sheetsの更新処理を行う構成を追加します。

Google Sheetsを更新する場合の設定例は以下のとおりです。

  • Operation:Update
  • Key:ID
  • Mode:Update Matching Rows
  • Value:ステータス→支払済

この設定により、対象行のステータスだけを更新できます。更新が正しく行われているかは、テスト実行時に該当行を確認すると判断しやすくなります。

また、会計ソフトと連携して「出金処理が登録されたらステータスを変更する」といった運用を採用する企業もあるでしょう。APIの提供状況や社内の情報管理ルールによって実現可否が変わるため、運用方針に応じて採用可否を検討することが重要です。

エラー発生時にSlackへ即時通知する運用フローを追加する

自動化の運用では、処理が停止していることに気づけない状況を避ける必要があります。Google Sheets側の権限変更やAPIエラー、n8nサーバー側の不具合などが発生した場合、ワークフローが正常に動作しなくなる可能性があります。

n8nには「Error Workflow」という仕組みがあり、メインのワークフローでエラーが発生した際に別のワークフローを起動できます。Error WorkflowにSlack通知ノードを配置しておくことで、次のようなメッセージを管理者へ送ることができます。

【エラー通知】

支払期日管理フローでエラーが発生しました。

ログをご確認ください。

この通知があることで、担当者が速やかに状況を確認し、必要に応じて手動処理に切り替える判断がしやすくなります。運用を継続するうえで、エラー検知の仕組みは重要な要素となります。

Error Workflowは「ワークフロー全体が失敗した場合」に発火する仕組みであり、個々のノード単位の警告を拾うわけではありません。そのため、必要に応じてログの保存期間を延ばす、処理経路を明示的に管理するなど、運用方針に応じた設計が求められます。

まとめ|n8nとGoogle Sheetsで支払期日管理を最適化しよう

n8nとGoogle Sheetsを活用する支払期日管理は、既存の業務フローに比較的なじみやすく、導入手順を整理すれば担当者が自ら設定を進めることも可能です。手動確認に依存していた部分を一定の基準で実行する仕組みに置き換えることで、担当者の作業量を安定させながら、支払遅延のリスクを抑えやすくなるでしょう。

n8nの利点は、導入時点で大規模なシステム変更が不要であり、段階的に機能を追加できる点にあります。まずは負担の大きい確認作業を自動化し、その後の運用状況に応じて改修を加える流れが理想的です。業務の安定性を高める取り組みとして、自動化の導入を検討してみてはいかがでしょうか。

CONTACT

株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。

  • コンサルティング対応
    コンサルティング
  • 内製化支援・人材紹介・派遣対応
    内製化支援・人材紹介・派遣
  • 受託開発対応
    受託開発

幅広い支援が可能ですので、
ぜひお気軽にご相談ください!