ROBOT PAYMENT TECH-BLOG

株式会社ROBOT PAYMENTのテックブログです

AppExchangeパートナーに対してセールスフォース社が提供しているツールを整理してみた

こんにちは、請求管理ロボ for Salesforceのプロダクトマネージャー、立石です。

前回は、App Analyticsについてのお話をしました。
今回もAppExchangeパートナー関連のお話、特に、AppExchange関連のツール類・その全体感をご説明したいと思います。皆さんにAppExchange製品を利用していただくまでの裏で、こんな仕組み・業務が動いているよというのをお話ししますので、コーヒー片手に読んでいただければと思います。

1.この記事は

この記事は
* 「Salesforce appexchange開発者/カスタマーサクセス」向けに
* 「appexchange管理ツール群の全体像」の紹介を行う 記事です。

2.前提のおさらい

AppExchange製品は、セールスフォース・ジャパン社とAppExchangeパートナーが、パートナー契約することで協業して提供されています。

このパートナー契約を結ぶと、セールスフォース・ジャパン社から以下のようなサポートが得られるようになっています。
* 製品開発支援
* マーケティング支援
* ビジネスのためのツール提供

これらの対価として、製品売上のいくばくかをセールスフォース・ジャパン社に収益分配することになります。
(セールスフォース・ジャパン社に対して、収益分配のための仕入注文を行っております)

3.全体感と業務の流れ

ではどんなツールが提供されるのかを、探っていきましょう。
ざっくりですが、以下のようなツール群が提供されます。

  • appexchangeサイトへの掲載・管理
  • 自社SF組織での追加機能
    • ライセンス管理機能(LMA)
    • SFへの発注機能(COA)
    • 利用実績分析機能(App Analytics)

全体像を示します。弊社の場合のイメージです

業務の流れ

上記をふまえた業務の流れは、以下のようになります。

① まず、製品パッケージを完成させます

② パートナーコミュニティ経由で、AppExchangeサイトにアップします。

③ お客様がAppExchangeサイトで、【今すぐ入手】ボタンを押しました。
  これによりLeadオブジェクトにお客様情報が入ってきます。

④ 営業活動を行っていきます。この辺りは皆さまご存じのSFAのライフサイクルです。

⑤ いざトライアルを行ってもらえることになりました。
  お客様がご自身のSF組織にインストールを行います。

  これにより、弊社のSF組織内LMAのLicenseオブジェクトに自動生成されます。
  ※必要なら、有効期限や提供ライセンス数などをLicenseを書き換えてメンテします。

⑥ サポート担当がトライアル時の質問を受けました。
  ログインアクセス許可をもらったので、
  LMAのSubscriberで顧客組織に入ってサポートを行います。

⑦ トライアルサポートが功を奏したので、無事受注することができました。
  LMAのLicenseを書き換えて、本番モードに変更します。
  また、COAから、Service_Orderを作ってSFJ社に収益分配の発注を行います。

⑧ その後の利用状況は、App Analyticsを使って経過観察を行います。

⑨ SFJ社から収益分配の請求書が来ました。
  これはCOAのCustomer_Order_Product_Historyにて、金額の妥当性をチェックします。

4.各ツールを深堀り

では、それぞれのツールについて、深堀りしていきましょう。

AppExchangeサイト

皆さんご存じのAppExchangeのサイトです。

  • AppExchange製品のLPがあり、【今すぐ入手】ボタンで、その場でトライアルできるように設定できます。
  • 皆さんが、【今すぐ入手】ボタンを押すと、担当AppExchange企業のSF組織のLeadオブジェクトにリード登録されるようになっています。
  • サイトのLPは、AppExchangeサイトそのものでなくSalesforceパートナーコミュニティ内のLPメンテ機能でメンテするような仕組みになっています。

パートナーコミュニティ

セールスフォース社の全パートナー向けの情報提供コミュニティがございます。

AppExchange製品の場合、コミュニティ内の製品LPメンテ機能で、製品LPを調整しています。

  • LPの内容だけでなく、トライアル申し込みを受け付けるかや、「製品をインストールした際の基本的な設定」をここで指定できるようになっています。
  • さらには、決済業者と連携して、AppExchangeサイトから直接有償サービス申し込みができるようにもできるようです。国内でそうした登録をしている企業様は、立石は見たことがないですが。。。

LPメンテ機能のほか、AppExchangeサイトに対するアクセス状態の分析ダッシュボード(Marketplace Analytics)も提供されています。

ライセンス管理アプリ(LMA)

ここからは、パートナーSF組織にインストールする追加機能のご紹介です。

AppExchangeパートナーは、パートナーの自社SF組織にライセンス管理アプリ(LMA)を設定することになります。

