Skip to content

iDempiere マーケティングキャンペーンの使い方|販売管理 操作マニュアル・技術仕様

This content is not available in your language yet.

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

マーケティングキャンペーンは、販促活動(キャンペーン)の期間と原価を定義し、そのキャンペーンから生まれた営業案件(商談)を管理するウィンドウです。キャンペーンは受注・請求などの伝票に会計ディメンションとして設定でき、施策ごとの売上集計に活用できます。

📌 ポイント: 「営業明細」タブで営業ステージを選択すると、成約の「可能性(%)」がステージのデフォルト値で自動セットされます(Callout による自動入力)。案件額×可能性で加重した見込金額をパイプライン管理に使えます。

マーケティングキャンペーンでできること

Section titled “マーケティングキャンペーンでできること”
  • キャンペーンの期間(開始日付・終了日付)と原価の登録
  • マーケティングチャンネル(獲得経路)との紐付け
  • 営業案件(商談)の登録と営業ステージ・可能性(%)による進捗管理
  • 案件金額と可能性から加重金額(案件額×可能性)を自動計算
  • 成約した案件への受注伝票の紐付け
  • サマリレベルによるキャンペーンの階層管理(ツリー構造)
タブ名テーブル項目数役割
営業活動C_Campaign約11項目キャンペーンの基本情報(期間・チャンネル・原価)
営業明細C_Opportunity約18項目キャンペーンから発生した営業案件(商談)
翻訳C_Campaign_Trl約8項目多言語対応の翻訳
graph TD
    A["🚀 メニューから開く<br/>販売管理 > 販売管理設定 > マーケティングキャンペーン"] --> B["➕ 新規でキャンペーンを登録<br/>(検索キー・名称・期間)"]
    B --> C["📺 チャンネル・原価を設定"]
    C --> D["💾 保存"]
    D --> E["📋 営業明細タブで<br/>営業案件を登録"]
    E --> F["🎯 営業ステージを選択<br/>→ 可能性(%)が自動セット"]
    F --> G["📈 商談進行に応じて<br/>ステージ・金額を更新"]
    G --> H["✅ 成約時に受注伝票を紐付け<br/>クローズ日付を入力"]

メニューから開く 販売管理 > 販売管理設定 > マーケティングキャンペーン 新規でキャンペーンを登録 (検索キー・名称・期間) チャンネル・原価を設定 保存 営業明細タブで 営業案件を登録 営業ステージを選択 → 可能性(%)が自動セット 商談進行に応じて ステージ・金額を更新 成約時に受注伝票を紐付け クローズ日付を入力

