今回は、以前ご紹介した「販売管理データで請求残高を閲覧する AppSheet アプリ」の応用編をお届けします。
まだ記事をチェックされていない方は、ご覧ください。
外出先で社内データが見られない...そんな悩みありませんか?本記事では、高額な費用やシステム改修は一切不要、Google AppSheet(アップシート)を活用し、既存システムに手を加えず、初期費用ゼロで誰でも簡単にノーコードで業務アプリを作成する方法をご紹介。「脱・社内限定」営業担当者のスマホでデ...
データは「見る」から「活かす」へ
以前の記事では、既存の販売管理システムのデータを AppSheet で取り込み、外出先からスマートフォンで手軽に閲覧できる仕組みをご紹介しました。初期費用ゼロで、既存システムに手を加えないまま情報アクセスを実現できるメリットを感じていただけたかと思います。
しかし、実際の業務では「データを見るだけ」では不十分です。
「その場で回収した入金を記録したい」「最新の未回収残高をリアルタイムで知りたい」といった、現場でのデータ入力・管理のニーズは常に存在します。
本記事では、前回のアプリをベースに、
- 入金実績の登録機能
- リアルタイムな未回収残高の自動計算表示
- 顧客ごとの入金履歴管理
といった実践的な機能を追加し、アプリを現場の主力ツールへと進化させる手順を詳しく解説します。
目次
1.データ設計の深化:データソースの分離
応用編の根幹は、データの役割分離です。
| データ名 | 役割 | 更新頻度 | AppSheetの操作 |
|---|---|---|---|
| 請求残高データ * | 変動データ(CSVから毎日上書) | 高い | 閲覧(Read)のみ |
| 入金実績データ | 管理データ(現場で入力・蓄積) | 随時 | 追加・更新・削除(CRUD) |
* 本記事では、以下「請求残高 閲覧用データ」と呼称します。
この設計を実現するため、Googleスプレッドシート内に、請求残高とは別に「入金実績データ」という新しいシートを追加します。
Step 1-1: 「入金実績データ」シートの準備
請求残高 閲覧用データと同じGoogleスプレッドシートファイル内に、新しいシート(例:入金実績データ)を作成し、1行目に列タイトル(項目名)を入力します。
| 列名 | 役割 |
|---|---|
| 入金ID | ユニークキー(必須) |
| 顧客コード | 請求残高 閲覧用データとの紐付けキー |
| 顧客名 | 一目でどの顧客か判別できるように (視認性向上のために) また、顧客名で検索できるように |
| 入金日 | いつ入金したか |
| 入金額 | 実際に回収した金額 |
| 担当者 | 誰が入金登録したか |

Step 1-2: AppSheetでのテーブル(データ)追加と連携設定
・AppSheet編集画面の 左メニューの「Data」アイコン > 「+」( Add new Data)アイコン をクリックし、 上記で作成した 「入金実績データ」シートを追加します。

・入金実績データ の 項目の設定を行います。
2.請求残高一覧画面に「未回収残高」をリアルタイム表示
顧客コードに設定した Ref参照 により、2つのデータ「請求残高 閲覧用データ」と「入金実績データ」が紐づいたので、請求残高と入金実績を AppSheet 内で集計できるようになります。
Step 2-1: 仮想列(Virtual Column)の作成
AppSheetは、テーブル間に設定された Ref 参照 を利用して、自動的に「関連レコード(Related Records)」という仮想列(例:Related 入金実績データs)を親テーブル(請求残高 閲覧用データ)に追加します。
AppSheet編集画面の 左メニューの「Data」アイコン > 「請求残高 閲覧用データ」 を確認してみましょう。

この仮想列を使って、「請求残高 閲覧用データ」に次の3つの仮想列を追加します。
| 仮想列名 | App Formula(計算式) | Type | 目的 |
|---|---|---|---|
| 入金合計 | SUM([Related 入金実績データs][入金額]) | Price | 該当顧客の入金実績の合計額 |
| 未回収残高 | [請求残高] - [入金合計] | Price | リアルタイムな未回収残高 |
| 入金済ステータス | IF([未回収残高] <= 0, "回収完了", "未回収あり") | Text | パッと見でわかる 回収の進行度 |


Step 2-2: 一覧画面のレイアウト調整
・左メニュー「スマホ」アイコン から、画面(Views)の設定をします。「請求残高 閲覧用データ」の一覧表示画面(例:請求残高情報)の設定を開きます。
・Column Order(列の表示順) に、作成した 入金合計、未回収残高、入金済ステータス の各仮想列を追加し、項目順を整えます。

これで、CSVの請求残高に加え、現場の入力に基づくリアルタイムな未回収額が一目で確認できるようになります。

3.請求残高明細の拡張:入金の履歴表示と即時入力機能
顧客ごとの詳細画面(請求残高)に、 その顧客の入金履歴のリストと、新しい入金を登録できるように機能を拡張しましょう。
Step 3-1: 入金実績の履歴表示(インラインビュー)
インラインビューの作成
左メニュー「スマホ」アイコン からViewsの設定画面を開き、「入金実績データ」に紐づく新しい View(例:入金実績_顧客別)を作成します。

