SaaSの商品マスタ、どうやって登録しようか?

これはSalesforceに登録する商品マスタを、どのようなに登録しようかと悩む物語です。

前提

  • 月額で表示されたSaaS製品で、月額は単価×数量で決まる

  • 年間の契約がほとんどだが、既存契約期間と合わせるなど、12ヶ月以下の契約も存在する他、長期の契約(2年以上)も存在する

  • Salesforceで商談をつかって案件管理をしている。

どのデータの優先度が高いのか。SaaS商品マスタのジレンマ

SaaSをSalesforceの商談商品で管理しようとすると、次の2つの命題を両立させることができない、という結論になる。

  1. 商談の標準項目「金額」を、契約総額と一致させる

  2. 商談商品において、「単価」※月額、数量、月数 をすべて入力できるようにする。

Salesforceの商談の金額項目は、標準の項目で、パイプラインインスペクション・商談トレンド・Eisntein等で参照されており、取引の金額を明確に表す、契約総額(TCV)が入力されることが望ましい。(と思っている)
1を優先させるのであれば、Salesforceの商談商品の「単価」には月額を、「数量」には月数を入力する一択である。

逆に、2のように、単価・数量・月数を入れるのであれば、月数はカスタム項目で作ることになろう。その場合、商談商品の「合計金額」項目は諦めて数式で作り直すしかないし、商談の「金額」は月額換算で表示されることになる。仕方ない。


考え方の前提となる制約

ところで、この問題を考える上で、重視すべきSalesforceの制約をまとめていく

  1. 商談商品の「単価」は、商品マスタから参照される

    1. これはつまり、単価を営業担当がゴリゴリいじるような設計は、あまりイケていないことを示す。単価は、できる限りいじらずに済ますことが望ましい。

  2. 商談商品の「数量」は必須で、デフォルト値は1のみ指定できる

    1. これは、数量に月数を入れる運用をすると、営業担当が毎回1を12に変更する作業の必要がでてくることを示す。これもダルい。

  3. 商談商品の「単価」×「数量」で「合計金額」が算出され、その合計が商談の「金額」に反映される。

    1. これは、商談商品の標準の合計金額を使う際、掛け算は1回しかできないことを表している。大変不便である。

商品登録のパターン

1, 商談金額のTCVを重視するパターン

この場合、商談商品の単価に月額の合計を入れ、数量に月数を入れる。年額と年数でも良い。
メリットはカスタム項目を増やさずに済むことと、商談金額にTCVが入ること

デメリットは、営業が毎回数量を1から12に変更しなきゃいけないこと。
(保存ボタンクリック前にフローでガチャガチャできればいいのだけど!)
そして、契約している数量が分からなくなりがちなこと。管理ができなくなる。

この方式は、月額と数量を、両方いじらなきゃ登録できないパターンが増えがちで、あんまりおすすめしない。

2, 月額×数量×月数(カスタム)パターン

この場合、商談商品の単価には、月額の単価をいれ、数量には契約量をいれる。更にカスタム項目で月数をもつ。(商談にもたせて、商談商品では数式で参照しても良い。)

メリットは、数量と月数を両方可変にできること。デメリットは商談の金額項目が月額で表示され、小さくなってしまってテンションがさがること。

ちなみにLayerXは2023年6月現在この方式で運用しています。

3, ACVパターン年額×数量 +月数(カスタム)パターン

これも上のパターンに近いが、単価欄には年額を入力して、数量は普通に入れる。
月数はカスタムで保持しておき、年額/12*月数で、合計金額を計算する。

メリットは、商談の金額がACVになること。
デメリットは、単価が年額になるので、普段月額で意識している場合に混乱の可能性がある、という点。また、商談の金額がACVなので、必ずしも取引の規模に一致しない点である。

4, カスタム商談商品を使うパターン

標準の商談商品を使わず、カスタムで商談商品を作る事もできる。
商談金額には、好きなものを積み上げ集計して入れれば良い。

デメリットとしては、商談商品登録時にデフォルト金額を表示できないこと。商談商品の一括編集も作ってあげなきゃイケない。ListEditの出番である。

あと、保存ボタンを押す前に、商品の価格表の価格を取ってきて入れる、みたいな器用なことはできない。
さらに入力画面は作ってあげないと行けない。レコハンの出番である。

やめといたほうが良いパターン

契約期間ごとに、〜するっていうマスタは、やめておいた方がいい。
例:契約期間ごとに、商品マスタを分ける
例:契約期間ごとに、価格表を分ける
ただでさえマスタが細分化してだるいのに、それを契約期間ごとに分けてどうする。そして日割りとかをやろうとすると、この方式だと詰む。


今、昔に戻れるならどうするか

4, のカスタム商談商品を使うか、2のパターンか、まだ悩ましいところです。
私がLayerXに入社した当時は、ListEditがなかったので、並べかえとかを実装するのが面倒でした。一括編集はListEditorでもできるんですがね。



この記事が気に入ったらサポートをしてみませんか?