编辑 | blame | 历史 | 原始文档

CRM 与 ERP 销售流程全景图

一、整体业务流程

┌─────────────────────────────────────────────────────────────────────────────────────┐
│                           CRM 销售线索管理(前端)                                    │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│   线索(clue) ──转化──► 客户(customer) ──跟进──► 商机(business)                       │
│       │                 │                    │                                      │
│       │                 │                    │                                      │
│       ▼                 ▼                    ▼                                      │
│   线索入库          客户公海池            商机状态推进                               │
│   线索分配          客户锁定              赢单/输单                                 │
│                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│                           CRM 销售报价与合同(新增)                                  │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│   销售报价(quotation) ──BPM审批──► 合同(contract)                                   │
│       │                      │              │                                       │
│       │                      │              │                                       │
│       ▼                      ▼              ▼                                       │
│   创建报价单            审批通过          合同签订                                   │
│   选择MDM物料           审批拒绝          合同审批                                   │
│   提交审批              审批取消          生成订单                                   │
│   转为合同                               关联商机                                   │
│                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│                           ERP 销售订单与执行                                         │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│   销售订单(order) ──► 销售出库(out) ──► 销售退货(return)                            │
│       │                   │                  │                                      │
│       │                   │                  │                                      │
│       ▼                   ▼                  ▼                                      │
│   订单审批             出库审核            退货审核                                 │
│   关联合同             出库单号            退货单号                                 │
│   选择MDM物料          出库数量            退货数量                                 │
│                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│                           ERP 财务收款                                               │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│   收款单(receipt) ──► 收款核销                                                       │
│       │                                                                              │
│       ▼                                                                              │
│   关联销售订单                                                                        │
│   关联CRM客户                                                                         │
│   收款金额                                                                            │
│                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────┘

二、数据流转详解

2.1 客户数据(统一来源)

模块 数据来源 说明
CRM 客户 crm_customer 唯一客户数据源
ERP 销售订单 crm_customer (通过 API) 使用 CRM 客户
ERP 销售出库 crm_customer (通过 API) 使用 CRM 客户
ERP 销售退货 crm_customer (通过 API) 使用 CRM 客户
ERP 收款单 crm_customer (通过 API) 使用 CRM 客户

关键 APICrmCustomerApi
- /rpc-api/crm/customer/get - 获取单个客户
- /rpc-api/crm/customer/list-by-ids - 批量获取客户
- /rpc-api/crm/customer/validate - 校验客户存在

2.2 物料数据(统一来源)

模块 数据来源 说明
MDM 物料 mdm_item 唯一物料数据源
销售报价 mdm_item (通过 API) 使用 MDM 物料
CRM 合同 mdm_item (通过 API) 使用 MDM 物料
ERP 销售订单 mdm_item (通过 API) 使用 MDM 物料

关键 APIMdmItemApi
- /rpc-api/mdm/item/get - 获取物料
- /rpc-api/mdm/item/list - 批量获取物料
- /rpc-api/mdm/item/validate-item-exists - 校验物料存在


三、详细流程图

3.1 CRM 销售报价流程(新增)

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   创建报价单  │────►│   提交审批    │────►│   BPM审批    │────►│   审批通过    │
│              │     │              │     │              │     │              │
│ 选择客户     │     │ 选择流程     │     │ 审批中状态   │     │ 已通过状态   │
│ 选择MDM物料  │     │ 动态选择     │     │ status=10   │     │ status=20   │
│ 填写报价金额 │     │              │     │              │     │              │
│ 可关联商机   │     │              │     │              │     │              │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                                                                   │
                                                                   ▼
┌──────────────┐     ┌──────────────┐
│   转为合同    │────►│   合同生成    │
│              │     │              │
│ 物料直接复制 │     │ 合同审批流程 │
│ 字段一致     │     │ 生成销售订单 │
│ 状态=50     │     │              │
└──────────────┘     └──────────────┘

状态流转

状态值 状态名 可操作
0 草稿 编辑、删除、提交审批
10 审批中
20 已通过 转合同
30 已拒绝 重新提交
40 已取消
50 已转合同 查看合同

3.2 CRM 合同流程

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   创建合同    │────►│   提交审批    │────►│   BPM审批    │────►│   审批通过    │
│              │     │              │     │              │     │              │
│ 选择客户     │     │ 固定流程Key  │     │ 审批中状态   │     │ 已通过状态   │
│ 选择MDM物料  │     │ crm-contract │     │ auditStatus │     │ auditStatus │
│ 合同金额     │     │ -audit       │     │   =10       │     │   =20       │
│ 可关联商机   │     │              │     │              │     │              │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                                                                   │
                                                                   ▼
                                                            ┌──────────────┐
                                                            │ 生成销售订单  │
                                                            │              │
                                                            │ ERP订单创建  │
                                                            │ 关联合同编号 │
                                                            │ 物料明细复制 │
                                                            └──────────────┘

