AppSheet×ChatGPTで経費申請アプリを作成する方法を解説!

経費申請アプリは、業務で発生した経費(交通費や出張費、備品購入費など)をスマホから簡単に申請・承認・管理できるアプリです。AppSheetとChatGPTを活用すれば、業務で使える経費申請アプリを簡単に作成できます。
本記事では、AppSheetとChatGPTを連携させた経費申請アプリの作成方法をご紹介します。
今回紹介する経費申請アプリの特徴
はじめに、今回ご紹介する経費申請アプリの特徴から説明します。
そもそもAppSheetにはもともとOCR機能が備わっているため、AppSheet単体でも経費申請アプリを作成できます。しかし、領収書の書式が店舗やサービスによって異なる(例:セブンイレブンとローソン、タクシーとJRなど)ため、読み取ったデータの振り分けが難しいという課題がありました。
今回紹介するアプリの一番の特徴は、AppSheetとChatGPTをAPI連携させている点です。これにより、正確なデータ振り分けが可能となりました。
経費申請アプリの基本操作
続いて、今回作成したアプリの基本操作について解説します。
まずは「経費申請」のボタンを押して、領収書を読み込みます。
続いてカメラマークをクリックして、読み取るファイルをクリックします。
最初の例はドトールの領収書で、5月30日付け・250円・インボイス番号は末尾が2554となっています。これを「Save」で保存しましょう。
保存すると、AppSheetのOCR機能がすぐに読み取り、ChatGPTが内容を解析して返答します。今回の場合、5月30日、250円、消費税率10%、インボイス番号2554の取引で、取引先は株式会社ドトールコーヒーと自動的に判別されました。下記の「AI回答」の箇所に正しい情報が記載されました。
もう一つ別の領収書でも試してみましょう。
今度はセブンイレブンの領収書で、金額は840円、日付が2020年5月20日となっています。
これを「Save」で保存して読み取っていきます。結果は、日付が2014年5月20日となってしまいましたが、金額やインボイス番号は正確に読み取れています。
また、領収書に消費税率が記載されていないため読み取れませんでしたが、これらは手動で修正することが可能です。
このように100%の精度ではないものの、AppSheetのOCRとChatGPTを連携させることで、高い精度で自動判別できるようになっています。
経費申請アプリの基本的な使い方
通常であれば、月末や月初に領収書をまとめて上長に申請することが多いかと思います。このアプリでは、各経費を申請リストに追加し、まとめて申請することができます。
申請する際は、経費リストから申請リストに追加したい領収書を選択します。
次に「申請ID」をクリックします。
申請リストを指定してください。
最後に「Save」をクリックしましょう。
申請リストは「承認申請」のボタンから申請できます。
このボタンをクリックすると、自動的に上長に承認メールが送信されます。
上長はメール内のリンクから内容を確認し、問題なければ「承認」をクリックします。
ステータスも「未承認」→「承認済」に変更されます。
①データテーブルの設定
ここからは、アプリの作成方法を解説していきます。
まずは、データテーブルの設定について解説します。
スプレッドシートで設定する項目
今回のアプリでは、スプレッドシート上に経費や申請、従業員リスト、勘定項目などのテーブルを用意しています。
経費のテーブルでは、経費IDや申請ID、日付、勘定科目、取引相手、金額、消費税率、担当者、インボイス登録番号などの項目を設定します。
申請のテーブルで設定する項目は下記のとおりです。
従業員リストと勘定項目のテーブルでは、下記の項目を設定します。
勘定項目
続いて、AppSheetのテーブルについて解説します。上から「勘定項目」「経費」「従業員リスト」「申請」となっています。
「勘定項目」の設定項目は下記のとおりです。
経費
「経費」の設定項目は下記のとおりです。
経費IDのKEY?とLABEL?にチェックを入れています。
経費科目のTYPEは「Ref」にして、Source tableに「勘定科目」を設定しています。
メモのTYPEは「LongText」に設定しましょう。
領収書は画像を入れるため「Image」にしておきます。
また、税抜金額は「Price」にして下記の関数を設定しています。
自分の経費
このアプリでは、ログインしている自分の経費だけを表示させるために「自分の経費」というSliceを作成しています。
ここでは下記の式を設定しています。
この式を入れることで、ログインユーザーのEメールアドレスに紐づいた従業員リスト内のメールアドレスを参照し、そのメールアドレスに一致するレコードの従業員IDを返すことができます。さらに、そのIDとAppSheet上のデータの従業員IDが一致するものだけを表示できる仕組みになっています。
従業員リスト
従業員リストの設定項目は下記のとおりです。
ここでは、上長もRefで指定しています。上長も経費申請を行うことがあるため、従業員を追加する際に上長を選択できる仕組みになっています。
申請
申請の設定項目は下記のとおりです。
ステータスは未承認、承認済み、申請中といったステータスを設定しています。
ここでは、「年月名前」と「vc申請小計」というバーチャルカラムを新たに作成しています。これにより、一つ一つの申請が「何年・何月、誰の申請」であるかがラベルとして一目で分かるようになっています。
もう一つの「vc申請小計」では、申請に含めた経費の合計金額をSUM関数で計算しています。
さらに、ここにも「自分の申請」というSliceを作成しています。これで自分の申請のみが表示されるようになります。
②Viewsの設定
次に、Viewsの設定について説明します。上から順に解説していきます。
経費リスト
経費リストでは、領収書が小さく表示されるようにDeck型を指定しています。
自分の経費のみが表示されるように「For this data」を「自分の経費」にします。
経費申請
経費申請の部分はform型に設定します。
さらに、領収書画像を上の方で入れられるように設定しています。
申請リスト
申請リストはcard型にしています。
③Automationの設定
続いて、このアプリの肝となるAutomationの設定について説明します。
上から順に解説していきます。
経費OCR読み取り
経費OCR読み取りの箇所では、経費が追加されたときに自動的に起動するように設定しています。
次に「ChatGPT送信」の部分について説明します。ここでは「Call a script」を設定し「Apps Script」を呼び出す形で実装しています。
実際にスクリプトを開くと下記の式が表示されます。
このスクリプトは、指定したプロンプトをChatGPTに投げかけ、その結果を取得するという役割を実行します。
Function Nameは「GPT(prompt)」とします。さらに、実行する際のパラメータも設定しています。
この部分は非常に苦労した点であり、何度もテストを繰り返して、適切な情報が正確に取得できるように修正を重ねました。
たとえば、金額にカンマや¥マークが入ると、AppSheetのプライス型に適合しないため「支払総額(税込)」には「¥マークなし、カンマなし」という指示を入れ、半角数字で回答するようにしています。
また、領収書にはさまざまな金額が記載されていますが、その中で一番大きな金額を支払総額として入力するように設定しました。インボイス番号に関しても、フォーマットが異なったり、空白が含まれたりするケースがあるため間の空白を削除する指示を追加しています。
次の「戻り値セット」の箇所の「Set these column(s)」では「AI回答」を指定しています。
質問に対して返ってきた回答をそのまま出力するように設定しています。
この部分は一つ前の「ChatGPT送信」で、下記の箇所をコピー&ペーストしてください。
続いて「各項目に振り分け登録」の箇所を説明します。
たとえば、日付の処理ではMID関数を使用しています。
MID関数は、指定した値から特定の文字を取得することができます。今回の場合、AI回答の中で「取引日」という日本語が入っている文言の5文字先から10文字を取得する形になっています。たとえば、下記の場合は、取引日:に続く2が5文字目で末尾の0が10文字目になります。
取引日がうまく読み取れないケースもあるので、この関数を設定することでどこに取引日があっても反映されるようになっています。
金額については、substitute関数とsplit関数を組み合わせて処理を行っています。
split関数では、AIの回答を半角スペースで分割し、4番目の箇所を指定しています。
下記の場合、取引日の日付や支払総額税込みの数字の前に半角スペースがあります。
4番目に該当するのが下記の部分です。
つまり、split関数で分けた4番目の箇所は250になります。
substitute関数では、カンマが含まれる場合はカンマを削除するように設定しています。
インボイス番号も同様に、半角スペースで分割して8個目の部分を取得するように設定しています。
相手先については、right関数を使用して、会社名だけを取得するようにしています。
会社名は何文字になるのかわからないので、下記の箇所で指定している形です。
len関数では、ChatGPTの回答の長さを指定しています。
会社名の長さが異なる場合でも、適切に処理できるように工夫しています。find関数ではChatGPTの中から「取引先:」という文字列を探しています。「-3」と設定することで、取引先の名称(株式会社ドトールコーヒー)だけ取り込めるようになります。
消費税率に関しては、IFS関数(IF関数を複数組み合わせた関数のこと)を使用しています。
ここで、AIの回答に応じて8%や10%、非課税などが正しく反映されるように設定しています。
Automationでこれらの処理を設定することで、AIの回答をAppSheetの必要な項目に適切に振り分けることができます。
④ChatGPTとの連携
続いて、ChatGPTとの連携について解説します。
今回作成するアプリでは、GASを使用してスクリプトを作成し、ChatGPTとAPIで連携させています。この連携を行うためには、まずOpenAIのAPIキーが必要です。APIキーを取得し、スクリプト内に貼り付けることで、ChatGPTと連携が可能になります。
ChatGPTと連携する際は、まずOpenAIのホームページの「API login」という箇所をクリックします。
すでにアカウントを持っている方であれば、下記の画面が表示されます。
左側のメニューの「API keys」をクリックし、右側の「+Create new secret key」をクリックしてください。
何のAPI連携がわかるように、名前やプロジェクト名も設定しましょう。
今後、API連携を増やす際は「Create project」から設定してください。
今回の場合、SECRET KEYの文字列をコピーして、Apps ScriptのSECRET_KEYの箇所に貼り付けました。
また、今回のプロジェクトではGPT-3.5 Turboと呼ばれるモデルを選択しました。
Chat GPTにはさまざまなモデルがありますが、領収書を読み取るだけであればGPT-3.5 Turboの性能で十分なのが理由です。回答速度も速いため、領収書の読み取りに適しています。
APIの使用量についても、-3.5 Turboの方がGPT-4oよりも安価になります。
⑤月末の申請自動作成
最後に、月末の申請自動作成のプログラムについて簡潔に説明します。Automationで毎月自動的に申請が作成されるようになっています。たとえば、6月の経費は6月の申請に含めるといった運用が可能です。
承認申請や否認通知などもAutomationで設定しており、たとえば申請のステータスが変わった際に処理が起動する仕組みを構築しています。
まとめ
今回は、AppSheetとChatGPTを連携させた経費申請アプリの作成方法をご紹介しました。
今回ご紹介したAppSheetを利用する際は、Google Workspaceのライセンスが必要となります。IT導入補助金支援事業者の弊社を通じてGoogle Workspaceをご契約していただいた場合、2年間半額でご提供することが可能です。さらに、弊社で作成したアプリを無償で提供することもできます!
詳細を知りたい方、まずはご相談したいという方は、ぜひお気軽にお問い合わせください。
GoogleWorkspaceで困っている、または新規導入予定の方へ
GoogleWorkspaceもしくはMicrosoft365の新規導入もしくは商流変更をお考えの方は、弊社ITの専門家が最適なプラン選定をアドバイス。また、初期のDNSレコード設定や各種メール設定も代行できます。
また、弊社からの導入で、以下のメリットがあります。
①GoogleWorkspace公式HPからだと14日間の無料利用期間⇒30日間に。
②支払いは請求書払い可
③1年間、GoogleWorkspaceのマニュアル動画を無料で視聴(2年目以降は年350円が必要)
④IT導入補助金を使って2年間半額でのご提案も可能
⑤弊社で作成したAppsheetアプリ(勤怠有給管理アプリ、備品発注管理、商談管理、従業員同士感謝記録アプリ等)無料進呈 ※数に関係なく設置サポート費用5万円別途有

