取引銀行の振込手数料・サービスの改定と提供終了のお知らせをエージェントが毎月見回り、自社の振込の件数と利用中のサービスに照らして影響額と対応の一覧を財務へ出す
取引銀行のWebサイトに出る振込手数料・法人向けサービスの改定と提供終了のお知らせを、エージェントが毎月見回ります。自社の振込の件数と利用中のサービスの台帳に照らし、影響額の試算と対応の期限を一覧にして財務へ出します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Python/Zapier
- 対象業界
- 商社/建設/製造
- 対象部門
- 財務
- 対象業務
- 情報検索/集計・分析
- 主な課題
- データ分析に時間がかかる/情報が見つからない/期限・対応漏れが起きる
- AIで行う処理
- エージェント
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月初に、7行のWebサイトのお知らせのページを順に開く
- 前月に見た見出しを思い出しながら、新しいものを探す
- 法人に関係しそうなものを開き、本文と添付のPDFの手数料の表を読む
- 自社が使っている振込の区分(同行・他行、金額帯、窓口・インターネットバンキング・ファームバンキング)に当たるかを確かめる
- 当たるものは、会計システムから銀行ごとの振込の件数を抜き出し、表計算で新旧の差を計算する
- サービスの提供終了や取扱いの変更は、サービスの契約の一覧と突き合わせ、期限を書き留める
- 部長への報告のメールを書き、対応(振込の経路の変更、契約の切り替え、仕入先への連絡)を決める
- 自動毎月5日の朝8時にワークフローが動き、銀行の一覧の表を読む
- 自動銀行ごとにお知らせの一覧のページを取り、リンクと見出しを取り出す
- 自動前回の一覧と比べて新しいお知らせを拾い、見出しの語で絞って本文と添付のPDFを取る
- 自動エージェントが1件ごとに、種類・対象のサービス・新旧の料金・適用日・終了の期限を写し取る
- 自動エージェントが振込の実績の集計とサービスの台帳を引き、自社が使っている区分とサービスを挙げる
- 自動ワークフローのコードが、新旧の料金と件数から年間の影響額を計算する
- 自動提供終了と取扱いの変更を上に、料金の改定を影響額の大きい順に並べて財務部へ知らせる
- 人財務部が写し取られた料金と区分を本文で確かめ、影響額を確定する
- 人対応(経路の変更、契約の切り替え、仕入先への連絡、銀行への確認)を決めて記録する
各工程の詳しい説明を読む
- 月初に、7行のWebサイトのお知らせのページを順に開く
- 前月に見た見出しを思い出しながら、新しいものを探す
- 法人に関係しそうなものを開き、本文と添付のPDFの手数料の表を読む
- 自社が使っている振込の区分(同行・他行、金額帯、窓口・インターネットバンキング・ファームバンキング)に当たるかを確かめる
- 当たるものは、会計システムから銀行ごとの振込の件数を抜き出し、表計算で新旧の差を計算する
- サービスの提供終了や取扱いの変更は、サービスの契約の一覧と突き合わせ、期限を書き留める
- 部長への報告のメールを書き、対応(振込の経路の変更、契約の切り替え、仕入先への連絡)を決める
(a)お知らせの置き場所が銀行ごとに違う。 法人向けのお知らせを分けている銀行もあれば、個人向けと同じ一覧に並べている銀行もあります。添付のPDFにしか手数料の表が無いお知らせもあり、見出しだけでは中身が分かりません。
(b)自社の件数に当てはめるのに時間がかかる。 手数料は、同行か他行か、3万円未満か以上か、どの経路で振り込むかで区分されます。会計システムの支払の記録をその区分に合わせて数え直すのが、1件の中でいちばん重い作業です。
(c)提供終了の期限に気づくのが遅れる。 手形・小切手の取扱いの変更、旧い方式のサービスの終了は、半年以上前に案内されることが多く、そのときは急ぎに見えません。 料金の改定と同じ扱いで報告のメールに埋もれ、期限の直前に仕入先への連絡と社内の手続きを一度にやることになります。
(d)担当者が替わると続かない。 どの銀行のどのページを見るか、どの区分で数えるかは、いまの担当者の手順の中にしかありません。
- 【自動】 毎月5日の朝8時にワークフローが動き、銀行の一覧の表を読む
- 【自動】 銀行ごとにお知らせの一覧のページを取り、リンクと見出しを取り出す
- 【自動】 前回の一覧と比べて新しいお知らせを拾い、見出しの語で絞って本文と添付のPDFを取る
- 【自動】 エージェントが1件ごとに、種類・対象のサービス・新旧の料金・適用日・終了の期限を写し取る
- 【自動】 エージェントが振込の実績の集計とサービスの台帳を引き、自社が使っている区分とサービスを挙げる
- 【自動】 ワークフローのコードが、新旧の料金と件数から年間の影響額を計算する
- 【自動】 提供終了と取扱いの変更を上に、料金の改定を影響額の大きい順に並べて財務部へ知らせる
- 【人】 財務部が写し取られた料金と区分を本文で確かめ、影響額を確定する
- 【人】 対応(経路の変更、契約の切り替え、仕入先への連絡、銀行への確認)を決めて記録する
6番目を生成AIではなくコードにしているのが、この設計の要です。 エージェントが返すのは「区分ごとの新旧の料金」と「区分ごとの件数」までで、掛け合わせて足すのは決まった式です。 式が変わらないので、計算の誤りを疑う必要が無く、人は写し取りが正しいかだけを見れば済みます。
7番目で提供終了を上に置くのは、金額では測れないからです。 影響額で並べると、手形の取扱いの変更は「件数が少ない」ために下に沈みます。期限を過ぎて支払えなくなる損失は、手数料の差とは比べられません。
02今回想定するシステム構成
取引銀行のWebサイト(法人向けのお知らせ、手数料の一覧) 全国銀行協会のニュースリリース │ ▼【トリガー】Schedule Trigger(毎月5日 8時、Asia/Tokyo) n8n のワークフロー ├──▶ HTTP Request + HTML(リンクと見出しを取り出す) ├──▶ Compare Datasets で前回の一覧と比べ、新しいお知らせを拾う ├──▶ 本文を取り、添付のPDFは Extract From File で文字にする ▼ AI Agent ノード(Tools Agent)+ Claude │ お知らせ1件ごとに、道具を選んで引く │ ・振込の実績の集計を銀行と区分で引く │ ・利用中のサービスの台帳を引く ・過去のお知らせの記録を引く │ Structured Output Parser で決まった形のJSONを返す ▼ Code ノード ── 新旧の料金 × 件数 × 12 で年間の影響額を計算 ▼ 影響の一覧(PostgreSQL)→ 財務部のチャットへ通知 ▼【人】料金と区分の確認・影響額の確定・対応の決定
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n | Make、Power Automate、Zapier |
| 生成AI | Claude API(n8n の Anthropic Chat Model ノード) | OpenAI API、Gemini API |
| 集計 | n8n の Code ノード(JavaScript) | Python |
| 連携 | PostgreSQL(振込の実績の集計、サービスの台帳、影響の一覧) | MySQL |
新しく足すのは、n8n のワークフローと、振込の実績の集計表と、影響の一覧だけです。 会計システムとインターネットバンキングには触れません。毎月の締めのあとに、会計システムの支払の記録から、銀行・区分ごとの件数を集計した表を作り、エージェントはその表を引きます。
添付のPDFは、Extract From File ノードで文字にします。 このノードは、CSV、HTML、PDF、テキスト、表計算のファイルなどから中身を取り出すノードで、操作の一つに Extract From PDF があります。 手数料の表がPDFにしか無いお知らせは、ここで文字にしてからエージェントに渡します。
新しいお知らせは、Compare Datasets で拾います。 2つの入力を比べ、Aにだけあるもの、同じもの、違うもの、Bにだけあるものの4つに分けて出すノードで、比べる項目は複数指定できます。今回にだけあるリンクが新しいお知らせです。
エージェントを選ぶ理由は、お知らせによって引く先が変わるからです。 振込手数料の改定は振込の実績を引き、手形・小切手の取扱いの変更はサービスの台帳を引き、両方に関わるものは両方を引きます。Tools Agent は、道具の機能を理解し、タスクに応じてどの道具を使うかを決めるとされています。
03どうやって実装するのか
処理の起点を決める
毎月5日の朝8時に、Schedule Trigger で動かします。 月初の締めで前月の振込の実績の集計ができあがったあとに動かすためです。Schedule Trigger の月単位の設定では、何か月ごとか、何日、何時何分を指定できます。31日のように、その月に無い日を指定するとその月は動かないとされているので、28日より前の日にします。
Schedule Trigger は、ワークフローのタイムゾーンが無ければ n8n のインスタンスのタイムゾーンを使い、セルフホストの既定は America/New York とされています。ワークフローの設定で Asia/Tokyo にし、保存して公開します。 公開しないと Schedule Trigger は動きません。
見回りの対象は、銀行の一覧の表で持ちます。 列は、銀行名、お知らせのページのURL、CSS セレクター、法人向けと個人向けが分かれているか、手数料の一覧のページのURL、この銀行で使っているサービスです。全国銀行協会のニュースリリースも1行として持ちます。 業界全体の決まりの変更は、各行のお知らせより先に出ることがあるからです。
月に1回で足りるのは、改定の案内が適用の1か月以上前に出ることが多いからです。 ただし、提供終了の案内が見つかった月は、その銀行だけ翌月まで毎週見回る行を足し、続報を取りこぼさないようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 銀行の一覧 | URL、CSS セレクター、使っているサービス | 自社で作る表 |
| 前回のお知らせの一覧 | 銀行ごとのリンクと見出し | 前回の実行の記録 |
| お知らせの本文と添付 | 本文の文字、添付のPDFから取り出した文字 | 銀行のWebサイト |
| 振込の実績の集計 | 銀行、同行・他行、金額帯(3万円未満/以上)、経路(窓口/インターネットバンキング/ファームバンキング)、前月と直近12か月の件数 | 会計システムから毎月集計 |
| 利用中のサービスの台帳 | 銀行、サービス名、契約の方式、月額の料金、使っている部署、手形・小切手の有無 | 財務部のサービスの契約の一覧 |
| 過去のお知らせの記録 | 同じサービスについての前回のお知らせと、財務部の判断 | 影響の一覧 |
質を決めるのは、振込の実績の集計の区分です。 銀行の手数料は、同行か他行か、金額帯、経路で分かれています。集計の区分が手数料の区分と合っていなければ、新旧の料金を写し取れても件数を掛けられません。 銀行ごとに金額帯の境目が違う場合は、境目ごとの件数を持ちます。
直近12か月の件数も持つのは、月による増減をならすためです。 賞与の月や決算の月は振込が増えます。前月だけで年間の影響額を出すと、月によって結果がぶれます。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| ページの HTML | 各行のお知らせのページ、全国銀行協会のニュースリリース | HTTP Request(GET) |
| リンクと見出し | 取った HTML | HTML ノードの Extract HTML Content(CSS セレクター) |
| 新しいお知らせ | 前回と今回の一覧 | Compare Datasets(今回にだけあるもの) |
| 本文 | 新しいお知らせのリンク先 | HTTP Request |
| 添付のPDFの文字 | お知らせに付いた手数料の表など | HTTP Request でファイルとして受け、Extract From File(Extract From PDF) |
ページは間隔を空けて1件ずつ取ります。 HTTP Request の Batching の設定で、1回に送る件数と、次の送信までの待ち時間(ミリ秒)を決められます。8つのページと、新しいお知らせの本文と添付を合わせても、月に数十回の取得で済みます。
インターネットバンキングにログインしないと見えない掲示は、取りません。 ログインの情報をワークフローに持たせると、支払の権限を持つ認証情報が外部の仕組みに置かれることになります。 ログインの先の掲示は、これまでどおり人がログインしたときに見て、気になるものを表に書き足します。
AIへ渡す前に整形する
- 見出しで絞る … 「手数料」「改定」「料金」「終了」「廃止」「取扱い」「変更」「法人」「振込」「手形」「小切手」などの語を含むものを残し、外したものは見出しとURLだけを一覧の末尾に残します
- 個人向けのものを外す … 「個人のお客さま」「住宅ローン」「カードローン」など、法人に関係しない語だけの見出しは外します
- 本文の共通部分を外す … メニュー、フッター、関連のお知らせの欄を外します
- PDFの文字が取れたかを確かめる … 画像だけのPDFは文字が取れません。取れた文字数が極端に少なければ、人に回します
- 集計表の日付を確かめる … 前月の振込の実績の集計ができていなければ、照合を止めます
- 件数を確かめる … 1つのページで新しいお知らせが20件を超えたら、ページの作りが変わったとみなして比較を止めます
4番目を軽く見ないでください。 手数料の表は、表の形のままPDFにされていることが多く、文字にすると行と列がずれて、金額帯と料金の組み合わせが崩れることがあります。 崩れた表から写し取ると、3万円未満の料金が3万円以上の行に入ります。取り出した文字に金額帯の語と料金の数字が何組あるかを数え、表の行の数と合わなければ人に回します。
AIに処理させる
させるのは、お知らせ1件ごとに、改定や終了の中身を本文の文言のまま写し取り、自社の振込の区分と利用中のサービスを引いて当てはまるものを挙げることです。
| させること | 使う道具 | 返すもの |
|---|---|---|
| 種類を見分ける | - | 料金の改定/サービスの提供終了/取扱いの変更/その他 |
| 対象を取り出す | - | サービス名、経路、同行・他行、金額帯 |
| 新旧の料金を写す | - | 区分ごとの改定前と改定後の料金(税込・税抜の表記のまま) |
| 日付を写す | - | 適用日、受付の終了日、最終の取扱日 |
| 振込の実績を引く | 銀行と区分で件数を引く | 区分ごとの前月と直近12か月の件数 |
| サービスを引く | 銀行とサービス名で台帳を引く | 契約の有無、使っている部署 |
| 前回のお知らせを添える | 過去のお知らせの記録を引く | 同じサービスの前回のお知らせと判断 |
料金と日付は、本文の文言のまま写させます。 「〇〇円(税込)」と書かれていれば税込と添え、税抜に直させません。 「〇月以降順次」と書かれていれば、そのまま写します。
| させないこと | 理由 |
|---|---|
| 影響額の計算 | 掛け算と合計はコードで行う。区分の取り違えに気づけなくなる |
| 書かれていない区分の料金の補完 | 表に無い区分を、隣の区分から推し量らない |
| 対応の結論 | 経路の変更、銀行との交渉は財務部が決める |
| 期限の推測 | 書かれていなければ「記載なし」。銀行に確かめる |
| 台帳や集計の書き換え | 道具は読み取りだけ |
1行目がいちばん大事です。 生成AIに「影響額も出してください」と頼むと、件数と料金を自分で掛け合わせ、金額帯の区分を入れ替えたまま、それらしい合計を返すことがあります。合計だけを見ても誤りに気づけません。区分ごとの数字を返させ、掛け算はコードにします。
指示内容を固定する
AI Agent ノードの System Message に、次のように書きます。
あなたは機械部品メーカーの財務部で、取引銀行のお知らせを、
自社の振込の実績と利用中のサービスに照らす担当です。
入力は、新しく見つかったお知らせ1件の本文(添付のPDFから
取り出した文字を含む)と、銀行の名前です。
【やること】
1. 種類を fee_change / service_end / handling_change / other から選ぶ。
2. 対象のサービス名、経路、同行・他行、金額帯を取り出す。
3. 区分ごとに、改定前と改定後の料金を写す。
4. 適用日、受付の終了日、最終の取扱日を写す。
5. 振込手数料に関わるときは、振込の実績を銀行と区分で引く。
6. サービスに関わるときは、利用中のサービスの台帳を引く。
7. 同じサービスについての過去のお知らせの記録を引く。
【厳守事項】
- 料金、日付、区分の境目は、本文に書かれた文言をそのまま写してください。
税込・税抜の表記も写し、換算しないでください。
- 影響額を計算しないでください。件数と料金を掛け合わせないでください。
- 表に書かれていない区分の料金を、ほかの区分から推測しないでください。
書かれていなければ「記載なし」とし、check_points に書いてください。
- 期限が書かれていなければ「記載なし」とし、推測しないでください。
- 自社の集計の区分とお知らせの区分が一致しないときは、
category_gap にその違いを書き、件数を当てはめないでください。
- 対応すべきかどうかの結論を書かないでください。
- 法人に関係しないお知らせは relevant を false にしてください。
【出力】指定のJSONの形で返してください。
「区分が一致しないときは当てはめない」を書くのは、境目の違いを黙って丸めるのを防ぐためです。 自社の集計が「3万円未満/以上」で、お知らせの区分が別の境目なら、件数をそのまま掛けると影響額がずれます。 違いを category_gap に書かせ、人が集計の区分を直します。
「計算しないでください」を2か所に書くのも同じ理由です。 計算を禁じるだけでは、check_points に「年間約〇万円の増加」と書き添えることがあります。金額の文字列はコードの出力以外に出さない、と決めておきます。
出力形式を固定する
Structured Output Parser で、次の形のJSONを返させます。
{
"bank": "", "source_url": "", "title": "", "relevant": true,
"notice_type": "fee_change | service_end | handling_change | other",
"service": "", "effective_text": "", "end_text": "",
"fees": [
{ "channel": "", "same_bank": "same | other", "amount_band": "",
"before_text": "", "after_text": "", "tax_note": "",
"our_count_last_month": 0, "our_count_12m": 0 }
],
"services_in_use": [ { "service": "", "department": "" } ],
"category_gap": "", "previous_notice": "",
"check_points": [""]
}
Structured Output Parser は、JSON スキーマに沿った項目を返させる部品で、JSON の例からスキーマを作る方法と、JSON スキーマを直接書く方法があります。例から作るとすべての項目が必須として扱われ、$ref による参照には対応していないとされています。
このJSONの後ろに Code ノードを置き、fees の各行について次を計算します。 Code ノードは JavaScript か Python で書け、既定は入力の件数にかかわらず1回だけ実行する Run Once for All Items です。
| 計算 | 式 |
|---|---|
| 1件あたりの差 | 改定後の料金 - 改定前の料金(数字に直せないときは計算しない) |
| 年間の影響額 | 1件あたりの差 × 直近12か月の件数 |
| 合計 | 区分ごとの年間の影響額の合計 |
税込と税抜が混ざっている行、料金が「記載なし」の行は計算しません。 計算しなかった行は「未計算」として一覧に残し、理由を添えます。
1つ目の理由は、計算の根拠が行ごとに残ることです。 財務部は、区分ごとの新旧の料金と件数を本文と見比べるだけで、影響額を確かめられます。2つ目は、notice_type で並べ方を変えられることです。 service_end と handling_change は影響額に関係なく上に置き、end_text の近い順に並べます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 銀行のWebサイト、全国銀行協会 | HTTP Request(GET) | お知らせの一覧、本文、PDFを取る |
| 振込の実績の集計・サービスの台帳 | Postgres ノード(Select、パラメーター付きの Execute Query) | 銀行・区分・サービスで引く |
| Claude API | Anthropic Chat Model ノード | 写し取りと照合の整理 |
| Code ノード | ワークフロー内 | 影響額の計算 |
| 影響の一覧 | Postgres ノード(Insert) | 出力、計算の結果、財務部の判断 |
| 社内チャット | 通知 | 提供終了を上に、料金の改定を影響額の順に |
影響の一覧への書き込みは、ワークフローの側で行います。 Postgres ノードはAIエージェントの道具として使えますが、エージェントに渡すのは Select と Execute Query だけにします。Execute Query では Query Parameters に値を渡す形を使います。公式の説明では、クエリパラメーターのデータは n8n が無害化し、SQL インジェクションを防ぐとされています。
人が確認する
- 提供終了と取扱いの変更を先に見る … 期限と、自社のどの部署・どの支払が当たるかを確かめ、その月のうちに対応の担当を決めます
- 新旧の料金を本文で確かめる … 区分ごとの
before_textとafter_textを、本文と添付の表で見比べます。表の行のずれがないかをここで見ます category_gapを処理する … 区分の境目が違うものは、集計の区分を足すかを決めます- 影響額を確定する … 計算の結果を見て、対応(経路の変更、銀行への確認、仕入先への連絡)を決めます
- 判断を記録する … 対応と、決めた日、対応を終える期限を一覧に残します
2番目を省かないでください。 影響額の計算は決まった式ですが、入力の料金を写し間違えていれば、正しい式から誤った金額が出ます。
目標は、1件をならして12分です。 法人に関係の無いものと料金の小さな改定は数分で済み、提供終了と大きな改定には時間をかけます。
例外に対処する
| 起きること | 対応 |
|---|---|
| ページが取れない | その銀行を「今月取得なし」として通知。前回の一覧を今回とみなさない |
| ページの作りが変わり、全部が新しく見える | 20件を超えたら比較を止め、CSS セレクターの見直しを人に回す |
| 画像だけのPDFで文字が取れない | 見出しとURLだけを一覧に載せ、人に回す |
| 表の行と列がずれて取り出された | 金額帯と料金の組の数が合わなければ「未計算」にして人へ |
| 自社の集計の区分と合わない | category_gap に書き、件数を当てはめない |
| 集計表が前月の分になっていない | 照合を止める |
| 同じサービスの続報が出る | 前回のお知らせを添え、日付と料金の変化を check_points に書く |
| 道具の呼び出しがくり返し止まらない | Max Iterations(既定10)で上限を決め、超えたら人へ |
上から4行目が、この構成で最も多い例外です。 銀行の手数料の表は区分が細かく、PDFの表を文字にする段で崩れやすいからです。崩れたものを人に回す作りにしておけば、誤った影響額は一覧に出ません。
記録を残す
- 実行ごとの、銀行ごとの取得の成否と、新しく拾ったお知らせの一覧
- 取った本文と添付のPDF
- エージェントのJSON出力と、呼んだ道具の順番
- Code ノードの計算の入力と結果(区分ごとの料金・件数・影響額、計算しなかった理由)
- 財務部の判断 … 対応、決めた日、対応を終える期限、終えた日
4つ目を残すのは、影響額が後から問われるからです。 経路の変更や銀行との交渉の材料にした金額が、どの料金とどの件数から出たかを、半年後にも示せるようにします。
04実装レベルの3段階
最小構成では、新しいお知らせを探す手間が残ります。 確かめるための段階です。 半自動化で、1件45分が25分程度になります。 探す作業と読み取りは自動になりますが、件数の数え直しと計算が残ります。本格構成で12分になり、この段階が本記事の想定です。 差が大きいのは、第4章の③の数え直しが、集計表を引く道具に置き換わるからです。 段階を飛ばさないでください。 半自動化の表を2〜3か月見ると、どの銀行の区分が自社の集計と合わないかが分かります。集計を直してから本格構成に進むほうが、未計算の行が減ります。
05工数削減シミュレーション
導入後 40件 × 12分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 取引銀行が5行以上あり、仕入先への支払・給与・経費の振込を銀行ごとに使い分けている製造業・商社・建設業。振込手数料や法人向けインターネットバンキングの料金の改定、手形・小切手の取扱いの変更、旧いサービスの提供終了を、銀行のWebサイトのお知らせや郵送の案内で知り、気づいた人が都度調べている場合。振込の件数を銀行・振込先の区分・金額帯ごとに毎月集計できる場合。紙の手形・小切手やファームバンキングのような旧い仕組みがまだ残っている場合。
- 取引銀行が1〜2行で、改定の案内を銀行の担当者が必ず訪問して説明してくれる場合。振込の件数が月に数十件で、手数料の差が経営上の判断に影響しない場合。振込の実績を銀行・金額帯ごとに集計できる仕組みが無く、まず会計の側の整備が要る場合。なお、取引銀行を変えるか、振込の経路を変えるか、銀行と手数料の交渉をするかの判断は、この構成では代替できません。
07最小構成で試す方法
- 過去1年に取引銀行から出た、手数料の改定とサービスの終了のお知らせを5件選ぶ
- そのときに財務部が計算した影響額と、使った件数の表を用意する
- 5件の本文と手数料の表を、手元のAIサービスの画面に1件ずつ貼り付ける
- 「このお知らせの対象のサービス、区分ごとの改定前と改定後の料金、適用日、終了の期限を、本文の文言のまま表にしてください。計算はしないでください。表に無い区分は記載なしとしてください」と指示する
- 出てきた表に、当時の件数を表計算で掛け合わせ、当時の影響額と比べる
5件は必ずやってください。 ワークフローを組む前に、「手数料の表を区分ごとに正しく写し取れるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ料金の表が出た | ワークフローとの連携に進む |
| 頼んでいないのに影響額を書き添えた | 指示の書き方で直る。構成は有効 |
| 区分が自社の件数の表と合わない | 振込の実績の集計の区分を直すのが先。 AIの問題ではない |
3行目が出ることは珍しくありません。 その場合は、銀行の手数料の区分に合わせて会計システムからの集計の切り方を変え、同じ5件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 生成AIが影響額を計算して書き添える | 計算を禁じ、金額はコードの出力だけにする |
| PDFの手数料の表が崩れて区分がずれる | 金額帯と料金の組の数を数え、合わなければ人へ |
| 自社の集計の区分と銀行の区分が合わない | category_gap に書かせ、件数を当てはめない |
| 提供終了が影響額の順で下に沈む | 種類で並べ方を分け、期限の近い順に上に置く |
| 取れなかった月が「お知らせなし」に見える | 取得の成否を通知に必ず載せる |
| ログインの先の掲示を取ろうとする | 支払の権限を持つ認証情報をワークフローに置かない |
| 月末の日を指定して動かない月がある | 28日より前の日にする |
| 税込と税抜が混ざる | 表記のまま写し、混ざった行は計算しない |
上の2行が、この構成の失敗のほとんどです。 どちらも、誤った金額が正しそうな見た目で一覧に出るという同じ形をしています。計算をコードに寄せ、崩れた表を人に回すことで、一覧に出る金額の根拠を一本にします。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 銀行の公開ページの本文と、自社の振込の件数(銀行・区分ごと)と、利用中の銀行サービスの一覧です。振込先の名前や金額の明細は扱いません。
- 生成AIに渡すのは件数までにする … 集計表には振込先の名前も金額も入れず、銀行・区分ごとの件数だけにします。支払先の一覧が外部に出ることを避けます
- インターネットバンキングの認証情報を持たせない … ログインの先は人が見ます。支払の権限を持つ情報を、見回りの仕組みに置かないでください
- 見回る先の利用規約を確かめる … 機械による取得を禁じているページは対象から外し、取得の間隔を空けます
- 対応の判断を代替しない … 取引銀行の使い分け、銀行との交渉、仕入先への連絡は財務部が決めます。一覧は判断の材料です
- 手形・小切手の取扱いは銀行に確かめる … 全国銀行協会は、2027年度初からの交換廃止後は金融機関の判断で取扱いが変わる可能性があるとしています。取引銀行ごとの期限は、お知らせと担当者への確認の両方で確かめます
誤りが起きた場合のリスクは、影響額を誤って伝えることと、提供終了の期限を見落とすことの2つです。 前者は計算をAIに任せたときに、後者は種類を区別せず金額だけで並べたときに起きます。計算はコード、並べ方は種類から、という分け方を守ります。
10まず何から始めるか
1週目:振込の実績の集計表を作る
会計システムの支払の記録から、銀行・同行他行・金額帯・経路ごとの件数を、直近12か月分集計します。7行すべてを一度にそろえる必要はありません。振込の件数の多い2行から作ります。
2週目:5件で試す
過去のお知らせを5件選び、手元のAIサービスに料金の表を写させます。計算を書き添えていないか、表の区分がずれていないかを最優先で見ます。
3週目:銀行の一覧の表を作る
7行と全国銀行協会のお知らせのページのURLと CSS セレクターを表にし、各行のWebサイトの利用規約を確かめます。利用中のサービスの台帳に、手形・小切手の有無の列を足します。
4週目:一覧の取得と比較までをつなぐ
n8n でお知らせのページを取り、Compare Datasets で新しいお知らせを拾って表に書き出すところまで作ります。この時点ではエージェントを動かさず、拾えた件数を手で見た件数と比べます。
2か月目: エージェントと集計表をつなぎ、Code ノードで影響額を計算します。3か月目以降: 1件45分が何分になったかを実測します。提供終了の期限の何か月前に対応を始められたかが記録に残るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 自主行動計画が「2026年度末までに電子交換所における手形・小切手の交換枚数をゼロにする」ことを最終目標としていること。金融機関によっては9月30日に最終振出期限を設けており、10月1日以降、原則当座勘定からの支払いができなくなること | 全国銀行協会: 手形・小切手機能の全面的な電子化に関する周知・広報活動について(2026年6月5日) | 2026-10-08 |
| 2027年度初から電子交換所における手形・小切手の交換を廃止すること。その後は郵送等による相対決済となり、金融機関の判断で取扱いが変わる可能性があること | 全国銀行協会: 2027年度初からの電子交換所における手形・小切手の交換廃止等(2025年3月26日) | 2026-10-08 |
| Schedule Trigger の月単位の設定(その月に無い日は動かない)、タイムゾーン、保存して公開する必要 | n8n: Schedule Trigger | 2026-10-08 |
| HTTP Request の Batching。Compare Datasets の4つの出力 | n8n: HTTP Request、n8n: Compare Datasets | 2026-10-08 |
| Extract From File の Extract From PDF。Code ノードが JavaScript と Python に対応し、既定が Run Once for All Items であること | n8n: Extract From File、n8n: Code | 2026-10-08 |
Tools Agent の道具の選び方と Max Iterations の既定。Structured Output Parser の全項目必須と $ref 非対応。Postgres ノードの Query Parameters の無害化 | n8n: Tools AI Agent、n8n: Structured Output Parser、n8n: Postgres | 2026-10-08 |
個々の銀行の手数料と期限は、各行のお知らせと担当者への確認で確かめてください。 本記事は特定の銀行の料金を扱っていません。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0923)についてのご相談はこちらから。