顧客ごとの詳細画面(請求残高)への埋め込み
「請求残高 閲覧用データ」 の詳細画面(Detail View)(例:請求残高 閲覧用データ_Detail)の設定を開き、Column Order(列の表示順)で表示項目の確認と調整をします。
・Step 2-1 で自動生成された仮想列「Related 入金実績データs」が入っていることを確認します。アプリ画面で、この名称が表示されるため、名称を変更します。
・請求残高一覧画面と同様、 項目の順番を調整します。(入金合計、未回収残高、入金済ステータス など重視したい項目を上位にします。

これで、顧客ごとの詳細画面(請求残高)に、その顧客からの入金履歴のリストが表示されます。

Step 3-2: 新規 入金登録ボタンの追加(LINKTOFORM)
顧客ごとの詳細画面(請求残高)から、新しい入金を登録できるようにボタンを追加します。
入金登録画面を開く際、顧客コードや顧客名、入金額には未回収残高を自動でセットすることで、ミスなくスピーディに登録できるように一工夫しましょう。
新規 入金入力画面を開くアクションの作成
左メニュー「アクション」アイコン からActionsの設定画面を開き、新規アクション(例:新規入金登録フォームへ)を作成します。

これで、詳細画面からワンタップで、顧客情報や入金額があらかじめセットされた入金入力画面が開きます。

4.入金実績の一覧・編集・削除機能の追加
最後に、登録した入金実績の履歴全体を確認・管理するための画面を作成します。
入金実績データの管理用 View の作成
左メニュー「スマホ」アイコン からViewsの設定画面を開き、「入金実績データ」に紐づく一覧表示用の新しい View(例:入金実績)を作成します。

ここで作成した一覧中の行(レコード)をタップすると、入金実績の詳細画面(Detail View)が開きます。また、この詳細画面 には、自動的に 「Edit(編集)」と 「Delete(削除)」のボタンが配置されます。
これにより、現場で誤って入力したデータを修正・削除することもできます。
運用に合わせた画面調整
入金実績の一覧画面からの新規登録(「+」ボタン)は非表示
今回の運用では、入力ミス防止と効率化を最優先し、入金の新規登録は、顧客ごとの詳細画面(請求残高)からのみ行うこととします。この画面から行うことで、顧客コード、顧客名、未回収残高が自動でセットされ、金額の入力だけに集中できるため、ストレスフリーで正確な登録になります。
そのため、入金実績の一覧画面からは新規登録はできないように、新規登録ボタン(「+」)を非表示にします。具体的な非表示の手順は次の通りです。
左メニュー「アクション」アイコン からActionsの設定画面を開き、入金実績データ > 「+ Add」アクションを選択し、表示設定を Hide(非表示)に変更します。

これで、登録された入金実績を管理できます。

出来上がったアプリを スマホで使う
作成したアプリを実際にスマートフォンで使ってみましょう。
AppSheetの編集内容を保存
・AppSheetの編集画面上部の「SAVE」ボタンをクリックして保存します。
スマートフォンで操作
・アプリへのアクセス
スマートフォンに AppSheet アプリがインストール済みであることを確認し、作成したアプリ(例: 請求残高閲覧アプリ)を開いてください。(未インストールの場合は、AppSheet の公式アプリをダウンロードし、Googleアカウントでログインしてください。)

まとめ:アプリは「育てる」時代へ
前回の「データを見るだけ」だったアプリが、今回の機能追加によって、「現場で入力・管理ができる」一歩踏み込んだツールに進化しました。
ここで大切なのは、「完璧なシステムを一度に作ろうとしなくても大丈夫」ということです。
AppSheetの本当にすごいところは、アプリを「導入して終わり」ではなく、「現場の成長に合わせて育てていける」柔軟性にあります。
・「入金実績の確認と記録ができれば、今は十分」
・「来月は、回収が遅れている顧客に自動でアラートを出す機能を追加してみようかな」
・「再来月は、日報機能と連携させてみよう」
このように、現場で「あったらいいな」と思った機能を、プログラミングなしで、まるでブロックを組み立てるように、どんどん後付けできるのが AppSheetの最大の魅力です。
大切なシステムを維持しつつ、費用をかけずに、現場の要望に合わせて進化していく――これが、今の時代に合った、最も効率的で賢いアプリの育て方です。
ぜひ、今回のアプリを業務で活用しながら、次にどんな機能を足せばもっと便利になるか、ワクワクしながら考えてみてくださいね!
貴社に合わせた導入・運用支援もお任せください
「自社の業務に合わせたAppSheetの使い方を知りたい」「営業や現場業務をもっと効率化したい」など、貴社の課題に合わせた導入相談や、今回の機能拡張を実際に導入する際の運用サポートも承っております。どうぞお気軽にお問い合わせください。
関連記事:アプリのデータを最新に保つ方法
今回のアプリでは、販売管理システムから請求残高のCSVファイルを準備した後、手動でGoogleスプレッドシートのデータを上書きする必要があります。
実は、この「手動で上書きする」というちょっとした手間も、ある工夫をするだけで完全に自動化できてしまうんです!
次の記事では、CSVファイルが更新されたら、アプリのデータも自動で最新に切り替わるように設定する、さらに便利な運用術をご紹介しています。
コメント