Skip to content

iDempiere 営業担当者ダッシュボードの使い方|販売管理 操作マニュアル・技術仕様

This content is not available in your language yet.

📖 販売管理の全体像: 販売管理の全体図 も合わせてご覧ください。

営業担当者ダッシュボードは、営業担当者1人分の見込顧客(リード)・営業案件・営業活動を1つのウィンドウにまとめて表示する画面です。iDempiere の標準リファレンスでは「The Sales Rep Dashboard provides a single location for managing sales opportunities」(営業案件を一箇所で管理するための画面)と定義されています。

📌 ポイント: ヘッダータブのテーブル C_SalesDashboardデータベースビューIsView=Y)です。実データを持たないため、このタブでレコードを新規作成・削除することはできません。表示されるのは既存のユーザー(営業担当者)に対応する行だけです。

営業担当者ダッシュボードでできること

Section titled “営業担当者ダッシュボードでできること”
  • 担当者ごとの営業パイプライン(Sales Pipeline)のチャート表示
  • キャンペーン別の営業案件(Opportunity by Campaign)のチャート表示
  • 売上金額(Sales Volume)のチャート表示
  • 未対応リクエスト(Open Requests)のチャート表示
  • 自分に割り当てられた見込顧客(リード)の確認とステータス更新
  • 自分に割り当てられた営業案件の確認とステージ更新
  • 自分の営業活動(タスク・電話・メール・打合せ)の確認と完了管理

ダッシュボード(ビュー)を頂点に、担当者にひも付く3つの明細タブがぶら下がる構成です。

タブ名テーブル階層項目数役割
ダッシュボードC_SalesDashboard0約6項目担当者名と4種のチャート(ビュー)
見込顧客(リード)AD_User1約22項目担当者に割り当てられたリード
営業案件(オポチュニティ)C_Opportunity1約18項目担当者に割り当てられた営業案件
営業活動(アクティビティ)C_ContactActivity1約11項目担当者の営業活動履歴
graph TD
    T1["📊 ダッシュボード<br/>C_SalesDashboard(ビュー)<br/>チャート4種"]
    T2["👤 見込顧客(リード)<br/>AD_User<br/>約22項目"]
    T3["🎯 営業案件<br/>C_Opportunity<br/>約18項目"]
    T4["📞 営業活動<br/>C_ContactActivity<br/>約11項目"]
    T1 --> T2
    T1 --> T3
    T1 --> T4

ダッシュボード C_SalesDashboard(ビュー) チャート4種 見込顧客(リード) AD_User 約22項目 営業案件 C_Opportunity 約18項目 営業活動 C_ContactActivity 約11項目

チャート項目カラム内容
Sales PipelineSalesPipeline営業ステージ別のパイプライン状況
Opportunity by CampaignOpportunityCampaignキャンペーン別の営業案件
売上金額SalesVolume売上金額(千単位)
Open RequestsOpenRequests未対応のリクエスト件数

💡 ヒント: チャートの中身(集計 SQL や表示形式)は、AD の「チャート(Chart)」定義で管理されています。表示内容を変えたい場合は、レコードを編集するのではなくチャート定義側を調整します。

graph TD
    A["🚀 メニューから開く<br/>販売管理 > 見込顧客管理 > 営業担当者ダッシュボード"] --> B["🔍 対象の営業担当者の行を選択"]
    B --> C["📊 4種のチャートで<br/>パイプライン状況を確認"]
    C --> D{確認したい対象}
    D -->|見込顧客| E["👤 見込顧客タブ<br/>リードステータスを更新"]
    D -->|商談| F["🎯 営業案件タブ<br/>ステージ・金額を更新"]
    D -->|活動| G["📞 営業活動タブ<br/>完了フラグを更新"]
    E --> H["💾 保存"]
    F --> H
    G --> H

メニューから開く 販売管理 > 見込顧客管理 > 営業担当者ダッシュボード 対象の営業担当者の行を選択 4種のチャートで パイプライン状況を確認 見込顧客タブ リードステータスを更新 営業案件タブ ステージ・金額を更新 営業活動タブ 完了フラグを更新 保存 確認したい対象 見込顧客 商談 活動

メニューから「販売管理 > 見込顧客管理 > 営業担当者ダッシュボード」を開きます。

