Skip to content

CRM 客户管理 PRD

文档信息

项目内容
产品名称PMForge - CRM 客户管理
文档版本v2.0
创建日期2026-09-24
最后更新2026-09-24
文档状态评审中
优先级P0

一、功能概述

1.1 功能定位

通俗理解:把 CRM 想象成一个"智能客户管家"。就像一家餐厅有一个超级厉害的经理——他记得每位客人的名字、口味偏好、上次来吃了什么、什么时候该打电话邀请客人再来。CRM 就是给销售团队用的这样的"管家系统":它帮你记住每一个客户是谁、聊了什么、谈到哪一步了、签了多少钱的合同、还欠多少款没收回,让销售不再靠脑子记、靠 Excel 管。

CRM 客户管理模块是 PMForge 企业应用层的核心模块,覆盖从客户获取、商机跟进、合同签订到回款闭环的完整销售链路。模块通过公海池机制确保客户资源不被浪费,通过多维度统计帮助管理层做出数据驱动的决策。

使用频率预估

功能预计使用频率典型用户
客户管理(增删改查)每日高频销售人员
商机跟进与阶段推进每日高频销售人员
合同管理每周中频销售人员、销售经理
回款管理每周中频销售人员、财务
公海池管理每日中频销售经理、销售人员
统计分析每周低频管理层、销售经理

1.2 目标用户

用户类型使用场景核心诉求
销售人员客户录入、商机跟进、合同签订、回款跟踪高效管理客户,不漏跟进,快速成交
销售经理团队客户分配、业绩监控、公海管理掌控团队业绩,合理分配资源
客服人员查询客户信息、了解合作历史快速响应客户服务需求
管理层销售漏斗分析、业绩排名、趋势判断数据驱动决策,发现业务瓶颈
系统管理员系统配置、权限管理、数据备份系统稳定运行,数据安全可控

1.3 业务价值

价值维度具体收益衡量指标
提升销售效率自动化跟进提醒,减少遗忘客户跟进遗漏率降低 80%
优化资源利用公海池机制防止客户资源闲置客户资源利用率提升 30%
精准数据决策多维度统计报表,漏斗分析商机转化率可量化追踪
规范销售流程标准化阶段推进,流程可复制新人上手周期缩短 50%
增强团队协作客户信息共享,避免撞单客户冲突事件降为 0

1.4 功能范围

功能分类后台管理端前台用户端
客户管理(CRUD、导入导出、转移、锁定)✅(仅本人)
联系人管理✅(仅本人)
商机管理(阶段推进、赢单/输单)✅(仅本人)
合同管理(审批、归档)✅(仅本人)
回款管理(计划、记录、审批)✅(仅本人)
跟进记录
公海池管理(规则、领取、回收)✅(领取)
CRM 统计分析

二、用户场景

2.1 用户角色

角色描述核心诉求
销售人员小赵一线业务员,每天跟进 20+ 客户不忘跟进、快速找到客户信息、高效推进商机
销售经理老李管理 8 人销售团队监控团队进度、合理分配客户、及时发现问题
客服专员小周处理客户售后问题快速查到客户背景和历史合作情况
销售总监王总统管全公司销售业务看全局数据、做战略决策、发现增长机会

2.2 使用场景

场景1:销售人员小赵录入新客户并开始跟进

前置条件:小赵在展会上收集了一批潜在客户名片

操作流程

  1. 小赵登录系统 → 进入"客户管理" → 点击"新建客户"
  2. 填写客户基本信息:公司名称"杭州星辰科技有限公司"、联系人"张总"、手机、邮箱
  3. 选择客户来源为"展会"、行业为"互联网"
  4. 保存后系统自动生成客户编号 CUS20260924001
  5. 小赵在客户详情中点击"新建跟进" → 记录初次电话沟通内容
  6. 设置下次跟进时间为 3 天后
  7. 发现客户有采购意向 → 点击"创建商机" → 关联该客户

期望结果:客户信息完整录入、跟进提醒准时触发、商机与客户自动关联

验收标准(AC)

  1. 客户编号按 CUS + 年月日 + 4位序号 格式自动生成,全局唯一
  2. 客户名称在同一租户内不可重复,重复时提示"该客户名称已存在"
  3. 保存后客户默认状态为"正常",负责人为当前操作人
  4. 跟进记录保存后自动更新客户的"最后跟进时间"和"跟进状态"
  5. 下次跟进时间到达时,系统在消息中心推送提醒给负责人

场景2:销售人员小赵推进商机阶段直到赢单

前置条件:小赵有一个进行中的商机"星辰科技ERP采购项目"

