paypayのzaim記帳を便利化する試み―支払情報の獲得

paypayの残高支払いはメール通知は来ないので、今までの「メール依存式zaim記帳法」を再現できません。今回の試みはpaypayのzaim記帳を便利化するのもので、AIを活用することにしています。


現状

現状zaim公式ではcsvのダウンロード、アップロードでpaypay記帳の半自動化を実現しています。

これはいい方法ではありますが、毎回ダウンロードし、アップロードする作業が発生し、かつ即時性がないのは問題でしょう。

paypayをzaimにより自動化にする方法
paypayをzaimにより自動化にする方法

目指す仕様

  • 即時性
  • 可能な限り自動にしたいが、手動するのならなるべく簡略化
  • paypayカードはクレカ記帳として自動なので、paypay残高だけ対応できてもいい

自動化を実現するための難点

これは言うまでもないと思いますが、下記に尽きるのではないでしょうか。

「如何にpaypayの支払い情報をデータにするか」


paypayの支払情報を取るためにAIを使用

前の方法に当てはめようとすれば、自分にメールを送ればいいでしょう。ただ問題は、メールを送るにいちいち情報を手動にインプットする点です。。

そこで、「AIを利用して、支払画面のスクショを認識させればどうなのか」にたどり着きました。

今までの方法は下記を参照。

メールにするかどうかは別として、支払情報は必須ですから、まずここを潰していきます。


n8nの登場

前回と同じように、n8nでWorkFlowを作ります。

1-まず、どうやって画像をAIに届ける?

今回の目的は全自動ではなく(できないから目的にしていないだけですが)、できるだけ便利にするということで、下記方法を採用することにしました。

TelegramBotにpaypay支払画面のスクショを送信する

これにした理由として

  • 私自身がTelegramユーザーで(主にRSSを利用)、少し設定の心得がある
  • n8nにtelegramのAPIプリセットがある
  • スクショして所定のBotにその画像を送るだけであとは何もしなくていいという仕様ができる

TelegramBotの設定方法

①BotFatherを探す

Telegramの検索バーで @BotFather と検索、チェックマークの付いた公式アカウントを選択し、「Start」ボタンを押して対話を始めます。

②新しいBotを申請する

BotFatherに対して、メッセージで /newbot と送信します。

③名前とユーザー名を決める

BotFatherから指示があるので、順番に設定していきます。

  • Name (名前): Botの表示名で、後で変更可能です。
  • Username (ユーザー名): BotのID(住所)のようなものです。必ず末尾を bot にする必要があります(例: paypay_bot)。これは後から変更できません。パスワードみたいなもので、唯一性が求められます。
④APIトークンを受け取る

作成に成功すると、BotFatherからメッセージが届きます。その中に含まれる HTTP API token(長い文字列)が、Botを動かすための「鍵」になります。トークンは他人に教えないでください。これを知られると誰でもあなたのBotを操作できてしまいます。

⑤APIトークンなどを使って、n8nでのtelegram認証申請を実施

ここまでTelegramの準備は終了。

n8nでの設定

Telegram Triggerを選択します

Telegram Trigger n8n
Telegram Trigger n8n
Telegram Trigger n8nの設定
Telegram Trigger n8nの設定

上記のように設定、これでBotに送信した画像がダウンロード、アウトプットされます。


2-画像認識は下記アクションを利用します

n8n AIによる画像認識
n8n AIによる画像認識
n8n AIによる画像認識の設定内容
n8n AIによる画像認識の設定内容

設定は上の画像通りにすればいいです。ここで注意しなければならないのは

1-n8nはGoogleのOAuthを獲得しなければならないことと、APIの仕様をオンにすることです。(簡単なので、詳細は一旦割愛、後日時間があるときにまた書くかもしれません。)

2-モデルの選定、私の場合はgemini-2.5-flash-liteを選んでいました。無料枠でも、少しなら使えます。課金勢ならどうぞもっといいモデルを使ってください。ここで言えるのは、「これより下位のモデルでは、私がテストした限り、ミスが出る」ことです。

Text Inputはプロンプトになります。私は実用するとき中国語にしていますが、日本語だと大体こんな感じです。(ご自分のさじ加減で修正してもいいです)

画像を認識し、画像にある情報を下記フォーマットでアウトプットしてください。

利用日時:2026-02-13
利用金額:25000円
利用店舗:EDYCHARGE

利用金額は「paypay残高」の部分のみ検知してください。
「利用日時:」、「利用金額:」と「利用店舗:」は固定フォーマットで、変えられません。
画像認識が成功できたかに関わらず、アウトプットは必ずこのフォーマットにし、余計は符号がないようにしてください。

一度テストします

n8n AIによる画像認識 試作用画像
n8n AIによる画像認識 試作用画像

こでは試作用画像

n8n AIによる画像認識のアウトプット画面
n8n AIによる画像認識のアウトプット画面

実際出てきたアウトプットはtextの部分を見てください。下記になっています。

利用日時:2025-12-18\n利用金額:898円\n利用店舗:朝天門

書式は正しく記載できました。


3-画像認識で支払情報を獲得した後

ここまでできたら、下記方法で後の部分を再現できることになります。

ただ、メールベースでやる場合、Gmail Triggerは自分が自分に送ったメールで発動しないようで、二つのアカウントを別々で運用するか、そもそもメールではなくGoogleSHEETでZaimに記載する方式にするか、いろいろ考える余地があります。

この投稿はまず情報を獲得する方法を提示しました。