L2C V2 · Domain model

L2C 业务领域建模建议

CRM、PMO、采购、财务四个业务域与 AI 工作台聚合层的边界、聚合和跨域协作建议。

版本 2026-08-19 · V2 权威来源 L2C 业务流程图 归档方式 本地 Markdown 转换

来源与优先级

本文由本地 V2 业务建模材料转换为站内 HTML。流程、审批、角色和跨域事件以 L2C 业务流程图 为准;未决内容在确认前不得固化为实现约束。T79 继续作为 Object Workbench / Ontology 架构基线,两者回答的问题不同。

以《L2C业务流程图.html》为权威基线,从 DDD 领域驱动设计视角梳理;其他调研材料仅作补充 版本日期:2026-08-19

确认与待办控制: HTML 第八部分 只登记分模块待办,已确认规则集中在 HTML 附录 A。已确认规则直接作为 V2 基线;未决内容以 HTML 当前待办为准,在确认前不得固化为聚合、状态或事件契约。


一、领域划分

整个 L2C 链路横跨四个业务域 + 一个聚合层,各自独立边界,通过明确接口关联:

flowchart TB
    subgraph AIWB["AI 工作台 (聚合展示层)"]
        direction TB
        ai1["经营看板 · AI 动作建议"]
        ai2["审批中心 · 数据聚合"]
        ai3["数据接入 & 反写"]
        ai1 --- ai2 --- ai3
    end
    subgraph CRM["CRM 域 (Lead to Order)"]
        direction TB
        crm1["线索 → 客户 → 商机"]
        crm2["报价 → 订单 → 合同"]
        crm3["回款"]
        crm1 --> crm2 --> crm3
    end
    subgraph PMO["PMO 域 (交付与项目管理)"]
        direction TB
        pmo1["项目/交付"]
        pmo2["验收"]
        pmo3["收入确认"]
        pmo1 --> pmo2 --> pmo3
    end
    subgraph PROC["采购域 (Procurement)"]
        direction TB
        proc1["供应商"]
        proc2["采购单 → 采购明细"]
        proc1 --> proc2
    end
    subgraph FIN["财务域 (Finance)"]
        direction TB
        fin1["金蝶系统"]
        fin2["应收应付 / 发票 / 支付"]
        fin1 --> fin2
    end
    AIWB -->|"读取全量数据"| CRM
    AIWB -->|"读取全量数据"| PMO
    AIWB -->|"读取全量数据"| PROC
    AIWB -->|"读取全量数据"| FIN
    CRM -->|"审批结果反写"| AIWB
    PMO -->|"审批结果反写"| AIWB
    CRM -->|"提供订单/合同引用<br/>供 PMO 手动管理"| PMO
    PMO -->|"交付需要外采时<br/>发起采购申请"| PROC
    PROC -->|"采购成本回流"| PMO
    PMO -->|"验收结果回流"| CRM
    PMO -->|"收入/成本等财务协同<br/>边界待确认"| FIN
    CRM -->|"仅提交开票申请时\n同步申请数据"| FIN

四个域 + AI 工作台的核心职责:

域 核心职责 聚合根
AI 工作台 统一入口,聚合全链路数据,提供经营看板和 AI 动作建议 —(聚合层,不持有业务事实)
CRM 管理客户关系、销售过程和交易事实 线索、客户、商机、报价、订单
PMO 手动管理项目、交付、验收、工时、成本和收入确认;立项条件及关联规则待 C-08 项目;候选增量见 3.2
采购 管理供应商和采购执行;供应商合同归口待 C-17 供应商、采购单;候选:供应商合同
财务 金蝶系统管理应收应付和发票;CRM 仅在提交开票申请时同步申请数据 —(外部系统,按已确认边界调用)

二、CRM 域(Lead to Order)

2.0 实体关系总览

flowchart LR
    Lead["线索<br/>(Lead)"] -->|"转换"| Customer["客户<br/>(Customer)"]
    Customer -->|"1:N"| Contact["联系人<br/>(Contact)"]
    Customer -->|"1:N"| Opportunity["商机<br/>(Opportunity)"]
    Opportunity -->|"1:N 业务线拆分"| SplitLine["业务线拆分<br/>(SplitLine)"]
    SplitLine -->|"带入报价"| Quote["报价<br/>(Quote)"]
    Quote -->|"1:N 产品拆分"| QuoteLine["产品明细<br/>(QuoteLine)"]
    QuoteLine -->|"N:1"| Product["产品<br/>(Product)<br/>业务场景为普通字段"]
    QuoteLine -->|"关联带入产品明细"| Order["订单<br/>(Order)"]
    Opportunity -->|"赢单后关联"| Order
    Order -->|"1:N"| SplitAssignment["业绩归属明细<br/>(SplitAssignment)"]
    Order -->|"N:M"| Contract["合同<br/>(Contract)"]
    Contract -->|"1:N"| PaymentPlan["回款计划<br/>(PaymentPlan)"]
    Order -->|"1:N"| InvoiceApplication["开票申请<br/>(InvoiceApplication)"]
    Contract -->|"1:N"| InvoiceApplication