操作流程

  1. 小赵进入商机详情 → 查看当前阶段"需求分析"和跟进历史
  2. 完成需求调研后 → 点击"推进阶段" → 选择"方案报价"
  3. 填写推进说明,上传方案文档附件
  4. 更新预计成交金额为 50 万、预计成交日期为 2026-11-30
  5. 经过多轮谈判 → 推进到"商务谈判"阶段
  6. 客户确认合作 → 点击"赢单" → 填写实际成交金额 48 万
  7. 系统提示"是否创建合同" → 小赵确认 → 自动创建合同草稿

期望结果:商机阶段清晰推进、赢单后自动生成合同、历史推进记录完整可追溯

验收标准(AC)

  1. 商机阶段按"初步接触→需求分析→方案报价→商务谈判→赢单/输单"顺序流转,不可跳级
  2. 每次阶段推进记录操作人、操作时间、推进说明,形成完整时间线
  3. 赢单后商机状态变为"已赢单",不可再推进阶段
  4. 赢单后创建合同草稿时,自动带入客户信息、商机名称、成交金额
  5. 商机从创建到赢单的总天数自动统计,用于后续分析

场景3:销售经理老李管理公海池

前置条件:公海规则配置为"超过 30 天未跟进自动回收"

操作流程

  1. 老李进入"客户公海"页面 → 查看公海中可领取的客户列表
  2. 发现有 15 个客户在公海中 → 将其中 3 个分配给团队成员小赵
  3. 系统提示小赵"您有 3 个新分配的客户"
  4. 小赵一周内未跟进某客户 → 系统发出"即将回收"预警
  5. 超过 30 天仍未跟进 → 系统自动将该客户回收到公海
  6. 另一位销售人员小王在公海中看到该客户 → 点击"领取"
  7. 系统校验小王的持有客户数未达上限 → 领取成功

期望结果:公海流转顺畅、客户资源不浪费、规则自动执行

验收标准(AC)

  1. 公海回收任务每日凌晨自动执行,按规则匹配超时客户
  2. 回收前 3 天向负责人发送预警消息:"您的客户 XX 将在 3 天后被回收到公海"
  3. 每位销售人员持有客户数上限为 200(可配置),达到上限时无法领取
  4. 同一客户被回收后 15 天内不可被同一人重复领取
  5. 公海客户列表按进入公海时间排序,支持按行业、地区筛选

场景4:合同签订与回款跟踪

前置条件:商机"星辰科技ERP采购项目"已赢单

操作流程

  1. 小赵创建合同 → 填写合同名称、金额 48 万、签约日期、服务期限
  2. 关联客户和商机 → 添加合同产品明细(3 项产品)
  3. 设置回款计划:首付 30%(14.4万)签约后 7 天、中期 50%(24万)交付后 30 天、尾款 20%(9.6万)验收后 15 天
  4. 提交合同审批 → 销售经理审批通过 → 财务审批通过 → 合同归档
  5. 首付款到期前 7 天 → 系统推送回款提醒给小赵
  6. 客户支付首付 → 小赵创建回款记录 → 关联回款计划 → 提交审批
  7. 财务确认回款 → 审批通过 → 回款计划状态更新为"部分回款"

期望结果:合同审批流程清晰、回款计划自动提醒、回款进度实时可查

验收标准(AC)

  1. 合同编号按 CON + 年月日 + 4位序号 格式自动生成
  2. 回款计划总金额必须等于合同金额,否则无法保存
  3. 回款计划到期前 7 天自动推送提醒给负责人
  4. 回款记录审批通过后,自动累加到对应计划的"已回款金额"
  5. 当已回款金额 ≥ 计划金额时,计划状态自动变为"已回款"

场景5:销售总监王总查看统计报表

前置条件:系统中已有 3 个月的销售数据

操作流程

  1. 王总进入"CRM 统计"页面 → 查看概览面板
  2. 本月新增客户 45 个、新增商机 28 个、签约合同 12 个、合同金额 320 万、回款 180 万
  3. 查看"客户漏斗" → 初步接触 100 → 需求分析 60 → 方案报价 35 → 商务谈判 20 → 赢单 12
  4. 查看"商机转化分析" → 整体赢单率 12%、平均成交周期 45 天
  5. 查看"销售排名" → 小赵本月签约 80 万排第一
  6. 查看"回款统计" → 回款完成率 56%、逾期金额 50 万

期望结果:数据准确、图表直观、支持钻取到明细