3.3 ERP 销售订单流程

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   创建订单    │────►│   订单审批    │────►│   审批通过    │────►│   销售出库    │
│              │     │              │     │              │     │              │
│ CRM客户      │     │ ERP审批流程  │     │ 可执行出库   │     │ 出库单生成   │
│ MDM物料      │     │              │     │              │     │ 出库数量累计 │
│ 关联合同(可) │     │              │     │              │     │              │
│ 订单金额     │     │              │     │              │     │              │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                                                                   │
                                                                   ▼
                                                            ┌──────────────┐
                                                            │   收款核销    │
                                                            │              │
                                                            │ 收款单创建   │
                                                            │ 关联订单     │
                                                            │ 收款金额累计 │
                                                            └──────────────┘

四、模块关系图

                    ┌─────────────────────────────────────┐
                    │           MDM 主数据模块             │
                    │                                     │
                    │  ┌─────────────┐  ┌─────────────┐  │
                    │  │ mdm_item    │  │ mdm_unit    │  │
                    │  │ (物料)      │  │ (单位)      │  │
                    │  └─────────────┘  └─────────────┘  │
                    │                                     │
                    └──────────────┬──────────────────────┘
                                   │
                                   │ MdmItemApi
                                   │
          ┌────────────────────────┼────────────────────────┐
          │                        │                        │
          ▼                        ▼                        ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   CRM 模块       │    │   ERP 模块       │    │   BPM 模块      │
│                 │    │                 │    │                 │
│ ┌─────────────┐ │    │ ┌─────────────┐ │    │ ┌─────────────┐ │
│ │crm_customer │ │    │ │erp_sale_    │ │    │ │ bpm_category│ │
│ │(客户)       │◄├────┤ │  order      │ │    │ │ (审批分类)  │ │
│ └─────────────┘ │    │ │(销售订单)   │ │    │ └─────────────┘ │
│                 │    │ └─────────────┘ │    │                 │
│ ┌─────────────┐ │    │ ┌─────────────┐ │    │ ┌─────────────┐ │
│ │crm_sale_    │ │    │ │erp_sale_    │ │    │ │ bpm_process │ │
│ │ quotation   │ │    │ │  out        │ │    │ │ _definition │ │
│ │(销售报价)   │ │    │ │(销售出库)   │ │    │ │ (流程定义)  │ │
│ └─────────────┘ │    │ └─────────────┘ │    │ └─────────────┘ │
│                 │    │                 │    │                 │
│ ┌─────────────┐ │    │ ┌─────────────┐ │    │                 │
│ │crm_contract │ │    │ │erp_finance_ │ │    │                 │
│ │(合同)       │◄├────┤ │  receipt    │ │    │                 │
│ └─────────────┘ │    │ │(收款单)     │ │    │                 │
│                 │    │ └─────────────┘ │    │                 │
│                 │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘

五、关键表结构

5.1 CRM 表

表名 说明 关键字段
crm_customer 客户主表 id, name, owner_user_id
crm_business 商机主表 id, customer_id, total_price, status_id
crm_sale_quotation 销售报价 id, no, customer_id, business_id, status
crm_sale_quotation_product 报价明细 quotation_id, item_id(MDM物料)
crm_contract 合同主表 id, no, customer_id, business_id, audit_status
crm_contract_product 合同明细 contract_id, item_id(MDM物料)

5.2 ERP 表

表名 说明 关键字段
erp_sale_order 销售订单 id, no, customer_id(CRM), contract_id
erp_sale_order_items 订单明细 order_id, item_id(MDM物料)
erp_sale_out 销售出库 id, order_id, customer_id
erp_finance_receipt 收款单 id, customer_id(CRM)

六、API 调用关系

6.1 CRM 调用 MDM

CrmSaleQuotationServiceImpl
    └─► MdmItemApi.validateItemExists(itemId)     // 校验物料存在
    └─► MdmItemApi.getItemMap(itemIds)            // 批量获取物料信息

CrmContractServiceImpl
    └─► MdmItemApi.validateItemExists(itemId)     // 校验物料存在
    └─► MdmItemApi.getItemMap(itemIds)            // 批量获取物料信息

6.2 ERP 调用 CRM

ErpSaleOrderServiceImpl
    └─► CrmCustomerApi.getCustomer(customerId)    // 获取CRM客户
    └─► CrmCustomerApi.validateCustomer(customerId) // 校验客户存在

ErpFinanceReceiptServiceImpl
    └─► CrmCustomerApi.getCustomer(customerId)    // 获取CRM客户