关键关系说明:

  • 赢单 是商机的状态属性(商机阶段 = "赢单"),不是独立实体,但走独立审批流程
  • 商机 拆分到业务线维度(如雷达/数据智能/AI),报价 拆分到产品维度,产品自动归属业务线
  • 报价流程:销售线下填 Excel → 上传 OA 报价系统 → AI 自动识别提取到表单台账 → 报价数据带入订单
  • 订单 在赢单审批通过后由系统自动生成草稿;销售只提报产品明细和业绩划分比例,销管在审批中调整金额并补录提成
  • 合同 时序上晚于订单;合同创建时必须关联一个或多个既有订单,订单可仍处于审批中,与订单为 N:M
  • 全链路审批校验 按商机 → 最新有效报价(last)→ 订单回溯检查关联、内容和版本;不一致则报错修改后重审
  • 金蝶边界 当前唯一确认动作是提交开票申请时直接同步申请数据,其他 CRM 财务协同不在本版预设

2.1 线索 (Lead) — 独立聚合根

线索是潜在客户或商机的初始信息入口。独立管理,拥有公海机制。

核心字段

字段名 类型 必填 说明
线索唯一标识 string Y 系统自动生成
姓名(必填) string Y 联系人姓名
公司(必填) string Y 公司名称
职务(必填) string Y 联系人职务
部门(必填) string Y 所属部门
销售线索详情(必填) text Y 线索描述
来源(必填) enum Y 市场导入/销售创建/AI提取/官网/伙伴
业务类型(必填) string Y 业务分类
需求类型(必填) string Y 需求分类
客户所在行业(必填) string Y 行业归属
电话 string N 联系电话
邮件 string N 联系邮箱
状态 string Y 线索状态
负责人 string Y 当前负责人
归属部门 string Y 归属部门
线索池 string N 所属池名称(待分配 / 回收线索池等)
重点线索分类 string N 分类标签
需求维度 string N 需求方向

线索池分层机制

线索池带有组织标识,不同类型的线索进入不同的池:

线索池类型 来源 说明
部门线索池 市场活动导入 / 部门自有资源 市场线索进入后由销管运营分配;当前保有期 14 天,可独立配置
销售拓展池 销售手工录入 默认归属录入人,可与部门池使用不同保有期,允许配置为不限期
回收线索池 销管统一管理 超时或长期未有效跟进的线索统一进入,由销管重新分配或暂时搁置

回收规则: 不论线索最初来源,回收后统一进入回收线索池,由销管重新分配或暂时搁置。

状态机

线索状态、迁移条件和非法迁移统一见 《L2C核心实体状态机》— 线索状态机。

公海规则:

  • 领取后超过可配置的首次跟进时限(当前暂定 24H),或超过可配置的持续跟进保有期(当前 14 天)无有效跟进,回收至回收线索池
  • AI 判断跟进有效性(是否含客户反馈、明确需求等),虚假拜访触发扣分
  • AI 的无效判断只作提示;销管人工核验后决定调出、干预或保留
  • 回收线索统一进入回收线索池,由销管重新分配或暂时搁置
  • 市场导入线索先进入“待分配”,销售手工录入线索默认归属本人

2.2 客户 (Customer) — 聚合根

已确认的合作主体,内部包含联系人和客户团队成员。客户责任人是业务归属概念,不是领导层级。

核心字段

字段名 类型 必填 说明
客户编号(必填) string Y 系统自动生成
客户名称(必填) string Y 工商注册名称
客户所在行业(必填) enum Y 下拉选项,AI 辅助推荐
业务类型(必填) string Y 业务分类
统一社会信用代码 string N 工商信息,自动填入
客户所在区域 string N 区域
客户责任人 string Y 首次分配对象成为唯一当前责任人;不是直属上级或审批领导
归属部门 string Y 归属部门
来源 string N 线索转换/直接创建
所属公海 string N 所属公海池名称
客户级别 string N 分级标签
客户类型 string N 类型分类
电话 string N 公司电话
网址 string N 公司网址
工商注册 string N 工商注册信息摘要
企业业务简介 text N 业务描述
客户标签 string N 自定义标签
成交状态 string N 成交状态

客户团队成员 (CustomerTeamMember)

客户责任人可组建客户协作团队。团队成员是客户聚合内的授权明细,不是第二责任人。

字段名 类型 必填 说明
关联客户编号 string Y FK -> Customer
团队成员 string Y 被授权人员
业务角色 string Y 该成员在客户协作中的角色
操作权限 enum Y 读写 / 只读
关联对象可见范围 set Y 可查看的客户关联线索、商机、订单等对象类型或记录范围

规则:

  • 客户首次分配给某位人员后,该人员成为唯一当前责任人
  • 责任人可添加、调整和移除团队成员;成员加入不改变客户责任人
  • 成员实际权限取操作权限与关联对象可见范围的交集,不默认继承客户全部数据
  • 旧“上位负责人”若作为历史字段保留,仅表示前责任人,不授予领导、当前归属或审批权限
  • 责任转移、成员角色和权限范围变更必须记录操作人、时间及变更前后值

状态机

客户状态、迁移条件和非法迁移统一见 《L2C核心实体状态机》— 客户状态机。

审批规则: 客户新建必须经过审批流,审核信息真实性、联系人有效性及销售动作。重复主体不能直接新建,需多维查重(名称/信用代码/集团)。


2.3 商机 (Opportunity) — 聚合根

对某个客户的潜在交易机会,含金额、赢率和业务线拆分。商机阶段包含"赢单"作为终态。

核心字段

