Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

Googleフォーム・スプレッドシート・ドライブで立て替え金の管理を試している

11月20日に「AWS Community Day Kanazawa」というAWSユーザーグループ(JAWS-UG金沢)とAWSの共催で行われるイベントが開催されます。私はこの運営に携わっていてそのタスクの一つに立て替え金の管理というのがあります。今回はできるだけ 頑張らず に立て替え金の管理を行う試みを行っているのでその紹介をしようと思います。

頑張らない?

ここで言う「頑張らない」というのは、時間を掛けない、コストを掛けない、自動化させる、他の人でもできる、ということを心がける意味の言葉として捉えてもらえればと思います。コミュニティ主体のイベントという性質もあって、私個人としては仕事や家庭やプライベートなどから限られた時間やリソースを捻出する中でのスタッフ活動になりますのでできるだけこのような心がけで運営するというのが持続的に活動する上で大切だと考えています。もちろん、他のスタッフが支えてくれているからこそという側面もありますので関係各位には改めて感謝を申し上げます。

立て替え金管理のワークフロー

さて本題に戻って、立て替え金管理についてのワークフローを示します(細かいところは省略)。

  • イベント運営に必要な費用をスタッフが立て替えて支払い、領収書を受け取る
  • スタッフは会計担当スタッフ(私)に立て替えを申請する(1)
  • 会計担当スタッフは申請内容を記録し、領収書(スキャンしたPDF)を保存する(2)
  • 会計担当スタッフは立て替え費用を集計する
  • (スポンサー等から)費用が運営に入ってきたら、会計担当スタッフは立て替えてくれたスタッフに精算を行う

このフローでは具体的な方法について書かれていませんがこれからどうやってやろうかという観点で読んでもらえればと思います。まず、(1)の立て替えたことを会計担当スタッフに申請する部分ではどのような方法を利用することが考えられるでしょうか。メールで申請する、専用のフォームを用意してここから入力してもらう等ありそうです。次に(2)の申請内容を記録・保存する部分についてはどうでしょうか。集計のことを考えるとExcelGoogleスプレッドシートに記録していくのが良さそうですね。

今回の要件としては、管理に必要な項目が決まっている、できるだけオープンに管理する、というポイントがありさらに頑張らないことを加味するとGoogleフォームとGoogleスプレッドシートおよびGoogleドライブを利用することにしました。

ツール 利点
Googleフォーム 入力フォーマットの統一、Submit後Googleスプレッドシートへ自動的に反映、ファイルもアップロード可、自ら実装およびホスティングしなくてよい、GASでカスタマイズ可能(後述)
Googleスプレッドシート 共有可能
Googleドライブ 領収書ファイルの置き場として共有可能

特にフォームについては様々な機能が利用できる上に自分で実装とホスティングしなくてよいというのが嬉しいポイントです。フォームを作成するときもブラウザでポチポチするだけなので他の人にも引き継ぎやすいと思います。

Googleフォーム・スプレッドシート・ドライブを使ったワークフロー

Googleフォーム、スプレッドシート、ドライブを使うワークフローは以下になります。赤字の部分が影響範囲になります。これで会計担当スタッフ(私)が関与する部分がだいぶ減りました。

  • イベント運営に必要な費用をスタッフが立て替えて支払い、領収書を受け取る
  • スタッフはGoogleフォームに必要な項目(日時、担当者名、金額、用途、領収書をスキャンしたPDF)を入力し申請を行う
  • Googleスプレッドシートに入力された内容が同期され、領収書PDFは特定のGoogleドライブフォルダに保存される
  • 会計担当スタッフはGoogleスプレッドシート上で立て替え費用を集計する
  • (スポンサー等から)費用が運営に入ってきたら、会計担当スタッフは立て替えてくれたスタッフに精算を行う

プラスα

これで運用の負担はだいぶ減ったのですが、フォームに申請があっても私にしか通知が届かないという課題としてありました。課題と感じた理由としては、私のメールにのみ届くため見落とす可能性がある、また申請者や他のスタッフにも通知がある方がオープンになって良いという点です。

そこでGAS(Google Apps Script)を使ってJAWS-UG金沢のSlackに通知する機能を実装しました。実装方法については以下のリンクが詳しいですのでこちらを参照ください。(「google form slack」でGoogleするといろいろ参考になる記事がでてきます)

qiita.com

うまく連携できるとSlackには以下のような通知が来るようになります(アイコンはそれっぽい絵文字を指定した)。フォームに入力された値を使って通知メッセージを生成しています。

Image from Gyazo

Slackの通知を含めると最終的にはこのような仕組みとなりました。*1

f:id:TAKAyuki_atkwsk:20191017232035p:plain

おわりに

これまで見てきた仕組みによって要件を満たしつつ運用としてはだいぶ楽になりました。その分仕組みを考えるときや作るときには多少頑張りました。今回は立て替え金管理というフローで利用しましたが応用できる業務フローは他にもあると思います。このような仕組みで頑張らない運用を考えるのも面白いですね。

最後に宣伝ですが、11月20日に金沢でAWS Community Dayが開催されますのでAWSクラウド、IoT、ビッグデータにご興味のある方はぜひお越しください。お待ちしております。

awscommunityday2019.jaws-ug.jp

*1:アイコンはこれらを利用しています Googleフォーム新しいロゴ icon by Icons8, Googleスプレッドシート icon by Icons8, Google ドライブ icon by Icons8