验收标准(AC)

  1. 统计数据延迟不超过 5 分钟
  2. 漏斗各阶段数据可点击钻取,查看该阶段的客户/商机列表
  3. 销售排名支持按签约金额、回款金额、新增客户数排序
  4. 回款统计中逾期金额标红显示,可点击查看逾期明细
  5. 支持按时间范围(本周/本月/本季/本年)和部门维度筛选

三、功能需求

3.1 客户管理

功能描述

提供客户全生命周期管理能力,包括客户信息的创建、编辑、删除、查询、导入导出、转移、锁定、放入公海等操作。客户是 CRM 的核心实体,所有商机、合同、回款都围绕客户展开。

页面原型

客户管理列表

客户详情

业务规则

规则说明设计原因
客户名称唯一同一租户内客户名称不可重复避免同一客户被重复录入导致撞单
编号自动生成格式:CUS + 年月日 + 4位序号统一编号规范,便于识别和检索
客户状态三态正常 / 锁定 / 公海区分客户资源归属状态
编辑权限限制仅负责人和上级管理者可编辑保护客户数据安全,防止误操作
转移需记录历史转移操作写入转移日志客户归属变更可追溯
放入公海清权限原负责人失去该客户的所有权限确保客户资源彻底释放
锁定防修改锁定后除管理员外无人可编辑争议客户或特殊客户的保护机制
逻辑删除删除后数据保留 30 天可恢复防止误删造成不可挽回的损失

状态机

客户状态机

接口列表

接口名称请求方式接口路径说明
查询客户分页列表GET/admin-api/crm/customer/list支持名称、类型、行业、状态、负责人筛选
查询客户详情GET/admin-api/crm/customer/获取客户完整信息及关联统计
创建客户POST/admin-api/crm/customer/create创建新客户
修改客户PUT/admin-api/crm/customer/update更新客户信息
删除客户DELETE/admin-api/crm/customer/delete/逻辑删除
批量删除DELETE/admin-api/crm/customer/batch-delete批量逻辑删除
导入客户POST/admin-api/crm/customer/importExcel 导入
导出客户GET/admin-api/crm/customer/export导出 Excel
下载导入模板GET/admin-api/crm/customer/import-template下载标准模板
转移客户POST/admin-api/crm/customer/transfer转移负责人
锁定客户PUT/admin-api/crm/customer/lock/锁定客户
解锁客户PUT/admin-api/crm/customer/unlock/解锁客户
放入公海POST/admin-api/crm/customer/pool/将客户放入公海
获取客户下拉GET/admin-api/crm/customer/options用于其他模块下拉选择

3.2 联系人管理

功能描述

管理客户关联的联系人信息。一个客户可以有多个联系人,其中一个是主联系人。联系人是与客户沟通的具体对象。

业务规则

规则说明设计原因
必须关联客户联系人不可独立存在联系人是客户的附属实体
至少一种联系方式电话和邮箱至少填一项确保后续能联系到人
主联系人唯一每个客户只能设一个主联系人明确首要沟通对象
逻辑删除删除后保留 30 天防止误删丢失沟通记录

接口列表

接口名称请求方式接口路径说明
查询联系人列表GET/admin-api/crm/contact/list按客户 ID 筛选
查询联系人详情GET/admin-api/crm/contact/获取联系人完整信息
创建联系人POST/admin-api/crm/contact/create创建新联系人
修改联系人PUT/admin-api/crm/contact/update更新联系人信息
删除联系人DELETE/admin-api/crm/contact/delete/逻辑删除
设置主联系人PUT/admin-api/crm/contact/primary/标记为主联系人

3.3 商机管理

功能描述

管理销售商机全生命周期,从初步接触到赢单/输单的完整流程。商机是销售漏斗的核心指标,直接反映团队的成交能力。

页面原型

商机管理列表

业务规则

规则说明设计原因
必须关联客户商机不可独立存在商机必须依附于具体客户
阶段顺序流转按固定阶段顺序推进,不可跳级确保销售流程规范,不遗漏关键环节
编号自动生成格式:BUS + 年月日 + 4位序号统一编号规范
赢单可创建合同赢单后提示创建合同,自动带入信息减少重复录入,衔接合同流程
输单需填原因标记输时必须填写输单原因为后续分析提供数据支撑
阶段停留上限每阶段可配置最大停留天数超时预警,防止商机长期停滞

状态机

商机状态机

接口列表