字段名 类型 必填 说明
商机编号 string Y 系统自动生成
商机名称(必填) string Y 商机标题
客户名称(必填) string Y 关联客户
商机金额(元) decimal Y 商机总金额
销售赢单率% int Y 销售创建商机时填报
AI 赢单率% int N 商机审批通过后由 AI 计算并独立保存
销管赢单率% int N 销管维护;未填时业务计算引用 AI 赢单率
商机阶段(必填) enum Y 见状态机
预计成交日期(必填) date Y 预计赢单日期
业务类型(必填) string Y 业务分类
销售流程(必填) string Y 当前所处销售流程
负责人(必填) string Y 销售负责人
归属部门 string Y 归属部门
客户所属行业 string Y 从客户带入
项目所属业务线 string N 主要业务线归属
需求背景 text N 商机背景描述
整单折扣(%) decimal N 折扣率
预算金额(元) decimal N 客户预算
是否续单 bool N 是否为续约
商机风险 string N 风险标记
竞争对手名称-1/2/3 string N 竞对信息
售前总监 string N 售前负责人

业务线拆分明细 (SplitLine)

字段名 类型 必填 说明
关联商机编号 string Y FK -> Opportunity
业务线 string Y 如"雷达"/"数据智能"/"AI"
金额 decimal Y 该业务线的金额分配
占比 decimal N 自动计算 = 金额/商机总金额

约束: Σ SplitLine.金额 = 商机.商机金额,否则禁止提交。

状态机

商机状态、迁移条件和非法迁移统一见 《L2C核心实体状态机》— 商机状态机。

三类赢单率机制:

  • 销售赢单率:销售创建商机时根据判断填报
  • AI 赢单率:商机审批通过后由 AI 计算并写入独立字段,持续保留
  • 销管赢单率:销管维护的管理校准口径;填写后不覆盖 AI 赢单率

业绩预测公式: Σ (各业务线拆分金额 × 有效赢单率);有效赢单率优先取已填写的销管赢单率,否则取 AI 赢单率。

商机连续未填写销售记录达到可配置时长(当前 30 天)时只提醒负责人,不自动回收;只有负责人本人录入的记录计入该判断。


2.4 报价 (Quote) — 聚合根

基于商机业务线拆分的正式报价单,锁定到产品级别。提交前必须校验报价总额及各业务线汇总与商机完全一致。

报价流程:

  1. 销售线下填 Excel 报价表,按产品分类填列(产品/对客报价/成本/交付方式)
  2. 上传至 OA 报价系统(当前报价流程承载系统)
  3. AI 自动识别提取 Excel 内容,结构化填入系统表单台账
  4. 金额一致性校验(vs 商机拆分)→ 提交审批
  5. 审批通过后成为该商机的最新有效报价(last);赢单审批通过时由系统据此自动生成订单草稿

报价明细按产品分类,产品自动归属业务线;业务线用于审批路由和与商机业务拆分的金额一致性校验。

核心字段

字段名 类型 必填 说明
报价编号 string Y 系统自动生成
关联商机编号 string Y FK -> Opportunity
版本号 int Y 从1递增,新版本不覆盖旧版本
报价总金额 decimal Y = 商机总金额
状态 enum Y 见状态机
审批状态 enum Y 审批流状态
审批通过时间 datetime N 审批通过时间戳
是否当前有效(last) bool Y 同一商机任一时点仅一个审批通过报价为 true
负责人 string Y 销售负责人
归属部门 string Y 归属部门

产品级报价明细 (QuoteLine)

字段名 类型 必填 说明
关联报价编号 string Y FK -> Quote
产品名称 string Y 具体产品(如"雷达标准版")
商品编号 string N 产品编码
关联产品编号 string Y FK -> Product;产品主数据包含“业务场景”普通字段
所属业务线 string Y 产品归属的业务线,与商机 SplitLine 对应
金额 decimal Y 产品报价金额
成本 decimal Y 预估成本
毛利率 decimal N 自动计算 = (金额-成本)/金额

产品 (Product)

产品作为主数据被 QuoteLine 以 N:1 引用。“业务场景”是 Product 的普通属性字段,与产品名称、编码、分类和所属业务线一并维护,不拆成独立实体,也不能从实体关系中省略产品。

约束:

  • 报价总金额及各业务线汇总金额必须与商机拆分金额完全一致,不一致则阻断提交
  • 同一商机允许多个报价轮次,历史轮次保留;仅最新审批通过报价(last)有效,订单不得引用旧版本
  • 商机变更与报价无关时不影响报价;金额、产品或指定字段变更时,当前 last 失效并要求重新提报;具体指定字段清单待 C-07
  • 支持 Excel 上传 AI 自动识别产品明细

状态机

报价状态、迁移条件和非法迁移统一见 《L2C核心实体状态机》— 报价状态机。


2.5 订单 (Order) — 聚合根

商机赢单审批通过后,系统从最新有效报价(last)自动生成订单草稿并提醒销售。销售只提报产品明细和业绩划分比例;销管在审批过程中调整订单/执行金额并补录提成信息。

核心字段

字段名 类型 必填 说明
订单编号 string Y 系统自动生成
订单编号(业务) string Y 业务单号,如"SO-2026-XXXX"
关联商机编号 string Y FK -> Opportunity
关联报价编号 string Y FK -> Quote
客户名称 string Y FK -> Customer
预计收入 decimal Y 从报价带入
预计成本 decimal Y 从报价带入
预计毛利率 decimal Y 从报价带入
订单金额 decimal Y 最终确认金额
状态 enum Y 见状态机
负责人 string Y 销售负责人
归属部门 string Y 归属部门
下单日期 date Y 订单创建日期

