こんにちは、請求管理ロボ for Salesforceのプロダクトマネージャー、立石です。
前回は、App Analyticsについてのお話をしました。
今回もAppExchangeパートナー関連のお話、特に、AppExchange関連のツール類・その全体感をご説明したいと思います。皆さんにAppExchange製品を利用していただくまでの裏で、こんな仕組み・業務が動いているよというのをお話ししますので、コーヒー片手に読んでいただければと思います。
1.この記事は
この記事は
* 「Salesforce appexchange開発者/カスタマーサクセス」向けに
* 「appexchange管理ツール群の全体像」の紹介を行う
記事です。
2.前提のおさらい
AppExchange製品は、セールスフォース・ジャパン社とAppExchangeパートナーが、パートナー契約することで協業して提供されています。
このパートナー契約を結ぶと、セールスフォース・ジャパン社から以下のようなサポートが得られるようになっています。
* 製品開発支援
* マーケティング支援
* ビジネスのためのツール提供
これらの対価として、製品売上のいくばくかをセールスフォース・ジャパン社に収益分配することになります。
(セールスフォース・ジャパン社に対して、収益分配のための仕入注文を行っております)
3.全体感と業務の流れ
ではどんなツールが提供されるのかを、探っていきましょう。
ざっくりですが、以下のようなツール群が提供されます。
- appexchangeサイトへの掲載・管理
- 掲載ページ(https://appexchangejp.salesforce.com/)
- 管理ページ(SFJパートナーコミュニティ上で管理)
- 自社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 : 単価×数量の金額
ということで、集計するときには、
- Order Start DateとCHANNEL_ORDERSOrder_Item_End_Datecで現在有効を判断し
- Quantity・Total Priceを集計
すると現在のSFJ社への有効発注内容が明らかになります。
終わりに
いかがでしたか。
マニアックな内容なのですが、私と同様にハマって苦しんだAppExchange担当者の一助になればと思ってやみません。
もし具体的なレポート条件などにご興味がある場合は、弊社までお問合せください。
情報交換しましょう。
以下、参考リンクです
- AppExchangeビジネス関連
- AppExchangeサイト関連
- LMA関連
- COA関連
We are hiring!!
ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!
speakerdeck.com
www.robotpayment.co.jp