こちらは、主に以下のオブジェクトで構成されていて、お客様組織のライセンス状態を管理できます。

  • Packages ・・・ AppExchangeパッケージのマスターです。
  • Subscriber ・・・ AppExchangeをインストールされた組織の一覧です。ここから代行ログインを行えるようになっています。
  • License  ・・・ AppExchangeインストール組織ごとのライセンス状態です。ここをメンテすると、お客様組織のライセンス数などを変えられます。

お客様がAppExchangeをインストールすると、上記Subscriberと、Licenseにそれぞれデータが作られます。

その後、Licenseオブジェクトのレコードを編集することで、割り当て可能ライセンス数やインストール済みパッケージの有効期限の設定ができます。

↓ こんな感じ:黄色が割り当て可能なライセンス数、緑が有効期限です。 実際に使われているライセンス数もわかるようになっています。

チャネルオーダーアプリ(COA)

これもLMAと同様に、自社内SF組織に追加するアプリになっています。

以下のオブジェクトで構成されていまして、主に収益分配のための注文発注に利用します。

  • Partner_Product_Catalog ・・・ セールスフォース・ジャパン社向けに発注する際の商品カタログです。
  • Customer ・・・ 発注に利用する顧客マスターです
  • Service_Order ・・・ 顧客ごとのSFJ社への個別の注文です
  • Customer_Order_Product_History ・・・顧客ごとのSFJ社への個別の注文の履歴です。SFJ社からはこれをもとに収益分配の請求が来ます。

 App Analytics

こちらは、前回ご説明したので詳細は割愛します。
是非前回の説明記事をご覧ください。 https://tech.robotpayment.co.jp/entry/2024/06/07/070000

5.つまづきやすいポイント

LMAは比較的簡単なのですが、COAはデータの構造が複雑でわかりにくいです。
ここでは立石がつまづいたポイントを二点ご紹介します。

つまづきポイント1:差分注文の積み上げで、今の収益分配請求の予定金額がわからない!

個別個別の発注は、Service_Orderとその明細を見ればわかります。
ここでのポイントですが、例えばアップセルがあったときは、アップセル分だけを追加注文します。
よって、Service_Orderは初回以降、増分(または減分)の差分注文が積みあがっていきます。 このため、だんだん、「今いくら収益分配注文をしているのか」がわかりにくくなっていきます。

調べた結果、以下の2つの方法で内容を確認できることがわかりました。
- COA_CustomerRelatedProductsというVisualforce画面が提供されています。
これをCOAのCustomerのページレイアウトに配置することで、個社の金額がわかります。
- Customer_Order_Product_Historyオブジェクトに「今この瞬間の生きている注文ALL」が入っています。これを集計すると企業別の収益分配金額一覧レポートが作れます。

つまづきポイント2:項目説明が少ないので、どの項目が何を意味しているかわからない!

項目説明情報でオフィシャルなものがあまりありません。
このため、上記がわかってから、実際に金額算出するまでだいぶ時間がかかりました。

  • Service_Orderは「お客様から受け取った弊社の受注」を入力し、 それをもとに収益分配額が自動計算される仕組みになっています。 このためまだ項目内容がわかりやすいです
    • 例:A社から、1万円の受注を獲得したので、SFJ社にXX%を乗じたYYYY円を発注
  • 大変なのはCustomer_Order_Product_Historyのほうです。
    こちらは、「弊社がSFJ社に注文した、SFJ社側の受注」の形で入っています。
    • 例:弊社からSFJ社が受注したYYYY円を受注

いろいろ検討した結果、最終的には、以下の内容だということがわかっています。

Customer_Order_Product_Historyは・・・

  • Quantityが、「SFJ社向けの注文数量」
    1. Product Name : SF側の管理商品。 
    2. Order Start Date : その契約商品の始期。
    3. Order Item End Date : その契約商品の終期。
    4. Unit Price : 収益分配の単価。上記で言う、YYYY円
    5. Quantity : 数量。
    6. Total Price : 単価×数量の金額

ということで、集計するときには、

  1. Order Start DateとCHANNEL_ORDERSOrder_Item_End_Datecで現在有効を判断し
  2. Quantity・Total Priceを集計

すると現在のSFJ社への有効発注内容が明らかになります。

終わりに

いかがでしたか。

マニアックな内容なのですが、私と同様にハマって苦しんだAppExchange担当者の一助になればと思ってやみません。
もし具体的なレポート条件などにご興味がある場合は、弊社までお問合せください。 情報交換しましょう。

以下、参考リンクです



We are hiring!!

ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!

speakerdeck.com
www.robotpayment.co.jp