n8nでZaimの自動記帳を強力化する話①

Zaim
zaim

1年間運用してきた楽天ペイ自動記帳をベースに、対応決済を大幅に拡張。メール受信即時記帳 + ntfy通知まで実現しました。

前の投稿では人様の経験を再現したもので、実はあれで1年間運用してきました。最近またn8nをいじるようになり、これを機にZaimへの自動記帳を大幅に強力化してみました。

n8nのワークフロー概要図

n8n ― エンジニア目線で使い勝手最強の自動化ツール


n8nとは

n8nを一言でいうと、エンジニア目線で使い勝手が最強な自動化ツールです。文系の私でも、iftttの代替として十分に活用できています。インストールはEasyPanelにテンプレートがあります。

何ができる?

Slack・Google・Notion…など数百のアプリを繋いでルーチンワークを自動化します。

最大の強み

セルフホストすれば実行回数に関わらず基本無料で使い放題です。

自由度

ノードを線でつなぐ視覚操作に加え、JavaScriptでの深いカスタマイズも可能です。


前回の仕様と今回の目標

前回実現できた機能を土台に、今回はより即時性・対応範囲・利便性を高めます。

項目前回今回(強化)
自动运行时间点設定した時間間隔ごとメール受信と同時に即時記帳
対応メール実店舗・オンライン決済楽天モバイル・らくらく投資・マック等ネット注文も追加
出金元楽天ペイのみANA Pay・メルペイなど通知メールがあれば何でも対応
通知なしntfyでリアルタイム通知
失敗時の救済なしMarcoDroidで手動記帳ボタンを用意
例外:PayPayは残高払いにメール通知がないため今回の対象外です。ただし公式CSV方式より楽な代替手段があります(别文章参照)。

WorkFlowの設計

n8n Zaim自動記帳WorkFlowの全体図

WorkFlow全体図。複数の決済メールを1つの流れに統合している。

見た目はごちゃごちゃですが、理屈はシンプルで4ステップです。

1

Gmail Triggerで各社公式メールをキャッチ

2

内容を整理し、<日時><金額><店舗>だけのメールとして自分に送信

3

HTTP REQUESTでGASスクリプトを発動しZaimに記帳

4

HTTP REQUESTでntfyに通知を送信


この設計にした理由

各社メールを統一フォーマットに簡略化するイメージ図

各社バラバラのメールを統一フォーマットに圧縮してからGASに渡す

複数社対応の効率化:各社のメールは書式が異なります。GASで正規表現を個別に書くこともできますが、n8nなら視覚的に素早くパターンを追加でき、新しい決済手段が増えても労力を最小限に抑えられます。

即時性のためのトリガー変更:時間間隔トリガーではなく、Gmail Triggerで即時発動させたいため、GASのコードをHTTP REQUESTで呼び出せる形に改修しました。

安心のための通知:記帳されたことをリアルタイムで確認できるよう、ntfyへの通知を組み込みました。


完成するとこうなる

Zaimに自動記帳された今日の支出記録画面

Zaimに自動で記帳された支出履歴

ntfyから届いた記帳完了通知のスクリーンショット

支払いから約2分後にntfyで通知が届いた

払って2分後に通知 ― 大成功
次回:Gmail Triggerの設定、GASコードの改修、ntfy通知の組み込みなど、具体的な詳細設定を解説します。
シェア・購読:
🧡 この記事が気に入ったら、RSSフィードを購読して最新の更新を受け取りましょう。

コメントは受け付けていません。