Googleスプレッドシートで手動作成していたタリフ管理を、Webアプリで自動化しました。
従来のスプレッドシート運用に加えて、コンテンツ(体験・移動)やオプション、ホテル・ガイド・エージェントといったマスタ情報をWebアプリ上で一元管理し、そこから案件ごとのタリフ(見積)スプレッドシートをワンクリックで自動生成する仕組みを新たに構築しました。
これまで担当者が1件ずつ手で組み立てていた見積書が、「作成日・エージェント・開催日を選ぶだけ」で、ドロップダウン・価格計算・オプション自動入力まで組み込まれた状態で出力されるようになっています。本記事では、その取り組みの背景と実装の要点をご紹介します。
—
背景 ― 「1件ずつ手で組み立てる」タリフ運用
これまでは、1件ごとにお客様の要望が異なるため、ツアーのタリフ(料金表・行程表)は案件ごとにGoogleスプレッドシートを手作業で作成していました。
この運用には、次のような負担と属人化がありました。
- 体験・移動などの**コンテンツ名と単価を、マスタ表から目視で探して手入力していた
- 人数(PAX)ごとの料金を都度計算し、原価・売価を手で転記していた
- コンテンツに紐づくオプション(ガイドランチ、入場券など)を貼り忘れることがあった
- 予約要否・完成品の送付先など、抜けると事故になる情報がメモ書き頼みだった
ご支援内容 ― マスタ管理Webアプリ+タリフ自動生成
「スプレッドシートをやめる」のではなく、現場が慣れたスプレッドシートは残したまま、その手前にマスタ管理と自動生成の仕組みを追加するというアプローチを取りました。現場の運用を大きく変えずに、手作業だけを削るためです。
構成したシステムは大きく2つのパートに分かれます。
- マスタ管理Webアプリ・・・コンテンツ/オプション/ホテル/ガイド/スタッフ/エージェントを一元管理
- タリフ自動生成 + 自動反映エンジン・・・マスタから案件ごとのスプレッドシートを生成し、価格計算・オプション入力を自動化
全体アーキテクチャ
- マスタ管理Webアプリ(React / TypeScript)
- Google Authentication
- Firebase firestore
- Google スプレッドシート
- Google Apps Script
技術スタックは、フロントエンドが React + TypeScript + Vite、認証・データストアはFirebase(Google認証 / Firestore)、そして帳票側は Google Sheets API + Google Apps Script(GAS)という構成です。海外エージェント向けの帳票を扱うため、英語をデフォルトとした多言語対応(i18n)も組み込んでいます。
ポイント① マスタをWebアプリで一元管理する
まず、これまでスプレッドシートに散らばっていた「単価表」や「オプションの紐づけ」を、Firestore上のマスタデータとしてWebアプリで管理できるようにしました。
「選ぶだけ」で案件用タリフを自動生成
現場の操作は非常にシンプルです。スプレッドシート管理画面で 作成日・エージェント・開催日(開始日/終了日)を入力するだけで、テンプレートのコピー、データシートの生成、ドロップダウン・数式の設定までを済ませた状態のタリフが出力されます。
海外エージェント向け帳票と、周辺業務の自動連携
タリフ本体に加えて、海外エージェントとのやり取りで必要になる帳票・付随業務も仕組み化しました。
今回のように、「既存のスプレッドシート運用を否定せず、その手前と裏側を自動化する」アプローチは、現場の抵抗感を抑えつつ効果を出しやすいのが特徴です。Firestoreでマスタを一元管理し、Google Sheets API と GAS で“いつものスプレッドシート”に自動で流し込む。この組み合わせは、同様の帳票・見積業務を抱える多くの現場に応用できます。
「Excel / スプレッドシートでの手作業をなくしたい」「マスタがバラバラで管理しきれていない」といった課題をお持ちでしたら、お気軽にご相談ください。