自作家計簿にカードのCSVを取り込んで、毎月の「貼り付けて直す」を減らした話

AIで家計管理をラクに。家計簿画面とカード利用・定期支出を描いたイラスト AI活用
スポンサーリンク

日々の家計管理皆さんはどうしていますか?私はここ最近までGoogleスプレッドシートに収支を直書きして結構頑張って家計管理していました。
Googleスプレッドシートで管理していた頃の記事

カードの請求を都度手動で書き写したり、請求が確定すると、明細をCSVでダウンロードして、Googleスプレッドシートに落とし込むみたいなことを一カ月に何回も何回も実施していました。

Googleスプレッドシートへ貼り付けて、自分の家計簿に合わせて内容を読み替えて、残高の見込みを確認する。今後のお金がどうなっているか見たいだけなのに、その作業の手間でかなりの時間を毎月結構取られていました。

そもそも、私が望んでいる未来の口座残高資産がどうなっているか確認できるようなアプリがこの世に存在していないことが大元の原因なのでだったら、自分で作ってやろうじゃないのと自分専用の家計簿アプリ「Yearline」を作ることを決意し(名前はAIが勝手に決めたみたいです笑)、もともと行っていた家計管理の要件をすべて一から説明して、何から何まで作ってもらい、完全に自分が理想とする家計簿を作ってもらったということなんですね。今まで何とか自分で作業していっていたあのカード情報の反映とか銀行口座の残高状態のつじつま合わせが全く必要なくなって、今やってるのは日々のカード支払い金額の予算割り当て処理と、カード請求額が確定した後のCSV取り込みぐらいです。

今回は、家計簿に対して、取り込む情報がどのように扱われるか、画面と架空の明細を使って紹介してみます。画面や説明中の金額はすべてサンプルなので、私の資産を大公開!みたいなことはありません(笑)

スポンサーリンク

ふだんの利用通知と、確定した明細を使い分ける

普段は、Gmailに届いたカード利用通知をChatGPTのスケジュール機能を用いて、別のGoogleスプレッドシートに情報を書き込んでもらい、その内容を家計簿に取り込んでいます。メールが届いてから数分以内には反映されるので、カードを使うたびに家計簿に書き込む手間が減りました。

ただ、この段階の明細は「仮実績」という扱いにしています。なぜならカード利用速報は、カード締め日の兼ね合いやボーナス払いなど、利用した月が実際には変わってしまうようなものも通知としてやってくるので、即実績にしてしまうと予算の状態がぐちゃぐちゃになってしまうからです。なので、カード会社の請求が確定した後に、CSVを取り込んで確定した内容に合わせるような処理をしています。日々の利用を把握するための通知と、請求が決まった後の明細で、役割を分けている感じですね。

Yearlineの閲覧用デモに表示した、架空のカード明細と予算項目
架空データのデモ画面。利用日・利用先・金額に加え、「仮実績/食費」のような状態と予算項目、支払予定を見ることができます。この画像はCSV取り込み前後の比較画面ではありません。

ここで便利なのが、利用した日と、銀行から引き落とされる日を分けて扱えることです。クレジットカードを1回払い利用すると9月に買ったものでも、実際の支払いは10月ですよね。利用した期間の予算と、支払う月の口座残高の両方へ反映するようにしています。こういう気の利いた機能が世に存在する家計管理アプリにはないんですよ。

スポンサーリンク

CSVを選ぶ前に、カードと利用期間を合わせる

請求が確定したら、私がやるのはカード会社からCSVをダウンロードして、家計簿アプリへ取り込むことです。

アプリでは「カード明細」から「CSV取込・照合」を開き、カードと対象の利用期間を選んでからファイルを指定します。必要に応じて引落日も合わせ、「CSVを取り込む」を押す流れです。

ここで選ぶのは、その明細の利用期間です。銀行からお金が引き落とされる月と同じとは限りません。例えば、閲覧用デモのカードでは8月16日〜9月15日の利用を、10月10日に支払う設定にしています。JCBカードのオリジナルシリーズって結構特殊な締め日と支払日になっているんですよね。「10月に引き落とすから10月の利用分」というわけではないんですね。

このアプリでは、選んだ期間の内容を確定CSVに合わせます。そのため、使うのは期間全体の明細が入ったCSVです。

