# Salesforce vs CM Create Field-Value Gap Matrix

Date: `2026-07-07`

如果你现在要看
`按对象逐字段展开`
的详细目录，
直接看：

- [salesforce-cm-core-object-field-gap-catalog-2026-07-08.md](/Users/amber/ai/nexuscrm-pingcap-pack/docs/salesforce-cm-core-object-field-gap-catalog-2026-07-08.md)

## 这份文档只回答一个问题

当同一个核心业务对象：

- 在 live Salesforce 里创建
- 和在当前 CM API / pack 路径里创建

相比时，

`哪些业务字段在 Salesforce 里通常会被自动补值，但在 CM 里更可能为空、未回填、或语义不同`

这份文档只看
`业务上有意义的字段`
，
不看一般系统字段清单。

例如：

- `Id`
- `CreatedDate`
- `LastModifiedDate`
- 大多数基础 `OwnerId`

不是这里的重点。

## 先说结论

如果只看
`字段有没有值 / 值会不会明显不同`
，
当前最值得优先盯的是：

1. `Account`
   `Current_Order_Type__c`、partner-sales-owner、contract-valid 邻近字段
2. `Order`
   account/org carry-over、`PLG_BD_Pool__c`、contract/opportunity 邻近回填
3. `Revenue__c`
   `Name`、`PLG_BD_Pool__c`
4. `Invoice_Collection__c`
   `Name`、collections/payable helper、`PLG_BD_Pool__c`、org-to-collection carry-over
5. `Quote`
   non-standard / commercial helper checkbox 族
6. `CampaignMember`
   key-message 邻近字段

`Lead` 和 `Opportunity` 也重要，但当前更像
`部分字段语义/时机不同`
，
不是最典型的
`Salesforce 有值而 CM 直接空掉`
。

## 读法

| 标记 | 含义 |
|---|---|
| `高` | 现有证据已经能点到 exact Flow / auto-number 缺失，CM 创建后字段很可能直接空或保持旧值 |
| `中` | 字段不一定完全空，但更可能回填不全、时机不同、或语义漂移 |
| `低` | 当前更像长尾机制差异，不是这轮最主要的字段有值问题 |

## 核心对象字段差异矩阵

| 对象 | Salesforce 创建后通常会被补值/维护的关键字段 | 当前 CM 创建后的判断 | 证据基础 | 最先影响的 `gcp-digital-bi` 面 |
|---|---|---|---|---|
| `Account` | `Current_Order_Type__c`; partner-sales-owner 邻近字段；`Contract_Valid_*`; shared-dimension owner/team 邻近字段 | `高`: 这组字段最像 `Salesforce 有值/被更新，但 CM 侧可能空、旧、或未回填完整` | exact missing Flow 已锁定：`Account_Current_Order_Type`、`Account_Partner_Sales_Owner_Set`、`Account_Contract_Valid_Message`; repo/live evidence 已回连到 `account_current_order_type`、`owner_user_id`、`sales_team_name` | `salesforce_accounts`、`dim_account`、`dim_tenant`、`crm_account`、`583...`、`673...`、`212...`、`f9c4...` |
| `Order` | account/org/tenant carry-over 字段；`PLG_BD_Pool__c`; contract-opportunity 邻近回填；cloud-registration carry-over | `高`: 订单能创建出来不等于 finance 语义字段会齐；CM 侧最可能缺的是 downstream carry-over 值 | exact missing Flow 已锁定：`Order_Org_Auto_Set_Account_Create`、`Order_Org_Auto_Set_Account_Update`、`Order_Set_PLG_BD_Pool`、`contractOpportunityInset` | `salesforce_orders`、`salesforce_order_daily_view`、`cp_order_monthly_revrec`、`dws_salesforce_arr_summary`、`583...`、`837...`、`f9c4...` |
| `Revenue__c` | `Name`; `PLG_BD_Pool__c`; revrec helper/status 邻近字段 | `高`: `Name` auto-number 和 `PLG_BD_Pool__c` 是最清楚的 value-gap；其他公式字段多半仍会算 | `Revenue__c.Name` auto-number missing locally; exact missing Flow `RevRec_Set_PLG_BD_Pool`; 其余金额/期间 helper 多数是 object metadata formula | `salesforce_revrec`、`salesforce_orders.revenues`、`monthly_revrec_orders`、`salesforce_org_monthly_revrec`、`837...`、`f9c4...` |
| `Invoice_Collection__c` | `Name`; `PLG_BD_Pool__c`; `collections_amount` / `payable_amount` / exc-tax helper；org-to-collection bridge；cloud registration source | `高`: 这是当前最典型的 `Salesforce 会补一串 finance helper，CM 创建后可能空或不完整` 对象之一 | `Name` auto-number missing locally; exact missing Flow 已锁定：`Collection_Set_PLG_BD_Pool`、`Collection_Amount_and_Payable_Amount_exc_tax`、`Collection_Amount_and_Payable_Amount_exc_tax_Update`、`Cloud_Registration_Source_from_Org_to_Collections` | `stg_salesforce_invoice_collection`、`salesforce_order_daily_view`、`salesforce_org_monthly_revrec`、`monthly_revrec_collections`、`f9c4...` |
| `Quote` | non-standard conditions checkbox 族；commercial readiness / approval helper；部分 service-window 邻近清理字段 | `中-高`: Quote 主体能建，但一组商业条款 helper 很可能不会像 Salesforce 一样自动勾/自动回填 | exact missing Flow 已锁定：`Quote_update_nonstandard_conditions_checkbox`、`Quote_update_nonstandard_conditions_checkbox_2`; 另有 3 条 live validation 目前 local inactive | `salesforce_opportunities`、`dim_opportunity`、`dws_salesforce_arr_summary`、`1733...` |
| `CampaignMember` | key-message 邻近字段；first/last touch 辅助回填；response / involvement 邻近语义 | `中`: 不是整条 attribution 全空，但 `key message` 这组值最像 live Salesforce 会补、CM 当前不会 | exact missing Flow 已锁定：`Campaign_Member_Key_Message_Update`; first/last touch 主体 substrate 已在，所以不是全面缺失 | `salesforce_campaign_members`、`dws_campaign_attribution`、`dws_campaign_attribution_details`、`8c6f...` |
| `Lead` | `lead_mql_timestamp`; `lead_iqm_timestamp`; status-change 时间戳；source/campaign/qualification helper；lead-account stitching 邻近字段 | `中`: 更像 `值的时机和语义不完全一样`，不是当前最强的“直接空字段”对象 | local 已有 `IQM_Completion_Flow`、`Lead_Status_Duration`、`Std_ConvertLeadCampaignPreview`; 但 live 仍有 22 个 Flow absent locally，另有 `LeadTrigger` / `LeadAITrigger` 边界 | `salesforce_leads`、`dim_lead`、`dws_lead_timeline`、`dws_icp_summary`、`fd12...` |
| `Opportunity` | `forecast_category`; `probability`; `cloud_order_type`; `launch_date`; `owner_team` 邻近语义；AWS/defaulting 长尾字段 | `中`: base pipeline 字段大体不是空白，但 owner/share/AWS/defaulting 长尾仍可能和 Salesforce 不同 | local 已有 `Std_OpportunityStageDerivedFields`、`Opportunity_Cloud_Order_Type_Set`、`Opportunity_Close_Date_Auto_Set`; missing Flow 更集中在 share/defaulting/notification；残余 `OpportunityTrigger` 仍在 | `salesforce_opportunities`、`dim_opportunity`、`dws_data_quality_alerting`、`dws_salesforce_arr_summary`、`1733...`、`837...` |
| `Org__c` | `Name`; `Account__c` bridge；tenant/account linkage 邻近字段 | `低`: `Org__c` 自身不是当前最强的 field-value gap；主要问题是它往 `Order` / `Invoice_Collection__c` 的 carry-over 没完全传下去 | local `Org_Set_Account` already exists; no obvious direct object-level parity gap from current audit | `salesforce_orgs`、`dim_tenant`、`salesforce_accounts`、`salesforce_org_monthly_revrec` |