見込顧客タブは AD_User テーブルで、まだ取引先として本登録していない問い合わせ元・引合先を管理します。

  1. 見込顧客(リード)」タブに移動
  2. 対象のリードを選択、または「新規」で登録:
    • 名称: リードの氏名・組織名(必須)
    • Eメール / 電話番号 / FAX: 連絡先
    • 住所: 所在地
    • 取引先: 取引先化した場合にひも付け
    • 社内担当者: 担当営業
  3. リード管理項目を更新:
    • リードソース: 獲得経路
    • リードソース補足説明: 経路の詳細
    • リードステータス: 営業サイクル上のステータス
    • リードステータス補足説明: ステータスの詳細
    • 最新履歴日 / 最新履歴情報: 最終接触日と結果
  4. 保存」をクリック

「営業案件(オポチュニティ)」タブと「営業活動(アクティビティ)」タブは、営業案件(オポチュニティ) ウィンドウと同じテーブルを扱います。ステージ変更時に可能性(%)が自動セットされる挙動も同じです。日々の進捗更新をこの画面だけで完結させることができます。

項目名必須説明
Sales Rep Name-文字列(60)営業担当者名(ビューの表示名)
ユーザー-選択対応するユーザー(ビューのキー)
Sales Pipeline-チャート営業パイプラインのチャート
Opportunity by Campaign-チャートキャンペーン別案件のチャート
売上金額-チャート売上金額(千単位)のチャート
Open Requests-チャート未対応リクエストのチャート

見込顧客(リード)タブ(主要項目)

Section titled “見込顧客(リード)タブ(主要項目)”
項目名必須説明
名称必須文字列リードの氏名・名称
Eメール-文字列メールアドレス
電話番号 / 電話番号2 / FAX-文字列連絡先
住所-住所所在地
取引先-検索取引先化した場合のひも付け先
社内担当者-選択担当営業
リードソース-リスト獲得経路
リードステータス-リスト営業サイクル上のステータス
最新履歴日-日付最終接触日
最新履歴情報-文字列最終接触の結果
営業活動-選択発生元キャンペーン

全項目は 画面リファレンス: 営業担当者ダッシュボード を参照してください。

Q. ダッシュボードタブで新規レコードを作成できません

Section titled “Q. ダッシュボードタブで新規レコードを作成できません”

C_SalesDashboard はテーブル定義上 IsView=Y(データベースビュー)かつ IsDeleteable=N です。ビューは実体を持たないため、新規作成・削除はできません。表示される行は既存のユーザー(営業担当者)に対応するものだけです。

このダッシュボードの行はユーザー(AD_User)に対応します。行が出てこない場合は、対象ユーザーが営業担当者として登録されているか、ロールの組織アクセス範囲に該当データが含まれているかを確認してください。iDempiere ではロールの組織アクセス制限により、同じクライアントでもレコードが見えないことがあります。

チャートは営業案件・リクエスト等の実データを集計して描画します。該当担当者に案件やリクエストが1件も割り当てられていない場合は空になります。まず 営業案件(オポチュニティ) で案件の社内担当者が正しく設定されているかを確認してください。

Q. 見込顧客(リード)と取引先の違いは何ですか?

Section titled “Q. 見込顧客(リード)と取引先の違いは何ですか?”

見込顧客タブは AD_User(ユーザー/コンタクト)で、まだ取引が始まっていない引合先を軽量に管理します。取引が始まる段階で取引先マスタ(C_BPartner)へ登録し、リードの「取引先」欄でひも付けます。取引先としての与信管理や価格表の適用は 得意先(顧客) 側で行います。

🛠 技術仕様(開発者向け)

営業担当者ダッシュボードのヘッダーテーブル C_SalesDashboard は、テーブル属性が IsView=Y / IsDeleteable=N / アクセスレベル 3(Client+Org)のデータベースビューです。専用のモデルクラス(MSalesDashboard / X_C_SalesDashboard)は生成クラス一覧に存在せず、汎用 GenericPO として扱われます。

チャート列(SalesPipeline / OpportunityCampaign / SalesVolume / OpenRequests)は参照型が Chart のフィールドで、AD のチャート定義に基づいて画面描画時に集計・描画されます。テーブル自体に集計値が格納されているわけではありません。

classDiagram
    class C_SalesDashboard {
        <<database view>>
        +AD_User_ID
        +Name
        +SalesPipeline : Chart
        +OpportunityCampaign : Chart
        +SalesVolume : Chart
        +OpenRequests : Chart
    }
    class MUser {
        +getAD_User_ID() int
    }
    class MOpportunity {
        +beforeSave() boolean
    }
    class X_C_ContactActivity {
        <<generated>>
    }
    C_SalesDashboard --> MUser : one row per sales rep
    C_SalesDashboard --> MOpportunity : child tab
    C_SalesDashboard --> X_C_ContactActivity : child tab

