コンテンツにスキップ

顧客・商談CRM

位置づけ: 後続フェーズ

顧客・商談CRMは、顧客情報を世帯(Household)単位で管理し、訪問販売・催事・反響・パートナーの全チャネルを1本の商談パイプラインで扱う。前確(訪問前確認)架電、契約後チェック(ローン審査・団信)、施工進捗、発注、申請、経理向け入金予定までを商談(Deal)配下の独立した軸として持ち、業務全体を1画面から追跡できるようにする。

先行リリース(催事+アイテム+商社)の後続フェーズに位置づけ、催事モジュールで獲得したアポの正式な取り込み先、商社(卸)モジュールの発注・仕入先情報の受け皿となる。試作実装(crm_app/app/src/lib/crm.ts ほか)で型定義と主要画面が動作しており、以下は試作の挙動に基づく。

  • 対象チャネル(Channel)は訪問販売・催事・反響・パートナーの4種。テレマは現状実施しておらず対象外。
  • 対象範囲は、顧客・世帯・人物、商談パイプライン、活動ログ・案件ロール・マイルストーン、前確・契約後の架電、契約後チェック、施工、発注、申請、経理向け入金予定、担当者アサインまで。
  • 価格・見積・粗利の算出ロジックは 見積・価格表 が正本。本ページでは商談が保持する金額項目(提案金額・仕切り・粗利)の位置づけのみ扱う。
  • KPI集計・予実管理は KPI・予実ダッシュボード が正本。本ページは集計元となる案件ロール・失注理由の保持方法のみ扱う。

先行モジュールとの接続点は次のとおり。