## 最像“Salesforce 有值，CM 可能没值”的字段清单

这张表只收最应该先拿去做差异抽样的字段。

| 对象 | 最值得抽样比对的字段 | 当前判断 |
|---|---|---|
| `Account` | `Current_Order_Type__c` | `高` |
| `Account` | partner-sales-owner 邻近字段，以及下游 `owner_user_id` / `sales_team_name` | `高` |
| `Account` | `Contract_Valid_*` | `中-高` |
| `Order` | account/org carry-over 邻近字段 | `高` |
| `Order` | `PLG_BD_Pool__c` | `高` |
| `Revenue__c` | `Name` | `高` |
| `Revenue__c` | `PLG_BD_Pool__c` | `高` |
| `Invoice_Collection__c` | `Name` | `高` |
| `Invoice_Collection__c` | collections/payable/exc-tax helper 字段 | `高` |
| `Invoice_Collection__c` | `PLG_BD_Pool__c` | `高` |
| `Invoice_Collection__c` | cloud-registration / org bridge 邻近字段 | `高` |
| `Quote` | non-standard conditions checkbox 族 | `中-高` |
| `CampaignMember` | key-message 邻近字段 | `中` |
| `Lead` | `lead_mql_timestamp` / `lead_iqm_timestamp` / status-change 邻近时间戳 | `中` |
| `Opportunity` | `owner_team` / share-defaulting 邻近字段 | `中` |

## 哪些字段现在更像“值会不一样”，而不是“CM 一定为空”

这点很重要，因为它决定了后面怎么抽样。

| 对象 | 字段族 | 更稳的判断 |
|---|---|---|
| `Lead` | lifecycle / qualification 时间戳 | 更像 `回填时机不同`、`部分 trigger-only 语义未承接`，不是所有字段都直接空 |
| `Opportunity` | forecast / stage / close/launch helper | 主链已有不少 local parity，剩余更多是长尾 defaulting/share/trigger 语义 |
| `CampaignMember` | attribution 主链字段 | first/last touch 主链已在，当前最确定缺的是 `key message` 这一小块 |
| `Org__c` | tenant/account bridge | `Org` 自身不是主缺口，更大的 gap 在它往 order / collections / revrec 下游的传递链 |

## 对外最稳的一句话

如果要用一句话总结这轮调研：

`当前最核心的问题，不是 CM 连对象都建不出来，而是部分核心业务对象在 CM 创建后，没有像 live Salesforce 那样把一组关键业务字段自动补值；最重的 field-value gap 集中在 Account、Order、Revenue__c、Invoice_Collection__c，其次是 Quote 和 CampaignMember。`