6.3 CRM 调用 BPM

CrmSaleQuotationServiceImpl
    └─► BpmProcessInstanceApi.createProcessInstance()  // 创建审批流程实例
    └─► BpmCategoryService.getCategoryMap()            // 获取审批分类
    └─► BpmProcessDefinitionService.getProcessDefinitionInfoListByCategory() // 获取流程定义

CrmContractServiceImpl
    └─► BpmProcessInstanceApi.createProcessInstance()  // 创建审批流程实例

七、状态枚举对照

7.1 销售报价状态 (CrmSaleQuotationStatusEnum)

枚举 说明
0 DRAFT 草稿
10 PROCESS 审批中
20 APPROVE 已通过
30 REJECT 已拒绝
40 CANCEL 已取消
50 CONVERTED 已转合同

7.2 合同审批状态 (CrmAuditStatusEnum)

枚举 说明
0 DRAFT 未提交
10 PROCESS 审批中
20 APPROVE 审核通过
30 REJECT 审核不通过
40 CANCEL 已取消

7.3 BPM 任务状态 (BpmTaskStatusEnum)

枚举 说明
2 APPROVE 审批通过
3 REJECT 审批不通过
4 CANCEL 已取消

状态映射:BPM状态 → 业务状态
- 2(APPROVE)20(已通过)
- 3(REJECT)30(已拒绝)
- 4(CANCEL)40(已取消)


八、操作权限说明

8.1 销售报价操作权限

状态 编辑 删除 提交审批 转合同
草稿(0)
审批中(10)
已通过(20)
已拒绝(30)
已转合同(50)

8.2 合同操作权限

状态 编辑 删除 提交审批 生成订单
未提交(0)
审批中(10)
已通过(20)
已拒绝(30)

九、完整业务链条示例

示例:一个客户从线索到回款的完整流程

1. 【线索阶段】
   - 销售人员录入线索 → 线索状态:待跟进
   - 线索转化为客户 → 客户创建成功

2. 【客户跟进】
   - 创建跟进记录 → 记录沟通内容
   - 创建商机 → 商机金额:100,000元
   - 商机状态推进 → 赢单

3. 【报价阶段】(新增)
   - 创建销售报价单 → 报价金额:95,000元
   - 选择MDM物料 → 物料A、物料B
   - 提交审批 → 选择审批流程
   - 审批通过 → 状态:已通过

4. 【合同阶段】
   - 报价单转合同 → 合同自动创建
   - 合同审批 → BPM审批流程
   - 审批通过 → 状态:审核通过

5. 【订单阶段】
   - 合同生成销售订单 → ERP订单创建
   - 订单关联合同 → 合同编号记录
   - 订单审批 → ERP审批流程
   - 审批通过 → 可执行出库

6. 【出库阶段】
   - 创建销售出库单 → 选择仓库
   - 出库审核 → 出库完成
   - 出库数量回写订单

7. 【收款阶段】
   - 创建收款单 → 关联订单
   - 收款金额:50,000元
   - 收款核销 → 订单收款累计

8. 【追溯查询】
   - 查询销售流程追溯 → 显示完整链条
   - 商机 → 报价 → 合同 → 订单 → 出库 → 收款

十、数据迁移注意事项

10.1 合同产品表变更

原表使用 CRM 产品,现改为 MDM 物料:

-- 新增字段
ALTER TABLE crm_contract_product
  ADD COLUMN item_id bigint COMMENT 'MDM物料编号',
  ADD COLUMN item_unit_id bigint COMMENT '计量单位编号',
  ADD COLUMN item_price decimal(24,6) COMMENT '物料原价';

-- 数据迁移(如果有映射关系)
-- UPDATE crm_contract_product SET item_id = product_id;

10.2 BPM 分类创建

需要在 BPM 管理后台创建审批分类:

INSERT INTO bpm_category (name, code, description, status, sort)
VALUES ('销售报价审批', 'sale_quotation_approve', '销售报价单审批流程分类', 0, 0);

十一、总结

统一数据源

数据类型 统一来源 使用模块
客户 CRM (crm_customer) CRM、ERP销售全流程
物料 MDM (mdm_item) 销售报价、合同、ERP订单

核心流程

客户(CRM) → 商机(CRM) → 报价(CRM+BPM) → 合同(CRM+BPM) → 订单(ERP) → 出库(ERP) → 收款(ERP)

关键改进

  1. 数据统一:客户和物料数据不再分散,统一管理
  2. 流程衔接:报价 → 合同 → 订单,数据无缝流转
  3. BPM集成:报价和合同都支持审批流程
  4. 追溯完整:从商机到回款全链条可追溯