接口名称请求方式接口路径说明
查询商机分页列表GET/admin-api/crm/business/list支持阶段、客户、负责人筛选
查询商机详情GET/admin-api/crm/business/获取商机完整信息
创建商机POST/admin-api/crm/business/create创建新商机
修改商机PUT/admin-api/crm/business/update更新商机信息
删除商机DELETE/admin-api/crm/business/delete/逻辑删除
推进阶段POST/admin-api/crm/business/stage/推进到下一阶段
标记赢单POST/admin-api/crm/business/won/标记为赢单
标记输单POST/admin-api/crm/business/lost/标记为输单
放弃商机POST/admin-api/crm/business/abandon/放弃商机
创建合同POST/admin-api/crm/business/create-contract/赢单后创建合同

3.4 合同管理

功能描述

管理销售合同的创建、审批、归档全流程。合同是商业成交的法律凭证,需要严格的审批流程控制。合同审批集成工作流模块(03-01)。

页面原型

合同管理列表

业务规则

规则说明设计原因
必须关联客户合同不可无客户合同必须有明确的甲方
可关联商机合同可选关联来源商机追踪商机的最终转化结果
编号自动生成格式:CON + 年月日 + 4位序号统一编号规范
审批流程可配审批节点和流程通过工作流配置不同企业审批要求不同
金额自动计算合同金额 = 产品明细总价避免手工计算出错
归档后不可编辑已归档合同信息锁定保证合同数据的法律效力

状态机

合同状态机

接口列表

接口名称请求方式接口路径说明
查询合同分页列表GET/admin-api/crm/contract/list支持状态、客户、负责人筛选
查询合同详情GET/admin-api/crm/contract/获取合同完整信息
创建合同POST/admin-api/crm/contract/create创建新合同
修改合同PUT/admin-api/crm/contract/update更新合同信息
删除合同DELETE/admin-api/crm/contract/delete/逻辑删除(仅草稿状态)
提交审批POST/admin-api/crm/contract/approve/submit/提交合同审批流程
归档合同POST/admin-api/crm/contract/archive/归档已审批合同
作废合同POST/admin-api/crm/contract/void/作废已归档合同

3.5 回款管理

功能描述

管理合同回款的计划和实际回款记录。回款计划定义"什么时候该收多少钱",回款记录记录"实际收了多少钱"。回款是销售闭环的最后一公里。

业务规则

规则说明设计原因
计划总额 = 合同金额回款计划总金额必须等于合同金额确保合同金额被完全分解到各期
到期前 7 天提醒自动推送回款提醒防止遗忘导致逾期
回款累加计算每次回款累加到已回款金额支持分期多次回款
状态自动流转已回款 ≥ 计划金额时自动变为"已回款"减少人工操作
回款记录不可删除只能作废,不能物理删除财务数据审计要求
大额回款需审批超过阈值(如 10 万)需审批财务风控要求

状态机 - 回款计划

回款状态机

接口列表

接口名称请求方式接口路径说明
查询回款计划列表GET/admin-api/crm/receivable/plan/list按合同 ID 筛选
创建回款计划POST/admin-api/crm/receivable/plan/create创建回款计划
修改回款计划PUT/admin-api/crm/receivable/plan/update更新计划信息
删除回款计划DELETE/admin-api/crm/receivable/plan/delete/逻辑删除
查询回款记录列表GET/admin-api/crm/receivable/list按计划/合同/客户筛选
创建回款记录POST/admin-api/crm/receivable/create记录实际回款
作废回款记录POST/admin-api/crm/receivable/void/作废错误回款记录
提交回款审批POST/admin-api/crm/receivable/approve/submit/提交审批

3.6 跟进记录管理

功能描述

记录对客户、商机、合同的所有跟进活动,支持电话、邮件、拜访、微信等多种跟进方式。跟进记录以时间线形式展示,形成完整的客户沟通历史。

业务规则

规则说明设计原因
可关联多种实体跟进记录可关联客户、商机、合同同一沟通可能涉及多个维度
自动更新客户创建跟进后自动更新客户最后跟进时间减少手工操作,保证数据实时性
记录不可删除跟进记录一旦创建不可删除保证沟通历史的完整性和可追溯性
支持附件每条跟进可附带文件保存沟通中产生的方案、纪要等文档

接口列表

接口名称请求方式接口路径说明
查询跟进记录列表GET/admin-api/crm/followup/list按客户/商机/合同筛选
创建跟进记录POST/admin-api/crm/followup/create创建跟进记录
修改跟进记录PUT/admin-api/crm/followup/update/更新跟进内容(限当日)

3.7 公海池管理

功能描述

管理客户公海池,实现客户资源的自动分配和回收。公海池是 CRM 中确保客户资源不被浪费的核心机制——"占着茅坑不拉屎"的客户会被自动释放给更有精力跟进的人。