订单产品明细 (OrderLine)

字段名 类型 必填 说明
关联订单编号 string Y FK -> Order
产品名称 string Y 从 QuoteLine 带入
所属业务线 string Y 从 QuoteLine 带入
金额 decimal Y 产品金额
成本 decimal Y 预估成本
毛利率 decimal N 自动计算

业绩归属明细 (SplitAssignment)

字段名 类型 必填 说明
关联订单编号 string Y FK -> Order
归属人 string Y 业绩归属的销售/团队
金额/比例 decimal Y 归属的金额或比例
确认人 string N 运营确认人
依据凭证 string N 拆分依据(如合作协议)
状态 enum Y 随订单统一审批并生效,不维护独立后置状态机

约束:

  • Σ SplitAssignment.金额 = 订单.可拆分金额
  • 销售提报订单时维护产品明细和业绩划分比例,不填写销管负责的金额调整与提成信息
  • 销管在订单审批链中调整订单/执行金额并补录提成;等待合同返回和提成依据时,订单可在审批中停留两至三个月
  • 审批按“商机 → 最新有效报价(last)→ 订单”回溯检查关联、内容和版本;不一致时报错并驳回修改,修改后重新审批
  • 只有最终审批通过后,产品、金额、业绩划分和提成等审批事实才固定并生效

回款计划与开票申请

字段名 类型 必填 说明
回款计划编号 string Y 系统自动生成;计划关联合同
关联合同编号 string Y FK -> Contract
计划金额 / 日期 decimal / date Y 计划性信息;最终维护边界待确认
开票申请编号 string Y 系统自动生成
关联订单 / 合同 reference Y 引用既有合同及其上游订单
申请金额 / 抬头 / 税务信息 value object Y 提交开票所需业务数据
同步状态 enum Y 仅记录申请数据向金蝶的提交结果,不代表开票或回款完成

订单、开票与回款边界


2.6 合同 (Contract) — 独立聚合

与客户签署的法律文件。V2 已确认先有订单、后有合同:合同创建时必须选择一个或多个既有订单,订单可仍处于审批中;合同与订单形成 N:M。必要提取字段和审批链待 C-10。

核心字段

字段名 类型 必填 说明
合同编号 string Y 系统自动生成
关联订单编号列表 array Y 至少一个订单;一个合同可关联多个订单
合同金额 decimal Y 签署金额
合同归档状态 enum Y 未归档/已归档
签署状态 enum Y 待签署/已签署/已到期
状态 enum Y 见状态机
负责人 string Y 负责人
归属部门 string Y 归属部门

规则:

  • 无订单不得创建合同,不保留“仅关联商机”的例外
  • 关系由合同侧建立:创建合同时选择并关联既有订单
  • 一个订单可关联多份合同,一个合同可关联多个订单;项目归属和项目层级由 PMO 后续管理,见 C-08、C-12
  • 合同审批前汇总关联订单金额;金额差异的校验与放行细则随合同审批规则在 C-10 补齐
  • 合同审批通过不触发 CRM 与财务/金蝶协同;当前唯一确认动作是销售提交开票申请时将申请数据直接同步金蝶

状态机

合同状态、迁移条件和非法迁移统一见 《L2C核心实体状态机》— 合同状态机。


2.7 联系人 (Contact) — CRM 实体,最终归属客户

联系人可基于线索创建或直接新建,按名称 + 电话查重;命中时可关联已有联系人并补充缺失信息,不创建重复记录。客户创建时再关联已有联系人,正式关系为客户 1:N 联系人。

字段名 类型 必填 说明
姓名(必填) string Y 联系人姓名
客户名称 string N FK -> Customer;创建联系人时可暂不关联,客户创建时补充
职务(必填) string Y 联系人职务
部门(必填) string Y 所属部门
业务类型(必填) string Y 业务分类
联系人级别 string N 联系人级别
电话1 string N 主要电话
邮件 string N 联系邮箱
负责人 string Y 负责人
归属部门 string Y 归属部门
来源 string N 来源
注意事项1 text N 备注事项

2.8 销售活动 (SalesActivity) — 多态关联实体

字段名 类型 必填 说明
记录ID(必填) string Y 系统生成
关联业务对象(必填) enum Y 线索/客户/联系人/商机
关联业务数据(必填) string Y 对应对象的具体ID
业务类型 string Y 业务分类
跟进日期时间 datetime Y 活动发生时间
拜访形式 enum Y 电话/拜访/会议/邮件/备注
具体沟通内容 text Y 沟通详情
沟通部门 string N 客户方参与部门
本次沟通目的 string N 沟通目标
拜访涉及内容 string N 拜访涉及内容
客户对接人/参会人 string N 客户方参与人
公司名称 string N 关联公司
负责人 string Y 执行人
归属部门 string Y 归属部门
所属线索 string N 关联线索

规则:

  • AI 自动判断拜访有效性(是否获取客户反馈、明确需求等)
  • 虚假拜访触发高压线扣分
  • 同一活动可关联多个对象

2.9 核心实体状态机