<> +AD_User_ID +Name +SalesPipeline : Chart +OpportunityCampaign : Chart +SalesVolume : Chart +OpenRequests : Chart +getAD_User_ID() int +beforeSave() boolean <>

関連ソースファイル: org.adempiere.base/src/org/compiere/model/MOpportunity.java / X_C_ContactActivity.java / MUser.java

カラム名必須説明備考
AD_User_IDTableDirectNユーザーキー列IsKey=Y
NameString(60)N営業担当者名
SalesPipelineChartN営業パイプラインチャート描画列
OpportunityCampaignChartNキャンペーン別案件チャート描画列
SalesVolumeChartN売上金額(千単位)チャート描画列
OpenRequestsChartN未対応リクエストチャート描画列
AD_Client_IDTableDirectYクライアント既定値 @#AD_Client_ID@
AD_Org_IDTableDirectY組織既定値 @#AD_Org_ID@
IsActiveYesNoY有効既定値 Y

⚠️ 注意: C_SalesDashboard のキーは AD_User_ID であり、専用の C_SalesDashboard_ID は存在しません。ビューであるため INSERT / DELETE は不可です。

テーブル役割モデルクラス
AD_User見込顧客(リード)MUser
C_Opportunity営業案件MOpportunity(80行)
C_ContactActivity営業活動生成クラス X_C_ContactActivity(364行)のみ
erDiagram
    C_SalesDashboard ||--o{ AD_User : "leads assigned"
    C_SalesDashboard ||--o{ C_Opportunity : "opportunities assigned"
    C_SalesDashboard ||--o{ C_ContactActivity : "activities"
    C_Opportunity }o--|| C_SalesStage : "stage"
    C_Opportunity }o--|| C_BPartner : "customer"
    C_ContactActivity }o--o| C_Opportunity : "related opportunity"
    AD_User }o--o| C_BPartner : "converted to partner"

leads assigned opportunities assigned related opportunity converted to partner

  • ヘッダーにモデルロジックなし: C_SalesDashboard はビューのため、beforeSave / afterSave の類は存在しません。画面は既存データの読み取りと子タブの編集に特化しています。
  • MOpportunity.beforeSave(): 営業案件タブで有効です。C_Order_ID が設定されている場合、受注伝票の GrandTotalOpportunityAmt へ同期します。
  • CalloutOpportunity.salesStage: 営業案件タブでステージを選択したときに、C_SalesStage.Probability を可能性欄へ転記します。
  • 営業活動の制約: C_ContactActivity.ContactActivityTypeIsUpdateable=N のため、保存後に活動タイプを変更できません。

拡張ポイント(カスタマイズ箇所)

Section titled “拡張ポイント(カスタマイズ箇所)”

チャート列は AD のチャート定義(Chart)と結びついています。表示内容を変えたい場合は、Java コードではなく AD 側のチャート定義(集計 SQL・軸・系列)を調整するのが標準的な方法です。列そのものを増やす場合はビュー定義の変更が必要になり、アップグレード時の再適用が必要になる点に注意してください。

C_SalesDashboard はデータベースビューです。表示対象の担当者を絞り込む・組織条件を加えるといった変更はビュー定義の書き換えになります。コアオブジェクトの直接変更はアップグレードで上書きされる可能性があるため、独自ビュー+独自ウィンドウを OSGi プラグイン(2Pack)で追加する方式を推奨します。

子タブ側(C_Opportunity / C_ContactActivity / AD_User)には通常どおり Model Validator を適用できます。

public class CustomLeadValidator implements ModelValidator {
@Override
public int modelChange(PO po, int type) throws Exception {
if (po instanceof MUser && type == TYPE_BEFORE_CHANGE) {
MUser lead = (MUser) po;
// 例: リードステータス更新時に最新履歴日を必須にする
if (lead.is_ValueChanged("LeadStatus") && lead.getLastContact() == null) {
throw new AdempiereException("リードステータス変更時は最新履歴日を入力してください");
}
}
return null;
}
}

このウィンドウには標準の関連プロセス(ボタン起動のプロセス)は定義されていません。集計・分析はチャートおよびレポート機能を利用します。


営業担当者ごとの KPI 表示やパイプラインチャートは、AD のチャート定義と独自ビューで自社の管理指標に合わせて再構成できます。

As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。

OSS ERP導入・カスタマイズサービスの詳細はこちら