页面原型

公海池管理

业务规则

规则说明设计原因
回收规则可配支持按跟进超时、成交超时等条件配置不同业务节奏不同
自动回收定时执行每日凌晨自动扫描并回收超时客户减少人工干预
领取数量上限每人最多持有 200 个客户(可配)防止囤积客户不跟进
回收预警超时前 3 天向负责人预警给负责人最后的跟进机会
防重复领取同一客户被回收后 15 天内不可被同一人领取防止"抢了又放"的恶性循环
支持部门公海除全局公海外可设部门级公海大团队需要分层管理

接口列表

接口名称请求方式接口路径说明
查询公海客户列表GET/admin-api/crm/pool/list查看公海中可领取的客户
领取客户POST/admin-api/crm/pool/claim/从公海领取客户
批量领取POST/admin-api/crm/pool/batch-claim批量领取客户
分配客户POST/admin-api/crm/pool/assign管理员手动分配
手动回收POST/admin-api/crm/pool/reclaim/手动回收客户到公海
查询公海规则列表GET/admin-api/crm/pool/rule/list获取回收规则
创建公海规则POST/admin-api/crm/pool/rule/create新增回收规则
修改公海规则PUT/admin-api/crm/pool/rule/update更新规则配置
删除公海规则DELETE/admin-api/crm/pool/rule/delete/删除规则

3.8 CRM 统计分析

功能描述

提供多维度的 CRM 数据统计和分析报表,帮助管理层洞察销售状况、发现业务瓶颈。

页面原型

CRM统计分析

接口列表

接口名称请求方式接口路径说明
获取概览数据GET/admin-api/crm/statistics/overview今日/本周/本月概览
客户漏斗统计GET/admin-api/crm/statistics/funnel各阶段转化数据
商机转化统计GET/admin-api/crm/statistics/conversion赢单率、平均周期
合同金额统计GET/admin-api/crm/statistics/contract-amount金额趋势、排名
回款统计GET/admin-api/crm/statistics/receivable完成率、逾期分析
销售排名GET/admin-api/crm/statistics/ranking业绩排行榜

3.9 用户前台功能

功能描述

为普通用户提供个人 CRM 工作台,管理自己负责的客户和业务,支持移动端使用。

接口列表

接口名称请求方式接口路径说明
我的客户列表GET/app-api/crm/my/customer/list我负责的客户
我的商机列表GET/app-api/crm/my/business/list我的商机
我的合同列表GET/app-api/crm/my/contract/list我的合同
我的跟进记录GET/app-api/crm/my/followup/list我的跟进
我的日程提醒GET/app-api/crm/my/reminder/list跟进/回款提醒
创建跟进记录POST/app-api/crm/my/followup/create快捷创建跟进
领取公海客户POST/app-api/crm/my/pool/claim/从公海领取

四、非功能需求

4.1 性能需求

指标要求实现策略
客户列表查询≤ 500ms合理索引 + 分页查询 + 数据权限 SQL 优化
客户详情加载≤ 300ms关联数据按需加载,避免 N+1 查询
导入 1000 条客户≤ 30s异步导入 + 批量插入 + 进度反馈
导出 10000 条≤ 60s异步导出 + 流式写入 + 完成后通知
统计报表生成≤ 2s预计算 + 缓存 + 定时汇总
公海回收任务5 分钟内完成批量处理 + 分批提交 + 事务控制
并发支持≥ 500 用户读写分离 + 连接池优化

4.2 安全需求

安全项要求实现方式
数据权限用户只能看自己的客户基于 MyBatis Plus 数据权限插件,按负责人/部门/全部三级控制
字段权限敏感字段可限制查看合同金额、客户联系方式等字段可按角色控制可见性
操作审计所有增删改记录日志集成日志审计模块(01-08),记录操作人、时间、变更内容
防重复提交表单不可重复提交前端防抖 + 后端幂等 Token
导入安全文件上传校验格式白名单(xlsx/xls)、大小限制(10MB)、内容安全扫描
数据备份每日自动备份定时任务 + 增量备份 + 异地存储

4.3 可用性需求

场景处理方式
并发领取同一公海客户乐观锁控制,仅一人成功,其他人提示"该客户已被领取"
导入数据部分失败成功部分入库,失败部分生成错误报告供下载
审批流程异常审批节点超时自动提醒,支持管理员干预流转

4.4 错误码定义

