auPAYカード/auPAY の決済情報をGoogle スプレッドシートに記録し、LINEに通知するツールを作成しました【GAS】
作成したツール「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]。
スプレッドシートの作成
- 以下のスプレッドシートをご自身の Google アカウントで開いてください。
-
ファイル > コピーを作成
から フォルダにコピーを作成してください。- コピーを作成時、以下のような画面が表示されますが、
コピーを作成
してください。 - コピー先のフォルダはお好きな場所で構いません。
- コピーを作成時、以下のような画面が表示されますが、
LINE push 通知設定(任意)
LINE push 通知が不要な場合、設定は不要です。
LINE push 通知設定の手順
スクリプトのデプロイ
- コピーしたスプレッドシートを開き、
拡張機能 > Apps Script
を開きます。 - 以下サイトを参考にスクリプトをデプロイし、アクセスするための URL を控えておきます。
LINE Messaging API の設定
- 以下サイトを参考に チャネルアクセストークン を発行し、控えておきます。
-
LINE Developers にログインしトークンを発行する
※チャネル名が表示されるアカウント名になります。
-
LINE Developers にログインしトークンを発行する
- 以下サイトを参考に スクリプトのデプロイで取得した URL を設定します。
- 作成した LINE Bot を友達追加し、トークできる状態にしておきます。
スクリプトプロパティの設定
-
コピーしたスプレッドシートを開き、
拡張機能 > Apps Script
を開きます。 -
以下サイトを参考に下表のスクリプト プロパティを設定します。
-
GAS(Google Apps Script)のスクリプト プロパティの使い方
プロパティ 設定値 説明 LINE_NOTIFY
TRUE
またはFALSE
TRUE
の場合のみ push 通知を送信する(※1)LINE_ACCESS_TOKEN
<LINE Messaging API の設定で取得したチャネルアクセストークン> LINE でメッセージを送受信するために利用 LINE_GROUP_ID
<グループ ID> push 通知を行いたいトークルームの ID(※2)
-
GAS(Google Apps Script)のスクリプト プロパティの使い方
LINE push 通知設定の注意点
過去分のメールを一括で処理する(任意)
過去分のクレジットカード利用記録が不要な場合、一括処理は不要です。
過去分のメールを一括で処理する手順
後続手順で設定する定期実行設定により直近の受信メールは処理できるようになりますが、過去分のメールは処理されません。
そのため、初回でまとめて過去メールを処理します。
-
auPAY カード利用速報
のみを処理します。- カスタムメニュー の
初回一括取得 > 速報メールのみを検索し処理する
を実行してください。 - 「起動時間の最大値を超えました」と表示された場合は、繰り返し実行してください。
- カスタムメニュー の
-
auPAY カード利用詳細
のみを処理する- カスタムメニュー の
初回一括取得 > 詳細メールのみを検索し処理する
を実行してください。 - 「起動時間の最大値を超えました」と表示された場合は、繰り返し実行してください。
- カスタムメニュー の
カスタムメニュー
受信メールの定期処理を設定
直近の受信メールを処理するように定期実行を設定します。
- コピーしたスプレッドシートを開き、
拡張機能 > Apps Script
を開きます。 -
トリガー > トリガーを追加
を押下します。
- 下図を参考に、 1 分間隔で
main
を実行するように設定します。
記録されたクレジットカード利用履歴の活用例
以下シートに、クレジットカード利用履歴を記録した例を掲載しています[4]。
関数やピボットテーブルなどを利用して、以下のようなことができます。
- 支払い元ごとの利用金額を確認する。
- 1 日あたりの利用金額から、当月の利用金額を概算する。
- 利用内容ごとにカテゴリを設定し、カテゴリごとの利用金額を積み上げグラフで確認する。
開発者向け
解説本
本腰を入れて GAS で開発を行ったのは初めてだったので、設計・開発の際に考えたことをまとめました。
リポジトリ
おわりに
auPAY カード / auPAY の決済情報を記録・共有するために、GAS を利用したツール「auPayManager」を作成しました。
私と同じような支払い運用をしている方は、ぜひ、ご自身の家計管理にお役立てください。
Discussion