线索、联系人、客户、商机、报价、订单、合同、回款八个核心实体的状态机已独立成确认板块,统一见 《L2C核心实体状态机》。本文件不再重复维护状态枚举和迁移规则。


三、PMO 域(交付与验收)

3.1 项目 (Project) — 聚合根

项目由 PMO 手动创建和管理。订单确认或合同审批通过均不自动生成正式项目或交付准备单;手动立项条件、关联订单/合同规则、编号、取消、重复校验和历史数据处理待 C-08。

核心字段

字段 类型 必填 说明
项目编号 string Y 系统生成
项目名称 string Y 项目名称
关联订单/合同编号 string N PMO 手动选择引用;必填性、基数和校验待 C-08/C-12
项目金额 decimal Y 数据来源和订单/合同字段优先级待 C-13
预算成本 decimal Y 预算总成本;分类、上限和校验待 C-13/C-19
预算毛利率 decimal Y 预算毛利率
归属部门 string Y 负责部门
负责人 string Y 项目经理
状态 enum Y 见状态机
计划开始日期 date N 计划开始
计划结束日期 date N 计划结束
实际开始日期 date N 实际开始
实际结束日期 date N 实际结束

交付节点 (DeliveryNode)

字段 类型 必填 说明
节点名称 string Y 里程碑/验收节点名称
计划日期 date Y 计划完成日期
实际日期 date N 实际完成日期
状态 enum N 未开始/进行中/已完成/延期

验收记录 (Acceptance)

字段 类型 必填 说明
验收节点 string Y 关联 DeliveryNode
验收时间 datetime Y 验收时间
验收结果 enum Y 通过/不通过/有条件通过
验收依据 string N 验收凭证(截图/协议等)
确认人 string Y 客户方确认人

成本项 (CostItem)

字段 类型 必填 说明
成本类型 enum Y 自有成本/外包成本/采购成本/其他
预算金额 decimal Y 预算
实际金额 decimal N 实际发生额
来源 string N 成本来源(采购域回流/手动录入)

收入确认 (RevenueRecognition)

字段 类型 必填 说明
确认金额 decimal Y 本次确认收入金额
确认比例 decimal N 如 75%/25%
确认时间 date Y 确认日期
确认人 string Y 财务确认人
确认依据 string N 依据(验收/合同条款)

规则:

  • 收入确认金额 ≠ 合同金额 ≠ 订单金额,各为独立事实
  • 比例规则可配置,不写死
  • 历史收入只能通过冲销+新确认调整,不能覆盖原记录

项目状态机

状态 英文 说明
待启动 Pending PMO 手动创建后的建议初始状态;正式枚举待 C-08
执行中 InProgress 交付进行中
已验收 Accepted 验收通过
已结项 Closed 项目关闭
暂停 Suspended 项目暂停

状态转换 → 业务动作

转换 触发条件 业务动作
(创建) → 待启动 PMO 手动创建且必填信息完整 保存项目及关联引用;正式条件和初始化动作待 C-08
待启动 → 执行中 项目经理启动 更新实际开始日期,创建预算成本项
执行中 → 已验收 所有客户验收节点通过 触发 AcceptanceCompleted → CRM 域;内部验收前置规则待 C-14
已验收 → 已结项 所有成本回流、收入确认完毕 触发 ProjectClosed;正式结项硬条件和例外待 C-15

标品 vs 非标品展示:

  • 标品:简化展示(如仅显示开通时间)
  • 非标品:完整展示验收节点、预计回款、开发进度
  • 状态颜色预警:黄色=有风险但无需介入、红色=需介入

3.2 PMO 待办候选聚合/实体

以下对象均属于 PMO 待办,在确认前不属于正式领域模型:

候选对象 用途 前置确认项
交付准备单 (DeliveryPreparation) 如 PMO 确认需要,可承载资源预占、提前投入审批和停工管理;不由订单自动创建 C-08、C-11
项目群/子项目 (ProjectGroup/Subproject) 同客户多合同归集、多交付主体拆分和主 owner C-12
内部验收 (InternalAcceptance) 解锁开票和供应商付款 C-14
工时报工 (Timesheet) 项目/非项目工时、周审和预算比对 C-16
风险升级决策 (RiskEscalationDecision) 项目/回款逾期分级、决策与执行留痕 C-18

项目成本分类和执行期管控不是新聚合,但会改变 CostItem 规则,待 C-13、C-19;验收和收入计划职责待 C-20。


四、采购域

4.1 供应商 (Supplier) — 聚合根

字段 类型 必填 说明
供应商编号 string Y 系统生成
供应商名称 string Y 供应商名称
信用代码 string N 统一社会信用代码
类别 string N 供应商分类
状态 enum Y 正常/冻结/黑名单

4.2 采购单 (PurchaseOrder) — 聚合根

本版只建模采购单和采购明细。是否新增 SupplierContract 聚合及其发起、签署、归档职责边界待 C-17;供应商验收责任待 C-20。

字段 类型 必填 说明
采购单编号 string Y 系统生成
关联订单编号 string Y CRM 域订单引用
关联项目编号 string Y PMO 域项目引用
采购总金额 decimal Y 采购总金额
状态 enum Y 待审批/审批中/已审批/已下单/已完成/已取消

采购明细 (POLine)

