AppSheetを使って経費精算アプリを作ってみた

2025年4月12日土曜日

Appsheet

AppSheetを使って経費精算アプリを作ってみた

目次を表示/非表示

背景と目的

前回の記事「まずはサクッと経費登録アプリを作ってみた」では、GASとGemini APIを活用し、OCRから勘定科目を自動判定する仕組みを試作しました。

今回ご紹介するのは、その“前段”にあたるステップ。実は「経費の記録そのものをもっとスマホで簡単にできたらいいな」と思い立ち、Googleのノーコードツール AppSheet を使って、経費登録アプリを作ってみました。

この記事では、参考にした動画と、実際のテーブル構成や設計の意図、「なぜ2テーブル構成にしたのか?」というポイントまで、データモデリング的視点も交えてご紹介します。

参考にした動画

今回のアプリ作成のヒントになったのがこちらのYouTubeです👇

AppSheet入門動画(YouTubeライブ)

参考にした動画のキャプチャ

特に「親子テーブルの関係の作り方」「フォーム内で子要素を入力する方法」がとても丁寧に解説されており、AppSheet初学者にも非常に参考になります。

※他のチャンネルもたくさんありますが・・・正直このチャンネルが一番!!

テーブル構成と設計意図

今回作った経費精算アプリは、以下の2テーブル構成です。

① 経費登録テーブル

  • ID経費登録
  • 作成日時、編集日時
  • 作成者、最終編集者
  • フラグ、メモ、発生日
  • 面会者、面会要件、面会メモ
  • 受領資料

② 経費詳細テーブル

  • ID経費明細
  • ID経費登録(親キー)
  • 作成日時、編集日時
  • 作成者、最終編集者
  • フラグ、メモ、発生日
  • 領収書写真、勘定科目、OCRテキスト
  • 処理完了フラグ

この2枚のテーブルは「1つの経費申請(出張など)に、複数の領収書が紐づく」現実に沿った構成です。

なぜ2テーブルに分けるのか?

  • 1つの出張で複数の明細(交通費・昼食など)が発生することが多い
  • 訪問先や面談内容など共通情報をまとめたい
  • AppSheetで親子リレーションを組むことでフォーム操作もスムーズになる

この構成により、UXの簡素化、データの分離、再利用性の向上が図れます。

📌補足:主キーと親キーって何?

  • ID経費明細(主キー)
    各レコード(1件のデータ)を一意に識別するためのキー。
    他と被らないように、自動採番やユニークIDを設定しておくのが基本です。
  • ID経費登録(親キー / REF)
    経費詳細の明細が「どの登録に属しているか」を示すカラム。
    AppSheet上では、REF型として親テーブルの主キーを参照する形で設定します。

この関係性によって、データの構造がツリー状に整理され、フォームの中で子テーブル(経費明細)の入力ができるようになります。

まとめ

AppSheetはノーコードでありながら、正しい構成で設計すれば、業務でも使える本格的なアプリが作れるツールです。データベースの基本や設計の工夫を知っているだけで、使いこなし度が一気に上がります。

次回は、このアプリにGASやGemini APIを組み合わせて、「OCRから自動分類→勘定科目入力まで」を仕組み化していく予定です。ぜひ続編もチェックしてみてください!




データ登録後 画面イメージ(ここにデータが溜まっていきます!)
1データなのでいまいちですが。。。笑
追々データ蓄積していきます。




データ登録フォーム 画面イメージ

※中央上部のカメラマークのボタンを押すとカメラが起動します。