错误码含义处理建议
CRM_CUST_001客户名称已存在提示用户检查是否重复录入
CRM_CUST_002客户已被锁定提示联系管理员解锁
CRM_CUST_003客户已在公海中提示该客户无当前负责人
CRM_POOL_001持有客户数已达上限提示先跟进或释放现有客户
CRM_POOL_00215天内不可重复领取提示冷却期剩余天数
CRM_BIZ_001商机阶段不可回退提示阶段只能顺序推进
CRM_BIZ_002商机已终结提示赢单/输单/放弃后不可再操作
CRM_CON_001回款计划总额不等于合同金额提示调整各期金额使总额匹配
CRM_CON_002合同已归档不可编辑提示需先取消归档才能修改

五、数据设计

5.1 数据表概览

表名说明预估记录数
crm_customer客户表10 万+
crm_contact联系人表50 万+
crm_business商机表20 万+
crm_business_product商机产品表50 万+
crm_contract合同表10 万+
crm_contract_product合同产品表30 万+
crm_receivable_plan回款计划表30 万+
crm_receivable回款记录表50 万+
crm_follow_up_record跟进记录表100 万+
crm_customer_pool客户公海表5 万+
crm_customer_pool_rule公海规则表100+
crm_customer_transfer_log客户转移日志表20 万+

5.2 表关系

CRM表关系

5.3 缓存策略

缓存 Key缓存内容过期时间更新策略
crm:pool:count公海客户总数10 分钟领取/回收时主动失效
crm:statistics:overview:统计概览数据5 分钟定时刷新
crm:pool:rule:list公海规则列表30 分钟规则变更时主动失效
crm:customer:options:客户下拉列表5 分钟客户变更时主动失效
crm:follow:reminder:用户跟进提醒列表1 分钟创建跟进时主动失效

5.4 核心表结构

crm_customer 客户表

字段名字段类型是否必填说明
idBIGINT主键 ID
customer_noVARCHAR(32)客户编号(唯一索引)
customer_nameVARCHAR(200)客户名称
customer_typeTINYINT客户类型:1企业 2个人
industryVARCHAR(50)所属行业
regionVARCHAR(100)所在地区
addressVARCHAR(500)详细地址
phoneVARCHAR(20)联系电话
emailVARCHAR(100)邮箱地址
websiteVARCHAR(200)公司网站
credit_levelTINYINT信用等级 1-5
sourceTINYINT客户来源:1展会 2网络 3推荐 4广告 5其他
statusTINYINT状态:1正常 2锁定 3公海
owner_user_idBIGINT负责人用户 ID
department_idBIGINT所属部门 ID
follow_up_statusTINYINT跟进状态:1已跟进 2未跟进 3已成交
last_follow_timeDATETIME最后跟进时间
next_follow_timeDATETIME下次跟进时间
lock_timeDATETIME锁定时间
lock_user_idBIGINT锁定操作人 ID
pool_enter_timeDATETIME进入公海时间
remarkTEXT备注
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_business 商机表

字段名字段类型是否必填说明
idBIGINT主键 ID
business_noVARCHAR(32)商机编号(唯一索引)
business_nameVARCHAR(200)商机名称
customer_idBIGINT关联客户 ID
customer_nameVARCHAR(200)客户名称(冗余)
stageTINYINT阶段:1初步接触 2需求分析 3方案报价 4商务谈判 5赢单 6输单
statusTINYINT状态:1进行中 2已赢单 3已输单 4已放弃
expected_amountDECIMAL(15,2)预计成交金额
actual_amountDECIMAL(15,2)实际成交金额(赢单时填写)
expected_dateDATE预计成交日期
owner_user_idBIGINT负责人 ID
department_idBIGINT所属部门 ID
sourceTINYINT商机来源
priorityTINYINT优先级:1低 2中 3高 4紧急
win_rateINT赢单概率(%)
lost_reasonTEXT输单原因
contract_idBIGINT关联合同 ID(赢单后创建)
stage_enter_timeDATETIME进入当前阶段时间
stage_days_limitINT当前阶段最大停留天数
remarkTEXT备注
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_contract 合同表

字段名字段类型是否必填说明
idBIGINT主键 ID
contract_noVARCHAR(32)合同编号(唯一索引)
contract_nameVARCHAR(200)合同名称
customer_idBIGINT关联客户 ID
business_idBIGINT关联商机 ID
contract_amountDECIMAL(15,2)合同金额
received_amountDECIMAL(15,2)已回款金额(冗余汇总)
sign_dateDATE签约日期
start_dateDATE合同开始日期
end_dateDATE合同结束日期
statusTINYINT状态:1草稿 2审批中 3已审批 4已归档 5已作废
owner_user_idBIGINT负责人 ID
department_idBIGINT所属部门 ID
approve_user_idBIGINT审批人 ID
approve_timeDATETIME审批时间
process_instance_idVARCHAR(64)工作流实例 ID
remarkTEXT备注
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_receivable_plan 回款计划表