字段 类型 必填 说明
产品 string Y 采购产品/服务
金额 decimal Y 采购金额
供应商 string Y 关联供应商
关联订单产品行 string Y 关联 CRM 域 OrderLine,用于按产品维度统计成本

状态转换 → 业务动作

转换 触发条件 业务动作
(创建) → 待审批 PMO 域发起采购申请 POLine.linkedOrderLineId 关联到订单产品行
已审批 → 已下单 采购下单 向供应商下单
已下单 → 已完成 采购完成 触发 PurchaseCompleted → PMO 域回流采购成本到 Project.CostItem

五、跨职能业务流程图

5.1 主链路 (Lead to Order) 跨职能流程

sequenceDiagram
    participant Mkt as 市场
    participant Sales as 销售
    participant XM as 销管运营
    participant Biz as 业务部门
    participant Approver as 审批人
    participant Sys as 系统
    participant AI as AI

    Note over Mkt,Sys: 阶段一:线索获取与分配
    Mkt->>Sys: 批量导入市场线索 → 部门线索池
    Sales->>Sys: 手工录入销售线索 → 销售拓展池并归属本人
    XM->>Sys: 分配市场线索,记录领取时间

    Note over Sales,XM: 阶段二:线索跟进
    Sales->>Sys: 24h 内首次跟进并持续记录销售活动
    Sys->>AI: 判断跟进有效性(仅提示,不硬阻断)
    alt 24h 未首跟或超过当前 14 天保有期
        Sys->>XM: 回收至回收线索池
    else 线索成熟
        Sales->>Sys: 标记有效并执行“转客户”
    end

    Note over Sales,AI: 阶段三:联系人创建
    Sales->>Sys: 基于线索创建或直接新建联系人
    Sys->>Sys: 名称 + 电话查重
    alt 命中已有联系人
        Sales->>Sys: 关联已有联系人并补充缺失信息
    end
    opt 名片或会议录音
        AI->>Sales: 生成联系人草稿,人工确认
    end

    Note over Sales,XM: 阶段四:客户创建
    Sales->>Sys: 客户查重并关联已有联系人
    Sales->>Approver: 提交客户创建审批
    alt 审批通过
        Approver->>Sys: 客户生效
    else 审批驳回
        Approver->>Sales: 补充后重新提交
    end

    opt 阶段四-b:产品试用申请(独立支线)
        Sales->>Biz: 基于客户提交试用申请
        Biz->>Sys: 审批通过后下发试用账号密码
    end

    Note over Sales,XM: 阶段五:商机创建与跟进
    Sales->>Sys: 关联客户/联系人,按业务线拆分金额
    Sys->>Sys: 校验拆分合计 = 商机总金额
    Sales->>Approver: 提交商机创建审批
    Approver->>Sys: 通过后商机进入推进中
    Sales->>Sys: 创建商机时填报销售赢单率
    AI->>Sys: 审批通过后计算并保存 AI 赢单率
    Sys->>Sys: 销管未填时有效赢单率引用 AI 值
    XM->>Sys: 填写销管赢单率后改用销管值,AI 值保留

    Note over Sales,Approver: 阶段六:报价
    Sales->>Sys: 上传线下 Excel 报价表
    AI->>Sales: 识别产品/金额/成本/业务线,等待人工确认
    Sys->>Sys: 校验报价总额和业务线汇总与商机一致
    Sales->>Approver: 按业务线提交报价审批
    Approver->>Sys: 全部必要节点通过 → 报价已审批
    Sys->>Sys: 标记为该商机最新有效报价(last)

    Note over Sales,Approver: 阶段七:赢单
    Sales->>Sys: 上传客户确认凭证并推至赢单
    Sys->>Sys: 校验存在业务线和金额一致的报价
    Sales->>Approver: 提交赢单审批
    Approver->>Sys: 通过 → 商机赢单并锁定
    Sys->>Sys: 赢单后按 last 报价自动生成订单草稿并提醒销售

    Note over Sales,Approver: 阶段八:订单
    Sales->>Approver: 提交产品明细和业绩划分比例
    Approver->>Sys: 回溯校验商机 → last 报价 → 订单
    XM->>Sys: 审批中调整金额并补录提成(可等待合同依据)
    Approver->>Sys: 最终通过 → 订单事实固定;否则驳回修改重提
    Note over Sys,Approver: 订单确认不自动创建项目;PMO 手动立项规则见 C-08

    Note over Sales,Approver: 阶段九:合同
    Sales->>Sys: 基于一个或多个订单发起合同
    AI->>Sales: 识别必要字段并人工确认(字段待 C-10)
    Sales->>Approver: 提交通用合同审批(审批链待 C-10)
    Approver->>Sys: 通过 → 合同审批通过

5.2 交付与采购链路 (Order to Cash) 跨职能流程