お問い合わせは、電話もしくはフォームからご相談くださいませ。
※「GoogleWorkspaceの記事を見た」とお伝え下さい。
GoogleWorkspaceお問い合わせフォーム
必要な項目のすべてをご入力いただき、「アーデントに問い合わせる」ボタンをクリックしてください。必須のついている項目は必須入力項目です。
関連記事
・GoogleWorkspaceはIT導入補助金の対象?どれくらいお得になる?・GoogleWorkspace管理画面のセキュリティ設定完全解説
・AppSheetなら備品発注管理アプリを一瞬で作れる?!
・スプレッドシートとGASによる業務自動化の例を紹介
・Gmail(Google Workspace)でホワイトリストを設定するやり方
・2024年2月から!Gmailの送信ガイドラインの変更を徹底解説
・Google Workspaceのマニュアル動画が、社員教育に便利!
・OutlookからGoogle WorkspaceのGmailへメールデータを移行する方法
・企業でのApp Sheetの活用事例3選!利用するメリットも解説
・GoogleのAppSheetでできること、料金を徹底解説!
・完全無料!googleスプレッドシートの経費精算システムテンプレート
・無料のスプレッドシートで有給管理を効率化!テンプレートを配布します!
・従業員全員のGmailをバックアップする方法2選
・Gmailで部下のメールを上司がチェックできるようにする方法2選
・Googleスプレッドシートにパスワードを設定する方法
・googleドライブで電子帳簿保存に対応する方法をわかりやすく解説
・GoogleWorkspaceを初心者向けにわかりやすく解説
・Google Workspace料金プランの違いとプラン選定ポイントを徹底解説
株式会社アーデントは、IT導入補助金の支援事業者を行っております!
アーデントからIT導入補助金を使ってクラウドツールを導入するメリットは以下の通りです。
メリット①対象ツールを2年間、半額、もしくは1/4で利用可!
メリット②会計、経費精算、請求書処理、受発注ツール導入なら、PCやタブレットの購入も補助が受けられ半額!
メリット③補助期間終了後は、公式価格よりお値引き!
メリット④各種IT活用、DX、保守サポートでより貴社のIT化を促進、生産性を向上します!
【弊社取り扱いクラウドツール】
🔹オフィスソフト: Google Workspace、Microsoft365
🔹ノーコード業務改善:kintone、Zoho、楽楽販売、JUST.DB
🔹コミュニケーション: サイボウズオフィス、Chatwork、LINE WORKS
🔹会計・経費管理: マネーフォワード、freee、楽楽精算、楽楽明細、invox
🔹電子契約・文書管理: freeeサイン、クラウドサイン、Adobe Acrobat
🔹セキュリティ対策: sophos、SentinelOne、ESET、ウイルスバスタークラウド
🔹RPA・自動化: RoboTANGO、DX-Suite、Yoom、バクラクシリーズ
🔹勤怠・労務管理: 勤革時、楽楽勤怠、マネーフォワード
🔹物流・在庫管理: ロジザードZERO
🔹教育・マニュアル作成管理: iTutor、NotePM、leaf
🔹PBX・電話システム: INNOVERAPBX、MOTTEL
🔹端末管理:LANSCOPE、clomo
🔹店舗向け:TORIZA
🔹受付ipad:ラクネコ
など
※こちらのツールは補助期間終了後の値引不可
また、上記以外のツールも取り扱いできるものが多々ありますので、一度ご相談ください。
IT導入補助金2025の詳細、お問合せはお電話頂くか、以下の記事を御覧ください↓
IT導入補助金お問合せ:03-5468-6097

以下の動画では、採択のポイントや申請にあたっての注意点などを詳しく解説していますので、
あわせてご覧ください!