字段名字段类型是否必填说明
idBIGINT主键 ID
contract_idBIGINT关联合同 ID
plan_noVARCHAR(32)计划编号
plan_amountDECIMAL(15,2)计划金额
plan_dateDATE计划回款日期
return_methodTINYINT回款方式:1现金 2转账 3支票
received_amountDECIMAL(15,2)已回款金额,默认 0
statusTINYINT状态:1未回款 2部分回款 3已回款
remarkTEXT备注
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_receivable 回款记录表

字段名字段类型是否必填说明
idBIGINT主键 ID
receivable_noVARCHAR(32)回款编号
plan_idBIGINT关联回款计划 ID
contract_idBIGINT关联合同 ID
customer_idBIGINT关联客户 ID
return_amountDECIMAL(15,2)回款金额
return_dateDATE实际回款日期
return_methodTINYINT回款方式:1现金 2转账 3支票
statusTINYINT状态:1待审批 2已审批 3已驳回 4已作废
approve_user_idBIGINT审批人 ID
approve_timeDATETIME审批时间
remarkTEXT备注
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_follow_up_record 跟进记录表

字段名字段类型是否必填说明
idBIGINT主键 ID
customer_idBIGINT关联客户 ID
business_idBIGINT关联商机 ID
contract_idBIGINT关联合同 ID
follow_typeTINYINT跟进方式:1电话 2邮件 3拜访 4微信 5其他
follow_contentTEXT跟进内容
follow_timeDATETIME跟进时间
next_follow_timeDATETIME下次跟进时间
attachmentVARCHAR(500)附件 URL
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_customer_pool 客户公海表

字段名字段类型是否必填说明
idBIGINT主键 ID
customer_idBIGINT客户 ID(唯一索引)
pool_typeTINYINT公海类型:1全局公海 2部门公海
department_idBIGINT部门 ID(部门公海时使用)
enter_timeDATETIME进入公海时间
reasonTINYINT进入原因:1主动放入 2自动回收 3手动回收
statusTINYINT状态:1在公海 2已领取
claim_user_idBIGINT领取人 ID
claim_timeDATETIME领取时间
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
tenant_idBIGINT租户 ID

crm_customer_pool_rule 公海规则表

字段名字段类型是否必填说明
idBIGINT主键 ID
rule_nameVARCHAR(100)规则名称
rule_typeTINYINT规则类型:1跟进超时 2成交超时 3自定义
days_limitINT天数限制
scope_typeTINYINT适用范围:1全部 2指定部门
department_idsVARCHAR(500)部门 ID 列表(逗号分隔)
statusTINYINT状态:1启用 2禁用
creatorVARCHAR(64)创建者
create_timeDATETIME创建时间
updaterVARCHAR(64)更新者
update_timeDATETIME更新时间
deletedBIT是否删除
tenant_idBIGINT租户 ID

crm_customer_transfer_log 客户转移日志表

字段名字段类型是否必填说明
idBIGINT主键 ID
customer_idBIGINT客户 ID
from_user_idBIGINT原负责人 ID
to_user_idBIGINT新负责人 ID
transfer_typeTINYINT转移类型:1手动转移 2公海领取 3自动分配
reasonVARCHAR(500)转移原因
creatorVARCHAR(64)操作人
create_timeDATETIME操作时间
tenant_idBIGINT租户 ID

六、跨模块联动

6.1 联动关系总览

联动模块联动方式数据流向
工作流管理(03-01)合同审批、回款审批调用工作流引擎CRM → 工作流
消息通知(02-03)跟进提醒、回款提醒、审批通知CRM → 消息通知
统计分析(02-05)CRM 数据汇入全局统计CRM → 统计
认证授权(01-01)用户信息、部门信息、角色权限系统管理 → CRM
日志审计(01-08)操作日志记录CRM → 审计
文件存储(02-02)导入导出文件、跟进附件CRM → 文件存储
商城-商品管理(06-01)商机/合同产品关联商品主数据商城 → CRM
钱包管理(04-02)回款到账后更新钱包余额CRM → 钱包

6.2 详细联动说明

CRM ↔ 工作流管理(03-01)

联动场景触发条件联动行为数据流向
合同审批销售提交合同审批创建工作流实例,按配置的审批流程流转CRM 合同 → 工作流
回款审批销售提交回款审批创建工作流实例,财务审批CRM 回款 → 工作流
审批结果回写工作流审批完成回写合同/回款状态工作流 → CRM