メニューから「販売管理 > 販売管理設定 > マーケティングキャンペーン」を開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 検索キー: キャンペーンの一意コード(例: CAMP2026SPRING
    • 名称: キャンペーン名(例: 2026年春キャンペーン
    • 開始日付 / 終了日付: キャンペーンの有効期間
    • チャンネル: 獲得経路(マーケティングチャンネルで事前登録)
    • 原価: キャンペーンに投じた費用(会計通貨)
  3. 保存」をクリック
  1. 営業明細」タブに移動し「新規」をクリック
  2. 案件情報を入力:
    • 取引先: 商談先の取引先
    • 営業ステージ: 商談の進捗段階(選択すると可能性(%)が自動セット)
    • 予定クローズ日付: 成約見込日
    • 販売単価: 案件の見込金額
    • 通貨: 案件の通貨
  3. 保存」をクリック。「案件額×可能性」に加重金額が表示されます
  4. 成約したら「受注伝票」を紐付け、「クローズ日付」を入力

⚠️ 注意: 営業案件に受注伝票を紐付けると、保存時に「販売単価」(案件金額)が受注伝票の総合計で自動的に上書きされます(MOpportunity.beforeSave() の仕様)。

項目リファレンス(営業明細タブ)

Section titled “項目リファレンス(営業明細タブ)”
項目名必須説明
伝票番号必須文字列案件の一意番号
取引先必須検索商談先の取引先
営業ステージ必須選択商談の進捗段階(C_SalesStage)
可能性必須数値成約可能性(%)。ステージ選択で自動セット
予定クローズ日付必須日付成約見込日
販売単価必須金額案件の見込金額
案件額×可能性-金額見込金額×可能性の加重金額
通貨必須選択案件の通貨
社内担当者-選択担当営業
受注伝票-検索成約時に紐付ける受注伝票
クローズ日付-日付実際のクローズ日

全項目は 画面リファレンス を参照してください。

Q. 営業ステージを変えると「可能性」が勝手に書き換わるのはなぜですか?

Section titled “Q. 営業ステージを変えると「可能性」が勝手に書き換わるのはなぜですか?”

営業ステージ欄には Callout(CalloutOpportunity.salesStage)が設定されており、選択したステージ(C_SalesStage)に定義された可能性(%)を自動セットする仕様です。自動セット後に手動で上書きすることは可能です。

Q. 販売単価(案件金額)を修正しても保存すると元に戻ります

Section titled “Q. 販売単価(案件金額)を修正しても保存すると元に戻ります”

受注伝票が紐付いている案件は、保存時に案件金額が受注伝票の総合計で上書きされます(MOpportunity.beforeSave())。受注確定後の金額修正は受注伝票側で行ってください。

Q. サマリレベルとは何ですか?

Section titled “Q. サマリレベルとは何ですか?”

チェックすると、そのキャンペーンは実績を持たない「集計用の親ノード」になります。キャンペーンはツリー構造(キャンペーン木)で階層管理でき、レポートで階層集計に利用できます。

Q. キャンペーンは会計に影響しますか?

Section titled “Q. キャンペーンは会計に影響しますか?”

キャンペーン自体は伝票(Document)ではないため仕訳は発生しません。ただしキャンペーンは会計ディメンションの一つで、受注・請求伝票等に設定すると会計ファクトに引き継がれ、キャンペーン別の損益分析が可能になります。

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

マーケティングキャンペーンは C_Campaign(マスタ、アクセスレベル: Client+Org)を親に、営業案件 C_Opportunity・翻訳 C_Campaign_Trl を子に持つウィンドウです。モデルクラスは MCampaign(94行)と MOpportunity(80行)で、いずれも軽量なクラスです。Document 型ではありません。

classDiagram
    class MCampaign {
        +afterSave() boolean
    }
    class MOpportunity {
        +beforeSave() boolean
    }
    class X_C_Campaign {
        <<generated>>
    }
    class X_C_Opportunity {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    MCampaign --|> X_C_Campaign
    MOpportunity --|> X_C_Opportunity
    X_C_Campaign --|> PO
    X_C_Opportunity --|> PO
    MCampaign --> MOpportunity : has many

+afterSave() boolean +beforeSave() boolean <> <> > X_C_Campaign MOpportunity -- > PO X_C_Opportunity --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MCampaign.java / MOpportunity.java

カラム名必須説明備考
C_Campaign_IDIDPKキャンペーンID主キー
ValueString(40)Y検索キー
NameString(60)Y名称
C_Channel_IDTableDirectNチャンネル
StartDate / EndDateDateN期間
CostsCosts+PricesY原価会計通貨
IsSummaryYesNoYサマリレベルツリー階層用
カラム名必須説明備考
C_Opportunity_IDIDPK案件ID主キー
DocumentNoString(60)Y伝票番号
C_BPartner_IDSearchY取引先デフォルト @C_BPartner_ID@
C_SalesStage_IDTableY営業ステージCallout: CalloutOpportunity.salesStage
ProbabilityAmountY可能性(%)ステージから自動セット
ExpectedCloseDateDateY予定クローズ日付
OpportunityAmtAmountY案件金額受注紐付け時に自動上書き
WeightedAmtAmountN加重金額
C_Currency_IDTableDirectY通貨
C_Order_IDSearchN受注伝票
C_Campaign_IDTableDirectNキャンペーン親リンク
  • MCampaign.afterSave(): 新規登録時にキャンペーン木(TREETYPE_Campaign)へツリーレコードを挿入し、検索キー変更時にツリーを更新します。検索キー・名称の変更時は MAccount.updateValueDescription() で会計組合せ(C_ValidCombination)の表示も更新します。
  • MOpportunity.beforeSave(): C_Order_ID が設定されている場合、受注伝票の GrandTotalOpportunityAmt にセットします(案件金額と受注金額の同期)。
  • CalloutOpportunity.salesStage(56行、org.adempiere.base.callout): 選択された C_SalesStageProbability を SQL で取得し、案件の可能性欄に転記します。
  • Model Validator: C_OpportunityTYPE_BEFORE_CHANGE でステージ遷移の制約(例: 逆戻り禁止)を追加できます。コア改変は不要です。
  • Callout: 標準の CalloutOpportunity.salesStage に加え、独自 Callout を AD_Column の Callout 欄にセミコロン区切りで追記可能です。
  • 標準のカスタム Callout はこのウィンドウでは C_SalesStage_ID 列のみに設定されています。

営業案件のステージ管理やパイプラインレポートは、Model Validator や独自プロセスで業務に合わせて拡張できます。

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

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