💳

auPAYカード/auPAY の決済情報をGoogle スプレッドシートに記録し、LINEに通知するツールを作成しました【GAS】

2024/02/04に公開


作成したツール「auPayManager」の全体構成

はじめに

対象読者

  • auPAY カード / auPAY を利用している方
  • ご自身の Gmail アドレス 宛にメール通知を設定できる方
  • auPAY カード / auPAY の決済情報を記録・共有したい方

背景

私の家の家計管理について

私の家では、家計の出費[1]を一本にまとめるために以下のような支払い手段を取っています。

  • 基本的に、クレジットカードを利用する。
    • クレジットカードとして auPAY カード および その家族カード を利用する。(※1)
  • 例外的に、QR 決済を利用する。(クレジットカード非対応の店舗など)
    • QR 決済として、auPAY を利用する。
    • 都度一定額をチャージする運用にし、チャージには auPAY カードを利用する。(※2)
  • 引き落とし口座として、 au じぶん銀行 を利用する。
    • 支払金額が確定した際には、一定金額(家計予算)を差し引いた残りを折半して入金する。(※3)

問題点

上記のような運用をしていると、以下のような問題点がありました。

  • 情報共有が難しい(※1)
    • 家族カードを含む auPAY カードの利用通知(メール通知/アプリ push 通知)は会員にしか届かない。
    • auPAY カードの利用状況を確認するには、会員のアプリを開く必要がある。
  • 手動操作を忘れる(※2)
    • auPAY へのチャージを忘れてしまう
  • 家計の振り返りが難しい(※3)
    • 各利用明細を仕分けられない。
    • 貯金から出資する予定/個人で建て替えたい/家計予算から出資する予定などの情報が整理できない。
    • それに応じた各自の入金額を計算しずらい。

このような問題点を解決するために、以下のようなツールを作成しました。

作成したツール「auPayManager」の概要


auPayManager の全体構成

auPayManager は次のような機能を持ちます。
ほぼすべての機能は、au フィナンシャルサービスから送信されるメールの受信をトリガーとして動作します。

auPAY カード の利用を記録・共有

  • auPAY カードの利用履歴をスプレッドシートcreditCardに記録する
    • auPAY カード利用速報によってレコードは 1 行登録される
    • auPAY カード利用詳細によって利用内容は更新される
    • 支払い元は「家計」がデフォルト
  • auPAY カードの利用を LINE に push 通知する
    • 利用情報 / 「家計」ラベルの合計金額 / 「支払い元を変更」ボタンなどを表示

auPAY カードの月次請求金額を共有

  • auPAY カードの月次請求金額を LINE に push 通知する
    • 支払いラベルごとの合計金額 / 特殊支払いのメモなどを表示

auPAY カードの利用通知ごとに、支払い元・支払いメモを設定


  • auPAY カードの利用通知ごとに、支払い元・支払いメモを LINE から設定できる[2]
    • 「家計」「貯金」ボタンを押下することで、支払い元を変更できる
    • 「特殊」ボタンでメモ付きの支払い元を設定できる

auPAY の利用/チャージを記録・共有

  • auPAY の利用/チャージ履歴をスプレッドシートQR Payに記録する
  • auPAY の利用/チャージを LINE に push 通知する
    • 利用後、残高不足の場合チャージを促すメッセージを表示

利用のためのセットアップ

メール通知設定

以下を参照し、ご自身の Gmail アドレス 宛にメール通知を設定してください[3]

スプレッドシートの作成

  1. 以下のスプレッドシートをご自身の Google アカウントで開いてください。
  2. ファイル > コピーを作成 から フォルダにコピーを作成してください。
    • コピーを作成時、以下のような画面が表示されますが、コピーを作成してください。
    • コピー先のフォルダはお好きな場所で構いません。

LINE push 通知設定(任意)

LINE push 通知が不要な場合、設定は不要です。

LINE push 通知設定の手順

スクリプトのデプロイ

  1. コピーしたスプレッドシートを開き、拡張機能 > Apps Script を開きます。
  2. 以下サイトを参考にスクリプトをデプロイし、アクセスするための URL を控えておきます。

LINE Messaging API の設定

  1. 以下サイトを参考に チャネルアクセストークン を発行し、控えておきます。
  2. 以下サイトを参考に スクリプトのデプロイで取得した URL を設定します。
  3. 作成した LINE Bot を友達追加し、トークできる状態にしておきます。

スクリプトプロパティの設定

  1. コピーしたスプレッドシートを開き、拡張機能 > Apps Script を開きます。

  2. 以下サイトを参考に下表のスクリプト プロパティを設定します。

LINE push 通知設定の注意点

過去分のメールを一括で処理する(任意)

過去分のクレジットカード利用記録が不要な場合、一括処理は不要です。

過去分のメールを一括で処理する手順

後続手順で設定する定期実行設定により直近の受信メールは処理できるようになりますが、過去分のメールは処理されません。
そのため、初回でまとめて過去メールを処理します。

  1. auPAY カード利用速報のみを処理します。
    • カスタムメニュー の初回一括取得 > 速報メールのみを検索し処理するを実行してください。
    • 「起動時間の最大値を超えました」と表示された場合は、繰り返し実行してください。
  2. auPAY カード利用詳細のみを処理する
    • カスタムメニュー の初回一括取得 > 詳細メールのみを検索し処理するを実行してください。
    • 「起動時間の最大値を超えました」と表示された場合は、繰り返し実行してください。


カスタムメニュー

受信メールの定期処理を設定

直近の受信メールを処理するように定期実行を設定します。

  1. コピーしたスプレッドシートを開き、拡張機能 > Apps Script を開きます。
  2. トリガー > トリガーを追加を押下します。
  3. 下図を参考に、 1 分間隔でmainを実行するように設定します。
    time_trigger

記録されたクレジットカード利用履歴の活用例

以下シートに、クレジットカード利用履歴を記録した例を掲載しています[4]
関数やピボットテーブルなどを利用して、以下のようなことができます。

  • 支払い元ごとの利用金額を確認する。
  • 1 日あたりの利用金額から、当月の利用金額を概算する。
  • 利用内容ごとにカテゴリを設定し、カテゴリごとの利用金額を積み上げグラフで確認する。

開発者向け

解説本

本腰を入れて GAS で開発を行ったのは初めてだったので、設計・開発の際に考えたことをまとめました。

リポジトリ

おわりに

auPAY カード / auPAY の決済情報を記録・共有するために、GAS を利用したツール「auPayManager」を作成しました。
私と同じような支払い運用をしている方は、ぜひ、ご自身の家計管理にお役立てください。

脚注
  1. 変動費のみを対象とし、光熱費を含む固定費は別の支払手段を取っています。また、生計を同一とする家族は私と妻の二人です。 ↩︎

  2. この機能のみ LINE メッセージ受信をトリガーとして動作します。 ↩︎

  3. プログラムがメールを検索して読むので、受信時にフィルタで既読・アーカイブ処理などしても問題ありません。 ↩︎

  4. 金額は適当です。 ↩︎

Discussion