接続点先行側後続側(本ページ)内容
催事アポの取り込み催事モジュール(/eventsDeal(status=アポ, channel=催事)催事で獲得したアポを商談として正式登録する
商社・発注商社(卸)モジュール(/wholesaleDealItem.supplier / Order / LeadtimeInfo商材の仕入先・発注状況を案件配下で管理する
価格・商流別価格アイテムマスタ(価格非保持)Deal.proposal / Deal.cost / Deal.margin商談の提案金額・仕切り・粗利として反映する
KPI集計Roles / lostReason案件ロール・失注理由をKPI予実の分析軸として供給する
エンティティ主なフィールド内容
Household(世帯)name / postal / pref / city / addr世帯名(代表姓)・住所
Householdadults / children / taxable大人・子ども人数、課税有無。補助金・ローン審査の事前判定材料
Householdmemo運営メモ(在宅時間帯・連絡のつきやすさ等の自由記述)
Person(人物)relation続柄(夫/妻/子/本人/その他)
Personmobile / tel / email連絡先。個人単位で複数手段を保持
Property(物件)builtYear / area / layout / pinType築年・面積・間取り・種別
Propertyexisting[]既設設備(太陽光/エコキュート/IH/ガス給湯器)の有無・設置年・メーカー・容量。提案根拠として保持

世帯配下に人物(Person)を複数ぶら下げる。商談応対者(Deal.respondentId)と契約名義人(Deal.contractorId)は人物FKとして分離し、応対した人と契約する人が異なるケースを扱う。世帯の表示名は「本人 → 夫 → 世帯の先頭」の優先順で導出し、フルネームをそのまま表示する(敬称は付けない)。

フィールド内容
status商談パイプラインのステータス(後述)
channel商流(訪問販売/催事/反響/パートナー)
venuechannel=催事 のときの催事場所
hankyoMediachannel=反響 のときの大元媒体(タイナビ等)
subject / agency実施主体(自社/代理店)と代理店名。登録時にログインユーザーの所属から自動判定
roles案件ロール(獲得/前確/クローザー/設計)
items[]商材明細(DealItem:種別・メーカー・型番・仕様・保証・仕入先・納期)
milestones[]工程マイルストーン(現調/着工/完工/連携/設備認定/入金)
tasks[]案件タスク(前確/太陽光調査設計)
notes[]活動ログ(DealNote:日付・記入者・自由記述)
postContract契約後チェック(成約時に自動生成)
construction施工フラグ(工事開始時に自動生成)
payment決済・入金(支払方法・決済形態)
orders[]発注(Order
applications[]申請(Application
proposal / cost / margin提案金額・仕切り・粗利
lostReason失注・前確NGの理由

パイプラインは全チャネル共通の1本。channel は入口属性としてのみ保持し、ステータスをチャネル別に分岐させない。

ステータス意味主担当ロール
アポアポ獲得(入口フォーム送信直後)獲得
前確訪問前確認の架電中前確担当(バックオフィス)
商談前確OK後の訪問・クロージングクローザー
成約契約成立。契約後チェックを自動生成クローザー/設計
工事施工フェーズ。施工フラグを自動生成設計/施工店
完了全工程終了バックオフィス
保留商談後保留。リマインド対象として追い続けるクローザー
失注前確NG・商談NG等。lostReason を保持する運用前確担当/クローザー
クーリングオフ成約後の申込撤回(終了状態)バックオフィス

主パイプラインは「アポ→前確→商談→成約→工事→完了」の6状態(DEAL_STAGES)で、advanceStage はこの順で1段階ずつ進める。保留・失注・クーリングオフはこの並びの外側にある分岐・終了状態で、setStatus による明示的な変更で遷移する。

契約後チェック・施工・決済・発注・申請

Section titled “契約後チェック・施工・決済・発注・申請”
エンティティ主なフィールド内容
PostContractthanksCall / loan / reviewCall / danshinサンキューコール・ローン審査(LoanStatus 7段階)・審査確認コール・団信を独立軸で管理
ConstructionscheduleStatus / photosStored / completionReport / kankosho / renkeiTachiai / renkeiStatus日程調整・現地写真・完了報告・完工書・連携日調整(立会有無で連絡経路が変わる)
Paymentmethod / settlement / downPayment / loanTermMonths支払方法(現金一括/現金半金/ローン)と決済形態(2社間/3社間)
Orderstatus / orderedAt / dueDate / mailLinked発注状況(未発注/発注済/納期回答済/納品済)。納期回答メールの自動紐付けフラグを持つ
Applicationtype / status / docs[] / deadline / linkedAt申請種別(9種)・必要書類・期限・連携日
Receivabledue / overdue / amount経理向け入金予定一覧の1行(案件横断で算出)
画面内容
世帯・人物管理世帯配下の人物一覧、続柄・連絡先の編集、物件の既設設備登録
商談パイプラインボードステータス別の案件一覧、advanceStage による段階遷移、保留・失注・クーリングオフへの分岐操作
案件詳細活動ログ・案件ロール・マイルストーン・商材明細を1画面に集約
架電(前確)ボード本日期日のタスクを一覧化し、担当割り当てと架電結果(DealTask.result。自由記述文字列)を記録
契約後チェックサンキューコール・ローン審査・団信・審査確認コールの進捗を独立管理
施工管理日程・依頼書送付・現地調査・写真・完了報告・完工書回収・連携日調整をフラグで管理
発注管理商材別の発注状況、商品マスタ優先・メーカー目安フォールバックの納期表示、着工日からの発注期限逆算
申請管理申請種別ごとの必要書類照合、公的書類の失効期限による優先度表示
入金予定(経理向け横断ビュー)ローン案件のうち完工書原本回収済み・入金未完了のものを予定日順に一覧表示し、超過分を強調
担当者アサイン職能ロール(前確/設計)に合う候補者を稼働中タスク数の少ない順に提示し、Slack通知プレビューを生成
  • ステータスを「成約」に変更すると、closeDate(成約日)が未設定なら当日を自動設定し、postContract が未設定ならローン前提の初期値で自動生成する。
  • ステータスを「工事」に変更すると、construction(施工フラグ)が未設定なら初期値で自動生成する。
  • 成約時は社内チャットルームを自動作成し、代理店案件(subject=代理店)の場合は代理店ルームも合わせて作成する。工事時は施工店チャットルームを自動作成する。

前確(訪問前確認)と契約後コール

Section titled “前確(訪問前確認)と契約後コール”
  • 前確は初回訪問の前クロージング訪問の前の2箇所にあり、パイプライン上のステータスは分岐させず、前確タスクのゲート(初回前/クロージング前)で区別する。
  • サンキューコール・審査確認コールの結果はCallResult型で/不出/OK/NGの4値に固定される。「不出」は実運用スプレッドシートの語彙をそのまま採用している。前確タスク(DealTask)の結果はresult(自由記述文字列)に記録し、CallResult型そのものではない。「OK」のような値を入れる運用だが、型としては任意の文字列を許容する。
  • 契約後もコールは続き、サンキューコール(クレーム予防、社内実施)と審査確認コール(ローン会社実施、正式可否とは別フラグ)を独立して記録する。
  • 発注は工事日(着工)確定後に行う。
  • 納期表示は、型番一致の商品マスタを最優先とし、一致がなければ種別×メーカーのメーカー目安(LEADTIME_MASTER)にフォールバックする。
  • 発注期限は着工日からリードタイム日数を逆算して算出する。
  • 納品確認のチェック欄は置かない。連絡がなければ納品済みとみなし、納期回答メールの自動紐付けで代替する。
  • 必要書類は申請種別ごとのマスター(APPLICATION_DOC_MASTER)と照合し、案件生成時に自動展開する。
  • 公的書類は発行から90日で失効するものとして扱い、書類の失効日・申請期限のうち近い方を緊急度として優先度順に抽出する。
  • 入金予定日は、ローン案件かつ完工書の原本回収日(kankoshoAt)があり、入金マイルストーンが未完了のときに算出する。
  • 起算は完工書原本回収日からの営業日数で、ローン会社マスタに登録があればその値(2社間・3社間別)を優先し、なければ2社間3営業日/3社間6営業日を用いる。
  • 予定日を超過した案件は経理向けビューで優先表示し、信販会社への確認対象として扱う。

案件ロール(Roles)は獲得・前確・クローザー・設計の4種で、分業体制(獲得担当と成約担当が別人)を前提にする。現状はユーザー名の自由文字列として保持し(DealTask.assignee も同様に自由文字列)、ユーザーFK化は将来対応の予定。バックオフィス担当(前確・設計)は職能ロールに応じた候補者から、現在の未完タスク数が少ない順に提示する。実施主体(自社/代理店)はログインユーザーの所属から自動判定し、代理店ユーザーが登録した案件は自動的に代理店扱いになる。

  • 保留案件のリマインド通知経路(チャット/Slack連携の方式)
  • 催事場所(venue)の文字列管理から催事マスタFKへの置き換え時期
  • 失注理由(lostReason)の入力必須化のUIバリデーション実装
  • タスク種別(前確/太陽光調査設計の2種)の拡張範囲。施工・申請系タスクとの統合可否
  • 10kW超・法人申請における必要書類差分の反映
  • 同一世帯への再アプローチ(別チャネルからの重複流入)の名寄せルール