フリーランス

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. WordPress開発・運用

    WordPressテーマの修正を本番環境にデプロイする

    こんにちわ前々回はこちらで、WordPressのローカル開発…

  2. フリーランス

    今年の例のアレ、放置すると減税にならない

    こんにちわ2月に確定申告をして所得税、消費税を納税をした。5…

  3. フリーランス

    社会保険の任意継続での注意点

    こんにちわ、どばきちです。そういえば任意継続の保険証…

  4. フリーランス

    小規模企業共済を申し込んでみた

    こんにちわ。今日は銀行に行って小規模企業共済に申し込んできま…

  5. フリーランス

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

    こんばんわ5ヶ月待ったけど....適格請求書発行事業…

  6. 技術

    スプレッドシートの内容をChatworkに定期通知する<前編>

    こんにちわ先日Googleスプレッドシートにある内容を定期的…

コメント

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

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

2025年4月
 123456
78910111213
14151617181920
21222324252627
282930  
  1. 雑談

    Mr.Children 「生きろ」
  2. フリーランス

    最終出社!
  3. フリーランス

    SBI証券のiDeco 掛金設定やっとできた!
  4. 雑談

    ただの雑談
  5. 技術

    warpではzshのbindkeyが使えない
PAGE TOP