sequenceDiagram
    participant PMO as PMO/项目经理
    participant Finance as 财务
    participant Procure as 采购
    participant Customer as 客户
    participant Kingdee as 金蝶
    participant Sys as 系统

    PMO->>Sys: 手动创建和管理项目(规则待 C-08)
    PMO->>Sys: 手动选择关联订单/合同(基数待 C-08/C-12)
    PMO->>PMO: 执行交付

    opt 需要外采
        PMO->>Procure: 发起采购申请(关联订单产品行)
        Procure->>Sys: 创建采购单
        Procure->>Procure: 采购执行
        Procure->>Sys: 采购完成
        Sys->>PMO: PurchaseCompleted(采购成本回流)
        Sys->>Kingdee: 同步采购付款/供应商发票
    end

    PMO->>Customer: 交付完成,提请客户验收(内部验收待 C-14)
    alt 验收通过
        Customer->>Sys: 确认验收
        Sys->>Sys: AcceptanceCompleted → 通知 CRM 更新订单状态
    else 验收不通过
        Customer->>PMO: 退回修改
    end

    PMO->>Finance: 提交收入确认
    Finance->>Sys: 确认收入
    Sys->>Sys: RevenueRecognized → 回流 CRM
    Note over Sys,Kingdee: CRM 仅在提交开票申请时同步申请数据
    PMO->>Sys: 项目结项(条件待 C-15)

5.3 AI 辅助链路

AI 在 L2C 全链路中覆盖四大辅助场景:

场景一:录音提取(会议录音 → AI 草稿 → 人工确认)

sequenceDiagram
    participant Sales as 销售
    participant Sys as 系统/AI

    Sales->>Sys: 上传会议录音
    Sys->>Sys: 保存为 MeetingRecording
    Sys->>Sys: AI 提取结构化信息<br/>(竞品/客户意向/下一步计划)

    Sys->>Sys: 生成 AI 草稿 AIDraft<br/>状态: 候选 Candidate
    Sys->>Sys: 同时生成线索草稿 / 客户草稿 / 商机草稿

    Sys->>Sales: 推送草稿,等待人工确认
    alt 接受 / 修改
        Sales->>Sys: 确认并提交
        Sys->>Sys: 转为正式 CRM 事实<br/>(可追溯到原始录音片段)
    else 拒绝
        Sales->>Sys: 拒绝
        Sys->>Sys: 丢弃草稿,记录拒绝原因
    end

场景二:报价识别(Excel 上传 → AI 提取 → 台账回填)

销售线下填 Excel → 上传 OA 报价系统 → AI 自动识别提取产品/金额/成本/业务线 → 回填结构化表单台账 → 减少重复填报。

场景三:审批辅助

AI 在关键节点做判断辅助(如合同预审驳回),但不能代替真实业务流审批。

场景四:经营看板

以目标为导向(如"南区客户二部差 1 亿"),AI 从目标缺口倒推动作建议(挑商机/推方案/话术指导),交互式问答支持深入探索。

规则:

  • 任何未经人工确认的草稿不得进入正式列表、经营报表或下游同步
  • 正式对象可追溯到录音片段
  • 记录原始 AI 候选值、人工修改结果、确认人和确认时间
  • AI 工作台采用 Tab 分页/分层浏览,避免信息平铺
  • 页面需引入经营看板视图,AI 主动指导而非被动展示

六、跨域交互

6.1 域间事件流

事件 发送方 接收方 触发的动作
PMOProjectCreated(待定义) PMO CRM / PMO PMO 手动创建项目后记录关联结果;事件名和载荷待 C-08
AcceptanceCompleted PMO CRM 更新订单交付状态
RevenueRecognized PMO CRM / 金蝶 回流收入结果到经营分析;同步应收应付
PurchaseRequested PMO 采购 发起采购流程
PurchaseCompleted 采购 PMO / 金蝶 回流采购成本到 Project.CostItem;同步采购付款/发票
InvoiceApplicationSubmitted CRM 金蝶 提交开票申请时直接同步申请数据;不代表开票或回款完成
OrgStructureChanged 企微 全部系统 组织架构变更后几小时内全系统同步审批链

6.2 集成原则

  1. 引用而非持有: 跨域只保存对方聚合根 ID,不复制数据
  2. 事件驱动: 域间通过领域事件异步通信,不直接调用对方 API 做写操作
  3. 最终一致性: 跨域数据允许短暂不一致,通过异常工作台处理同步失败
  4. 单写: 每个事实只有一个域能写入,其他域只读引用

七、实体清单总览

域 聚合根 内部实体 独立聚合
CRM 线索 (Lead) — —
CRM 客户 (Customer) 联系人 (Contact,允许先创建后关联)、产品试用申请 (TrialApplication) —
CRM 商机 (Opportunity) 业务线拆分明细 (SplitLine) —
CRM 报价 (Quote) 产品级报价明细 (QuoteLine,N:1 引用 Product) 产品主数据 (Product,含业务场景字段)
CRM 订单 (Order) 订单行 (OrderLine)、业绩归属明细 (SplitAssignment)、开票申请 (InvoiceApplication) 回款计划 (PaymentPlan,维护边界待确认)
CRM — — 合同 (Contract)
CRM — — AI 草稿 (AIDraft)
CRM — — 会议录音 (MeetingRecording)
CRM — 销售活动 (SalesActivity,多态关联) —
PMO 项目 (Project,手动创建) 交付节点 (DeliveryNode)、验收记录 (Acceptance)、成本项 (CostItem)、收入确认 (RevenueRecognition) 候选:交付准备单、项目群/子项目、内部验收、Timesheet、风险升级决策(C-08 至 C-20)
采购 供应商 (Supplier) — —
采购 采购单 (PurchaseOrder) 采购明细 (POLine) 候选:供应商合同 (SupplierContract),待 C-17
财务 —(金蝶外部系统) — 应收应付 (AR/AP)

八、建议的 1.0 实施边界

