Gmail の請求書をスプレッドシートへ自動で転記する方法|AI の読み取りと人の確認

毎月届く請求メールを見ながら、請求元と金額を表へ打ち直している。この記事は経理の担当者に向けて、本文に請求内容が書かれたメールを AI に読ませ、人が確認してから Google スプレッドシートへ入れる手順を説明します。

結論

Samurai App のワークフローを次の 4 つのつながりで作ります。

  1. Gmail の受信で起動する
  2. 「AI で生成」で本文から請求元や金額を取り出す
  3. 「承認・入力を待つ」で人が値を確認する
  4. 「外部サービス実行」で表に 1 行追記する
  • できること: 本文に請求内容が書かれたメールの読み取りと、確認後の追記
  • できないこと: この手順での PDF 添付の読み取り。起動で届くのは添付の一覧で、ファイルの中身ではありません
  • できないこと: 読み取りの正しさの保証。金額を扱うので、確認のステップを外さないことをおすすめします

できること・できないこと

読み取りは間違えます。 税込と税抜、請求額と前月繰越など、似た数字が並ぶメールでは取り違えが起こりえます。そのため、人が確認するステップを追記の前に置きます。

メールの指示で勝手に操作されません。 「AI で生成」はツールを持たず、1 回答えるだけのステップです。本文に指示のような文が書かれていても、メールや表を操作できません。

PDF で届く請求書は、この記事の手順の対象外です。 実際のアカウントで通して確認していないため、手順に書いていません。Excel や CSV の添付は、「ファイルの加工」の「台帳(行を追加)」という別の道があります。

RAW を使います。 表への追記の valueInputOption は 2 種類あります。RAW は入れた値のまま残り、USER_ENTERED は画面で打ったときと同じように解釈されて、文字が数値や日付に変わることがあります。

同じメールを見分ける機能はありません。 追記は末尾に足すだけです。同じ請求書の再送が来れば 2 行入るので、請求番号の列で確認できるようにしておきます。

用意するもの

  • Gmail のアカウントと Google スプレッドシートの表。1 行目に見出しを入れておきます
  • Samurai App の「コネクタ」での Gmail と Google Sheets の接続
  • ワークフローにサービス連携を付けられる権限(マネージャー以上)

手順

1. 表と接続を用意する

スプレッドシートに 請求元 請求番号 請求日 支払期日 合計金額 の見出しを作ります。URL の /d/ と /edit の間が spreadsheetId です。

「コネクタ」の画面で Gmail と Google Sheets を「追加」し、自分のアカウントで連携します。コネクタの追加は管理者とマネージャーの操作です。

2. 本文から値を取り出す

ワークフローを「新規作成」で作り、「ワークフローの入力」に名前 event、種類「項目の組」を足します。

「考える」の「AI で生成」を足し、「指示」に次のように書きます。

次のメールは請求の連絡です。本文に書かれた値だけを取り出してください。
本文に無い項目は空の文字にし、推測で埋めないでください。

{{input.event.message_text}}

「出力の項目」に vendor(請求元)、invoice_no(請求番号)、invoice_date(請求日)、due_date(支払期日)、total(合計金額)を、すべて型は文字、「必須」で足します。

3. 人が確認するステップを置く

「止める・待つ」の「承認・入力を待つ」を足します。「メッセージ」に手順 2 の値を「/」か「変数」で並べ、メールと見比べられるように件名も入れます。

このステップは、起動した人の「受信トレイ」に承認待ちとして届きます。トリガーの実行では、トリガーを作った人です。担当を別にするなら、「承認者」で最大 5 名を選ぶとメールで依頼が届きます。

  • 値が正しければ「承認」を押します。次のステップへ進みます
  • 間違っていれば「却下」を押します。実行はそこで止まり、表には入りません。正しい値は表に手で入れます

待つ上限の既定は 7 日で、超えると実行は失敗します。

4. 表に追記するステップを置く

「つなぐ」の「外部サービス実行」を足して GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND を選びます。

名前 値
spreadsheetId 手順 1 の ID
range シート1!A:E のようなシート名と列の範囲
valueInputOption RAW
values 手順 2 の 5 つの値

values は 2 次元の配列で、外側が行、内側が列です。1 行ぶんを作り、見出しの順に値を「/」で選びます。

このステップは無人の実行で動く書き込みです。既定なら承認カードを出さずに実行され、承認の記録に残ります。管理者がこの操作を「毎回確認」か「禁止」にしていると断られます。

5. 公開して起動を付ける

「保存」し、「バージョン」タブの「バージョン N を公開」を押します。「トリガー」タブの「サービス連携を追加」で Gmail の接続を選び、「どうなったら動かすか」で「New Gmail Message Received Trigger」を選びます。「絞り込み」の query には、請求メールだけに当たる条件を入れます。

from:billing@example.com subject:請求書

絞らないと、受信したメールの数だけ AI の読み取りと確認の依頼が発生するうえ、1 件ごとに約 0.5 円かかります。Gmail の起動は最大 15 分遅れます。

動かないとき

  • 値がすべて空で届く: 請求内容が PDF にあり、本文に無いメールです。この場合は「却下」して手で入れます。同じ差出人が続くなら、この道は合いません
  • message_text が無いと出て失敗する: 本文の項目が届かなかったメールです。届く項目はすべて任意の扱いなので、「最近の実行」で入力を確認します
  • 追記のステップが失敗する: range のシート名と spreadsheetId を確認して直し、公開し直します。失敗した分は表に手で入れます。設定の間違いではなく一時的な失敗なら、実行の画面の「失敗したステップからやり直す」で、取り出しと確認を繰り返さずに続けられます
  • 確認の依頼に気づかず失敗している: 7 日を超えた実行は失敗します。担当を決めて「承認者」で指定します

よくある質問

確認のステップを外して全自動にできますか

ステップを外せば動きますが、読み取り間違いがそのまま表に入ります。金額を扱う表では残すことをおすすめします。

仕訳や会計ソフトへの登録までできますか

この記事で説明しているのは表への追記までです。

種類の違うメールが混ざるときはどうしますか

「流れ」の「カテゴリ分類」を「AI で生成」の前に置き、請求とそれ以外に分けます。「それ以外」には何もつながなければ、表に入りません。

関連する使い方

出典

関連する機能AIでワークフロー自動化 —— 定型業務を決めた順にSamurai App のワークフローは、書いたとおりの順に必ず動くステップの並びです。AI の判断、承認待ち、外部サービスの操作を 1 本にまとめ、定期実行や外部からの起動で定型業務を自動化します。

ほかの自動化の例

Gmail の連携と自動化の方法をすべて見る

活用術の記事一覧へ

日々の仕事が集まり、つながり、会社の力になる。

資料請求Samurai App を開く

デモを見る資料請求