フリーランス

iPhoneの領収書整理を自動化してみた話 構成編

こんにちわ、どばきちです。

前回はiPhoneの領収書整理に困っていて自動化しましたっていうお話をさせて頂きました。詳しくはこちらをご覧ください。

前回の話に出てきたiPhoneの領収書の自動化はどう実現したのかというところについてご紹介させて頂きたいな、と思います。

システム構成

全体としては以下の構成要素の組み合わせでできています。

上記の図を踏まえつつ、ざっくりとした処理フローについて解説します。

  1. Appleからの領収書はGmail宛に届く
  2. Google Apps Scriptは月一で月初に動作する(処理実行時の前月の分を処理する)
    1. Gmailに届いたメールから前月に「Apple からの領収書です」とタイトルが付けられたものを抽出する
    2. 領収書メールから購入情報(決済金額、購入内容等)を取得して、スプレッドシートの一覧表に反映する
    3. htmlファイルとして領収書を保存する
    4. 全件分上記の処理が完了したらSlackで通知する

構成要素

Gmail

Appleの領収書はGmailアカウントで受信するようにしています。特に変わった設定などはしていません。

GAS(Google Apps Script)

諸々の処理はGAS(Google Apps Script)で対応しました。GASには今回の仕組みを構築する上で便利な以下の様な特徴があります。

GASの特長

  • 無料で使える
  • 時限での実行も可能
  • Google Spread Sheet, Google DriveなどGoogleのサービスとの連携が簡単にできる
  • 外部ライブラリも使える(今回はParserというスクレイピング用のライブラリを使いました)

GASの開発をするならClaspを使うと良いと思う

GASを直接Googleドライブ上で編集することもできるのですが、Claspというnodeのパッケージを使うことでローカル環境でTypescriptを使って開発することもできます。今回はclaspを使って開発しました。

Claspを使ってよかった点

  • TypeScriptでの開発ができ静的解析が使えるので、謎のエラーやこの変数の型は何だっけ?問題に悩まされなくなる
  • gitでコード管理ができる(GASを直接Googleドライブ上で編集する場合はコード管理がしづらい)

その他Googleサービスとの連携がラク

スプレッドシート、Googleドライブは特に追加のライブラリを入れなくてもそのままGASで扱うことができます。ドキュメントのパスを貼っておきます。

Google Apps Script SpreadsheetApp

Google Apps Script DriveApp

利用した外部ライブラリ

以下2点を今回は利用しました。

  • Parser : スクレイピング用パーサー(Appleからの領収書はHTML形式のファイルなので、このファイルをスクレイピングすることで値を取得しました)
  • SlackApp:Slackへの通知用(https://github.com/soundTricker/SlackApp)

Google Drive

領収書の保存先として利用しました。

GoogleドライブはローカルPCにマウントして外付けHDDの様に扱うこともできてとても便利です。

おわりに

Gmail, GAS, Googleドライブ、スプレッドシートどれも全て無料で使えるので本当にありがたいなと思います。

僕と同じ様に領収書問題に悩まされる方や、GASを使おうか迷っていた方、GASのコード管理を不安に思っていた方などに一例をご紹介することで何かしらの気づきに繋がったらいいなと思っています。

それでは、また!

iPhoneの領収書整理を自動化してみた話前のページ

iDecoへの移換と掛金設定はまた別の話次のページ

関連記事

  1. フリーランス

    開業する前に大掃除!

    こんにちわ、どばきちです。4月色々あったぞ第3弾。大…

  2. フリーランス

    フリーランスになる前の費用は開業費!

    こんにちわ、どばきちです。僕は現在もまだ会社員なので…

  3. フリーランス

    エージェントからの紹介って実際どうなん?

    こんにちわ。どばきちです。この1ヶ月にあった色んなこ…

  4. WordPress開発・運用

    WordPressテーマ開発環境を準備する

    こんにちわ前回はWordPressのローカル開発環境を構築す…

  5. フリーランス

    小規模企業共済加入初年度結果!

    こんにちわ。以前こちらで小規模企業共済に申し込んでみたという…

  6. 技術

    [Mac]codeコマンドでCursorが起動するようになってた

    こんにちわ僕はVisual Studio Codeをターミナ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

2025年1月
 12345
6789101112
13141516171819
20212223242526
2728293031  
  1. 技術

    [docker][PHP]Laravelでステップ実行してみる
  2. フリーランス

    トレンドマイクロの評価の結果が出てた
  3. 投資

    NFTを初出品してみました
  4. 技術

    [docker][PHP]Laravel開発テンプレを作ってみた
  5. フリーランス

    インボイスの登録申請。。気をつけて!
PAGE TOP