スポンサーリンク

取り込むと、すでにある明細はどうなるのか

利用通知から入った明細があるところへ、同じ買い物が載ったCSVを取り込む。単純に全部追加すると、同じ買い物を2回したことになってしまいます。

なので、対応する明細は確定実績へ更新し、CSVにだけある明細は追加するようにしています。違いが分かるように、通常の1回払いだけを使った小さな例を用意しました。以下は記事用の架空データで、アプリの処理を本番と接続しない検証環境で動かした結果です。

取り込むCSVには、スーパーの3,200円と日用品店の1,800円の2件が入っています。

明細取り込む前CSVの内容取り込んだ後
サンプルスーパー・3,200円仮実績として登録済み記載あり確定実績に更新。二重には加算しない
サンプル日用品店・1,800円未登録記載あり確定実績として追加
CSVにない架空明細・800円仮実績として登録済み記載なしその期間の集計から除外
集計対象の合計4,000円5,000円5,000円

この例では、同じCSVをもう一度取り込んでも、合計は5,000円のままでした。

800円の明細は、行そのものを消しているわけではなく、除外した状態で残します。CSVにないものを仮実績のままずっと足しておくと、確定した明細と家計簿の数字が合わなくなるためです。逆にいうと、だからこそ期間全体のCSVを選ぶ必要があります。

なお、分割払いやボーナス払いは、別の月に請求が続くことがあります。そうした登録済みの購入まで「今回のCSVにないから除外」とはしない作りです。上の表は、通常の1回払いに絞った例として見てください。

スポンサーリンク

入力が減っても、確認するところは残る

取り込んだら、対象のカードや期間、金額、引落日が請求内容と合っているかを確認します。カード利用をどの予算に紐付けるかも、今は自分で少しずつ確認しています。

対応が一つに決まる明細では、すでに付けた予算やメモを引き継ぎます。ただ、対応が曖昧なものまで推測で予算を付けるようにはしていないので、その辺りは私の出番ということです。

また、「CSVを取り込んで明細が確定実績になること」と、アプリの「期間を確定」は別の操作にしています。後者は、その期間の内容が揃ったところで区切りを付けるためのものです。未使用の予算を先々の支払見込みから外し、その期間の編集を制限します。

何でも全部自動になった、という感じではありません。ただ、私が面倒だと思っていたのは、毎回同じように明細を貼り付けて、数字を整えるところでした。そこを任せられるだけでも、ずいぶん気が楽になります。

スポンサーリンク

整えた数字を、先々の残高までつなげる

家計簿には、カード明細だけでなく、給与や定期的な支出も設定しています。それらとカードの支払予定から、先々の口座残高を見られるようにしました。

架空データを使ったYearlineの月次画面。口座収支とカード利用期間を分けて表示
月次のデモ画面。銀行口座の収支と、カードの利用期間ごとの予算を並べて確認できます。残高や余力も架空の設定から計算したもので、実際の資産金額ではありません。

残高の予測自体は、以前のスプレッドシートでもやっていました。新しくなって助かっているのは、明細や設定の変更が反映されるので、確認するためにあちこち整えなくてよくなったところです。

どんな画面なのかは、架空データのYearlineデモから見られます。月次、カード明細、年間・24か月予測を閲覧できるもので、CSVの取り込みや保存はできません。先ほどの取り込み例は、このデモ画面とは別に確認したものです。

以前は週に1〜2回、30分〜1時間ほどかけて家計簿を整えていました。これはCSVを転記したり、定期支出を書き直したりする作業も含めた、自分の記憶の中での作業時間目安です。

今の作業時間をきっちり測ったわけではありませんが、感覚としては「ほとんど何もしていない感じ」と言いたくなるぐらい変わりました。実際にはファイルを取り込んだり、予算を確認したりしているんですけどね。それでも、まとまった時間を取って家計簿を直していた頃とは、面倒くささがかなり違います。

このアプリをAIと一緒に作るまでには、一度投げ出したり、やり方を変えて再挑戦したり、いろいろありました。その辺りは「AIでの開発に一度挫折した私が、家計簿の手作業を減らすまで」に書いています。作るのはなかなか大変でしたが、毎週の面倒が減ったので、色々苦労して作ってよかったなと思っています。

コメント

タイトルとURLをコピーしました