优先实现(930 前必须完成):
  AI 工作台:navy 平台统一入口,Tab 分页 + 经营看板
  CRM 域:线索(含线索池分层)、客户、联系人、商机、报价(上传+AI识别)、订单(含业绩归属拆分)
  全链路一致性校验:商机→最新有效报价(last)→订单的关联、内容和版本阻断机制
  合同管理系统:合同必须关联一个或多个既有订单;必要字段和审批链待 C-10
  PMO 接口:不由订单或合同自动立项;PMO 手动立项及关联规则待 C-08
  金蝶对接:CRM 当前只实现提交开票申请时同步申请数据;其他 CRM 财务协同暂不建设
  组织架构:企微同步"新人新事"模式

后续接入:
  CRM 域:AI 草稿自动入库(需核心链路稳定后)
  PMO 域:项目管理系统(手动管理;立项、验收、结项等规则按 C-08、C-11 至 C-22 补齐)
  采购域:供应商 + 采购单(当前线下可维持)

暂不建设:
  跨域工作流编排、经营卡 S2M 全量功能

8.1 AI 工作台设计要点(新增)

AI 工作台建在 navy 平台,定位为 CRM、报价、合同、PMO、采购、金蝶与审批中心 的全链路统一入口;它是聚合展示层,不持有业务事实:

要点 说明
非替代现有系统 OA、报价、合同等系统继续运行,AI 工作台通过接口接入数据并反向写回审批结果
前端设计 Tab 分页 + 分层浏览,避免单一页面堆砌;引入经营看板视图,以目标为导向
AI 主动指导 从目标缺口倒推动作建议(如"南区客户二部差 1 亿,推 XX 商机"),交互式问答
审批流联动 上游数据触发下游审批流启动,审批状态变更反写 AI 工作台可视化
组织架构 "新人新事"模式,从企微同步,几小时内全系统自动调整审批链
新旧并行 930 前新旧系统并行过渡,历史合同数据可迁入新系统查阅
930 目标 底层完成结构化打通,不要求 100% 实时准确

九、基于数据探查的建类建议

9.1 公共基类

公共属性 出现位置 建议
创建人/创建时间/最后修改人/最后修改时间 全部表 BaseEntity 基类
责任人/责任人主属部门/归属部门 全部表 AssignableEntity;责任人表示业务归属,不表示领导层级
锁定状态/生命状态/业务类型 全部表 StatefulEntity
人员/部门/用户组/角色 读写权限(24个) 大部分表 通用权限框架;客户团队还需叠加角色、读写/只读和关联对象可见范围

9.2 属性设计原则

  1. 必填属性 → 构造函数参数 / not-null 约束
  2. 100%填充属性 → 类核心属性,优先纳入
  3. 部分填充属性 → optional / nullable
  4. 全空属性 → 权限控制类复用框架字段;其余业务字段暂不纳入初版

十、待办备忘录

以下模块不在 L2C 核心链路上,但属于管理侧需要长期跟进的配套能力,记录于此备忘,后续逐步建设。

10.1 目标管理

独立的辅助表单,不直接影响 L2C 流程,但作用于管理层。

要点 说明
目标导入 运营/管理员从后台导入或填写各层级(公司→部门→个人)的销售目标
层级拆解 目标需与公司整体指标层层拆解一致
完成率计算 系统根据取数规则(订单金额、商机金额 × 赢率等)自动计算完成率
看板展示 Leader 看板中展示各业务单元的业绩达成情况
业绩指标 作为经营分析的基准线

10.2 诊断点清单

系统应嵌入的多层级经营诊断能力:

诊断维度 诊断内容 触发时机
商机诊断 信息缺失导致赢率低、跟进滞缓、金额异常 商机跟进过程中实时
客户诊断 关键联系人缺失、长期无商机、组织架构未覆盖 客户视图查看时
联系人诊断 决策人未有效拜访、关键部门未建联 联系人关联分析
项目执行进程诊断 交付延期、成本超预算、验收卡点 PMO 域项目执行中
销售记录有效性判断 AI 自动判断拜访是否有效(是否获取客户反馈、明确需求等) 每次销售记录提交时
运营周报 自动生成,诊断商机健康度,给出重点工作建议 每周定时

10.3 经营卡 (S2M 经营动作推荐)

  • 将标准销售动作转化为 AI 指导工具,嵌入客户/联系人/商机视图
  • 自动提示下一步应建联的对象或推进的产品
  • 通过回写系统记录验证销售是否落实了 AI 建议的动作
  • 形成公司级上下文积累,确保 L to O 环节闭环管理

10.4 审批时效追踪

全流程审批效率监控,跨所有审批节点:

要点 说明
及时率统计 实时统计各级审批的及时率(如某销售本周有多少商机停留超时)
基准线 基于历史数据设定审批时效基准(如 24 小时内审完)
考核扣分 超过基准的慢速审批纳入考核
周报推送 每周推送未及时处理商机的名单

10.5 过桥项目 / 特殊业务类型

  • 针对借主体签署等"过单"特殊场景,设立独立的"其他业务类型"选项
  • 虽走完整链路,但可配置简化的审批流
  • 管理员可通过配置临时将某角色定义为特定审批角色以适配特殊审批链路

核心原则: 每个域独立演进,但数据边界必须从一开始就清晰——哪个域拥有哪个事实、谁写谁读、通过什么事件通信,这些定下来后,代码可以逐步迁移。