CRM → 消息通知(02-03)

联动场景触发条件联动行为
跟进提醒到达下次跟进时间推送系统消息给负责人
回款提醒回款计划到期前 7 天推送系统消息 + 邮件给负责人
公海回收预警客户即将触发回收(前 3 天)推送预警消息给负责人
审批通知有新的审批待处理推送消息给审批人
客户分配通知管理员分配客户给某人推送消息给被分配人

CRM → 钱包管理(04-02)

联动场景触发条件联动行为
回款到账回款记录审批通过更新对应客户的钱包余额(如有预付款场景)

七、附录

7.1 名词解释

术语通俗理解
CRM(Customer Relationship Management)客户关系管理系统,就是帮销售团队"记住每个客户、跟进每笔生意"的工具
客户(Customer)你的目标买家,可能已经合作了,也可能还没合作
联系人(Contact)客户公司里的具体对接人,比如"张总""李经理"
商机(Business/Opportunity)一笔有可能成交的生意,比如"客户想买我们的 ERP 系统"
商机阶段(Stage)商机进展到了哪一步,就像看病——初诊→检查→开药→治疗→康复
合同(Contract)和客户签的正式合作协议,具有法律效力
回款(Receivable)客户付给你的钱,合同签了不代表钱到手了
回款计划约定"什么时候收多少钱"的时间表
公海(Pool)没人负责的客户资源池,谁有精力谁去领——就像餐厅的"等位区"
公海回收把长期不跟进的客户从销售手里"收回来"放到公海
跟进记录每次和客户沟通的记录,比如打了电话、发了邮件、上门拜访
销售漏斗(Funnel)从大量潜在客户到最终成交的层层筛选过程,越往下人越少
赢单率最终成交的商机占全部商机的比例,就像投篮命中率
主联系人客户那边最重要的对接人,通常是有决策权的人
数据权限控制谁能看到哪些数据的规则——销售只看自己的,经理看团队的,总监看全部
字段权限控制谁能看到哪些字段的规则——比如合同金额只对相关人可见
客户转移把一个客户从 A 销售手里转给 B 销售负责
租户(Tenant)使用系统的企业/组织,每个租户的数据完全隔离

7.2 权限标识汇总

权限标识说明所属角色
crm:customer:list查看客户列表销售人员、销售经理、销售总监
crm:customer:create创建客户销售人员
crm:customer:update编辑客户销售人员(仅自己)、销售经理
crm:customer:delete删除客户销售经理、销售总监
crm:customer:import导入客户销售人员、销售经理
crm:customer:export导出客户销售人员、销售经理
crm:customer:transfer转移客户销售经理、销售总监
crm:customer:lock锁定/解锁客户销售经理
crm:customer:pool放入公海销售人员、销售经理
crm:contact:list查看联系人销售人员
crm:contact:create创建联系人销售人员
crm:contact:update编辑联系人销售人员
crm:contact:delete删除联系人销售人员
crm:business:list查看商机列表销售人员、销售经理、销售总监
crm:business:create创建商机销售人员
crm:business:update编辑商机销售人员
crm:business:stage推进阶段销售人员
crm:business:won标记赢单销售人员
crm:business:lost标记输单销售人员
crm:contract:list查看合同列表销售人员、销售经理、财务
crm:contract:create创建合同销售人员
crm:contract:approve审批合同销售经理、财务
crm:contract:archive归档合同销售人员
crm:receivable:plan:list查看回款计划销售人员、财务
crm:receivable:plan:create创建回款计划销售人员
crm:receivable:create创建回款记录销售人员
crm:receivable:approve审批回款财务
crm:followup:list查看跟进记录销售人员、销售经理
crm:followup:create创建跟进记录销售人员
crm:pool:list查看公海客户销售人员、销售经理
crm:pool:claim领取客户销售人员
crm:pool:assign分配客户销售经理
crm:pool:reclaim回收客户销售经理
crm:pool:rule:list查看公海规则销售经理、销售总监
crm:pool:rule:create创建公海规则销售总监
crm:pool:rule:update编辑公海规则销售总监
crm:statistics:view查看统计报表销售经理、销售总监

文档变更记录

版本日期修改人修改内容
v1.02026-09-24PM初始版本
v2.02026-09-24PM全面重写:增强业务场景(5 个命名角色场景 + AC)、ASCII 页面原型、状态机、业务规则含设计原因、错误码、缓存策略、跨模块联动、名词解释通俗化