销售总撞单、跟进全靠记忆?中小企业CRM销售管理 5 大痛点的系统化解法

销售总撞单、跟进全靠记忆?中小企业CRM销售管理 5 大痛点的系统化解法 销售总撞单、跟进全靠记忆中小企业CRM销售管理 5 大痛点的系统化解法源码1ruoyi-office-vben |源码2ruoyi-office |源码3ruoyi-office“为什么我们公司两个销售同时在跟同一家客户客户都打电话来抱怨了我才知道”“王总您让我看看本月销售业绩——稍等啊我让小张拉个 Excel。”“老板我们家小李上周离职了他名下那 80 个客户……手机号还在他个人微信里。”“签了 500 万合同的客户三个月没回款了财务才发现”——这些场景对销售总监来说太熟悉。问题的根本不是销售不努力而是没有系统化的工具去管销售这件事。本文从一位销售总监的真实一天讲起拆解中小企业销售管理的 5 大痛点和系统化解法给出可落地的实施清单与开源参考实现。▲ 销售团队管理 5 大痛点 vs 数字化解法对照客户撞单、跟进黑盒、离职带走、回款失控、报表手工 —— RuoYi Office CRM 全方位对症下药引言一位销售总监的真实一天让我们跟随某中小企业销售总监老李的一天8:50— 进公司第一件事是打开 Excel “客户分配表 V12_final_最终版.xlsx”。9:20— 客户王总打电话“你们公司怎么有三个人给我打电话是不是同时三个人在跟我” 老李脸上一阵热——明显的撞单。11:00— 跟小张确认昨天去拜访的客户进展。小张支支吾吾这个……我记得是聊到方案了他说下周再谈。具体什么时间什么方案老李问不出细节。14:30— HR 通知老李小李递了辞呈下周离职。老李一惊——小李名下还有 80 个客户、12 个商机、3 份未签合同怎么交接17:00— CFO 在群里 老李“上周到期的 50 万应收账款怎么还没收到” 老李一查原来计划本周三回款他根本没盯。18:00— 老板让老李周五下班前把本月销售业绩出一下。老李加班到 22 点从 5 个销售那里拉 Excel对了 4 个小时才汇总完。总监老李的一天反映出 5 个典型痛点。每一个都不是个例是中小企业销售管理的普遍病。系统化的解法是什么我们一个个看。痛点一客户撞单——两个销售跟同一家客户1.1 现象与代价最常见的场景A 销售刚加了客户微信B 销售也接到客户介绍准备开发。两人都不知道对方在跟同一家客户最后客户问你们公司怎么好几个人联系我——专业形象大打折扣。代价撞单导致内耗销售互相争夺影响团队氛围客户信任受损“这家公司管理混乱”重复开发成本两个销售的时间都浪费在同一个客户上1.2 系统化解法客户公海 唯一负责人把所有客户放在一个公海池里任何客户必须有且只有一个负责人。其他销售看不到这个客户自然就不会撞。关键机制机制作用公海未分配客户统一池谁都看不到细节但能看到客户名 一句话简介唯一负责人owner_user_id字段全表唯一领取制度销售从公海领客户领走即负责人锁定客户名查重新建客户时按名称查重存在重名提示拥有上限限制单个销售最多领多少客户防囤积数据权限销售只能看自己负责的从查询源头就隔离1.3 RuoYi Office 的实现// 数据权限注解销售调用 getCustomer 时AOP 自动校验是不是这个客户的负责人或被授权CrmPermission(bizTypeCrmBizTypeEnum.CRM_CUSTOMER,bizId#id,levelCrmPermissionLevelEnum.READ)publicCrmCustomerDOgetCustomer(Longid){returncustomerMapper.selectById(id);}// 拥有上限校验privatevoidvalidateCustomerExceedOwnerLimit(LonguserId,intnewCount){ListCrmCustomerLimitConfigDOlimitConfigs...;LongownerCountcustomerMapper.selectCountByDealStatusAndOwnerUserId(null,userId);limitConfigs.forEach(config-{if(ownerCountnewCountconfig.getMaxCount()){throwexception(CUSTOMER_OWNER_EXCEED_LIMIT);}});}落地效果撞单从制度上消失。客户进来之前公海里占个坑谁先领走谁负责其他销售在公海看到这个客户已被领走自动让位。痛点二跟进全靠记忆——老板不知道销售在干啥2.1 现象与代价销售今天去拜访了谁、聊到哪一步、下次什么时候联系——这些信息只在销售自己脑子里。如果销售自己忘了客户就被丢了。老板想问进展得到的永远是在跟、“在聊”、“在推进”没有任何可量化的状态。代价跟进失败率高销售自己忘了下次联系老板无法管理看不到团队真实进度客户被晾着销售人少时根本盯不住几十个客户销售离职时无法交接2.2 系统化解法跟进记录留痕 下次联系提醒每一次客户沟通电话/拜访/微信/邮件都必须在系统里留一条记录。系统按下次联系时间自动提醒销售去跟进。关键机制机制作用跟进记录每次沟通记一条类型/内容/下次联系时间/附件下次联系提醒contact_next_time字段 列表筛选/角标跟进状态follow_up_status区分在跟进和已停滞最后跟进时间一目了然看到客户最后被联系的时间关联商机/联系人跟进可同时关联多个商机和联系人多态设计同一张跟进表既能记客户也能记联系人/商机2.3 RuoYi Office 的实现跟进记录用bizType bizId多态关联TableName(crm_follow_up_record)publicclassCrmFollowUpRecordDOextendsBaseDO{privateLongid;privateIntegerbizType;// 类型客户/联系人/商机privateLongbizId;// 关联的对象 IDprivateIntegertype;// 跟进方式电话/拜访/微信/邮件...privateStringcontent;privateLocalDateTimenextTime;// 下次联系时间TableField(typeHandlerJacksonTypeHandler.class)privateListStringpicUrls;TableField(typeHandlerJacksonTypeHandler.class)privateListStringfileUrls;TableField(typeHandlerJacksonTypeHandler.class)privateListLongbusinessIds;// 关联多个商机TableField(typeHandlerJacksonTypeHandler.class)privateListLongcontactIds;// 关联多个联系人}提交跟进时自动回写客户主表的最后跟进时间和下次联系时间publicLongcreateFollowUpRecord(CrmFollowUpRecordSaveReqVOreqVO){// 1. 保存跟进记录CrmFollowUpRecordDOrecord...;followUpRecordMapper.insert(record);// 2. 回写客户主表如果是跟进客户if(CrmBizTypeEnum.CRM_CUSTOMER.getType().equals(reqVO.getBizType())){customerService.updateCustomerFollowUp(reqVO.getBizId(),LocalDateTime.now(),reqVO.getNextTime());}returnrecord.getId();}落地效果每个销售每天打开系统看到今天该联系的客户列表下次联系时间到点自动提示。客户跟进进度对老板透明团队管理从靠喊变成看数据。痛点三离职带走客户——80 个客户怎么交接3.1 现象与代价销售离职是中小企业最大的隐性损失。如果客户信息只在销售个人手机里微信、电话、Excel代价客户资源直接流失销售可能去竞争对手公司跟进历史全部断档新接手的销售完全不知道之前聊到哪商机/合同无人继续推进应收账款可能因责任人变更被拖延3.2 系统化解法负责人一键转移 连带迁移销售离职前/调岗时由主管一键把客户和其所有关联业务联系人/商机/合同/回款转移给新负责人。关键机制机制作用一键转移操作员勾选客户 新负责人一次性完成连带迁移可选是否带走联系人/商机/合同避免孤儿数据拥有上限校验转移时校验新负责人不超过上限数据权限自动迁移旧的 OWNER 权限删除新的 OWNER 权限创建操作日志谁在什么时间把谁的客户转给了谁全程留痕批量转移离职场景一次转 80 个客户几秒搞定3.3 RuoYi Office 的实现Transactional(rollbackForException.class)CrmPermission(bizTypeCrmBizTypeEnum.CRM_CUSTOMER,bizId#reqVO.id,levelCrmPermissionLevelEnum.OWNER)LogRecord(typeCRM_CUSTOMER_TYPE,subTypeCRM_CUSTOMER_TRANSFER_SUB_TYPE,bizNo{{#reqVO.id}},successCRM_CUSTOMER_TRANSFER_SUCCESS)publicvoidtransferCustomer(CrmCustomerTransferReqVOreqVO,LonguserId){CrmCustomerDOcustomervalidateCustomerExists(reqVO.getId());// 1. 校验新负责人是否超过拥有上限validateCustomerExceedOwnerLimit(reqVO.getNewOwnerUserId(),1);// 2. 转移客户主体的数据权限 重设负责人permissionService.transferPermission(...);customerMapper.updateById(newCrmCustomerDO().setId(reqVO.getId()).setOwnerUserId(reqVO.getNewOwnerUserId()).setOwnerTime(LocalDateTime.now()));// 3. 按需连带转移联系人/商机/合同if(CollUtil.isNotEmpty(reqVO.getToBizTypes())){transferRelatedBizData(reqVO,userId);}}前端交互转移弹窗里勾选同时转移联系人/商机/合同复选框——一次操作把客户的全部资产打包给新人。落地效果销售离职那天主管 30 分钟做完所有客户交接客户跟进历史全部保留新销售上手只需读跟进记录就能接得住业务。痛点四回款失控——签了合同收不到钱4.1 现象与代价很多企业把签合同等同于收到钱。实际上从签合同到回款的过程经常拖延客户拖付款、销售忘了催、财务在角落等账期——最后某天 CFO 发现上个季度应收账款堆了 800 万。代价现金流紧张小企业最致命坏账风险拖得越久越难收跨部门扯皮销售说财务不催财务说销售不沟通4.2 系统化解法回款计划 提醒 金额闸门签合同时同步制定回款计划按期次拆分系统按期次自动提醒销售跟进且每笔回款都不能超过合同总额。关键机制机制作用回款计划按期拆分首付 / 分期 / 尾款每期有计划金额和计划日提醒预算计划日前 N 天自动提醒销售跟进逾期标红到期未回款自动变逾期状态金额闸门所有回款累计含审批中≤ 合同总额超额自动拦截核销机制实际回款关联计划计划状态自动变已回款首页角标顶部我的待办显示该提醒/已逾期数量回款审批大额回款走 BPM 审批财务确认到账4.3 RuoYi Office 的实现回款计划自带remindTime预计算字段// 创建计划时预计算提醒日期if(createReqVO.getReturnTime()!nullcreateReqVO.getRemindDays()!null){receivablePlan.setRemindTime(createReqVO.getReturnTime().minusDays(createReqVO.getRemindDays()));}该提醒查询用一条 SQL// 待提醒还没回款且 remindTime ≤ 今天query.isNull(CrmReceivablePlanDO::getReceivableId).le(CrmReceivablePlanDO::getRemindTime,beginOfToday);金额闸门校验privatevoidvalidateReceivablePriceExceedsLimit(CrmReceivableSaveReqVOreqVO){CrmContractDOcontractcontractService.validateContract(reqVO.getContractId());ListCrmReceivableDOreceivablesreceivableMapper.selectListByContractIdAndStatus(reqVO.getContractId(),Arrays.asList(CrmAuditStatusEnum.APPROVE.getStatus(),CrmAuditStatusEnum.PROCESS.getStatus()));BigDecimalnotReceivablePricecontract.getTotalPrice().subtract(CollectionUtils.getSumValue(receivables,CrmReceivableDO::getPrice,BigDecimal::add,BigDecimal.ZERO));if(reqVO.getPrice().compareTo(notReceivablePrice)0){throwexception(RECEIVABLE_CREATE_FAIL_PRICE_EXCEEDS_LIMIT,notReceivablePrice);}}落地效果销售每天打开系统就看到今天该收哪几笔款到期前自动提醒财务从事后追账变成提前盯账金额闸门防止操作失误超额回款。痛点五报表手工汇总——月底加班拉数据5.1 现象与代价销售总监最痛苦的事——每月汇报。从 5 个销售那里收 Excel口径不一、数字对不上、销售为了好看而美化数据。报表滞后失真老板拍板的依据都是半个月前的数字。代价决策滞后数据是月底的机会是日常的数字失真手工汇总难免错漏团队疲惫销售总监助理花一周做报表不能即时干预销售掉进度等月底报表才发现5.2 系统化解法数据权限 实时看板 漏斗预测老板/销售总监按管理范围实时看到团队数据销售漏斗、本月签约、本月回款、客户分布、跟进活跃度——全部实时计算且按数据权限自动隔离销售只看自己的总监看团队的。关键机制机制作用数据权限销售/主管/老板各看各的自动隔离销售漏斗按阶段统计商机数量与金额预测下季度赢单率加权每个阶段配percent加权预测预期收入看板大屏本月签约金额 / 回款 / 商机 Top 排行逾期角标逾期回款数量在顶部 Badge 实时显示导出留档任意维度一键导出 Excel 存档数据自助查询不用销售总监收 Excel老板自己点开就看到5.3 RuoYi Office 的实现数据权限框架DataPermission 5 种数据范围自动让老板和销售看到不同范围的数据本质就是 SQL 自动改写-- 销售SELF只看自己的SELECT*FROMcrm_businessWHEREdeleted0ANDowner_user_id100-- 销售总监DEPT_AND_CHILD看本部门及以下SELECT*FROMcrm_businessWHEREdeleted0ANDdept_idIN(10,11,12)-- 老板ALL看全部SELECT*FROMcrm_businessWHEREdeleted0加权销售预测按阶段赢单率算SELECTSUM(b.total_price*s.percent/100)ASpredicted_revenueFROMcrm_business bLEFTJOINcrm_business_status sONs.idb.status_idWHEREb.end_statusISNULL-- 未结束的商机ANDb.deleted0落地效果销售总监月底报表从 2 天压缩到 5 分钟直接截图看板老板随时看到团队真实进度销售掉进度当天就被识别。实施清单如何把这套体系落地如果你是销售总监或技术负责人建议按以下顺序实施阶段周期关键动作阶段一客户主数据归集1-2 周Excel 客户表导入系统、建客户公海、设置查重规则阶段二跟进记录养成1 个月强制销售每次沟通记跟进、设置下次联系时间提醒阶段三商机漏斗1 个月定义销售阶段如 5 段漏斗、配每个阶段赢单率阶段四合同/回款管理1-2 个月把合同台账迁入系统、配置回款计划与提醒阶段五数据权限 看板1 周配置 5 种数据范围、上线销售看板阶段六持续优化长期季度复盘流失率、跟进活跃度、漏斗转化率实施关键不要等完美方案——边用边调先把客户主数据归集到系统后续再丰富强制执行优于自愿——跟进记录、下次联系时间设为必填否则一定会走样管理层先用起来——销售总监每天在系统里看数据团队才会跟着用不追求一次性大改造——分阶段实施每个阶段都能拿出来给老板看价值RuoYi Office CRM参考实现如果你想要一套开源、可二开、Java/Vue 技术栈的销售管理系统可以直接参考 RuoYi Office CRM——上述 5 个痛点的解法在源码里都有完整实现痛点RuoYi Office 实现位置客户撞单yudao-module-crm/.../customer/公海 拥有上限 数据权限跟进黑盒yudao-module-crm/.../followup/多态跟进记录 下次联系提醒离职带走transferCustomer一键转移 连带迁移回款失控yudao-module-crm/.../receivable/计划 提醒 金额闸门报表手工DataPermission框架 内置销售统计接口技术栈Spring Boot 3.5 Vue3 Vben Admin 5 Flowable MyBatis-Plus国产化全适配达梦/人大金仓/企微/钉钉多租户 SaaS 支持。快速体验在线演示http://ruoyioffice.com/web/账号 admin / admin123操作路径登录后台 → 顶部菜单CRM推荐体验流程客户管理体验公海机制 → 领取 → 转移 → 拥有上限拦截客户详情写一条跟进记录设下次联系时间看角标商机管理推进商机阶段看漏斗合同管理新建合同走 BPM 审批回款计划拆 3 期制造一个超额回款看金额闸门拦截用不同角色账号登录销售/主管/管理员看数据权限自动隔离效果源码仓库仓库地址后端GitCodehttps://gitcode.com/zhouzhongyan/ruoyi-office.git前端GitCodehttps://gitcode.com/zhouzhongyan/ruoyi-office-vben.git后端GitHubhttps://github.com/yuqing2026/ruoyi-office.git结语销售管理的本质是把凭感觉、靠记忆、拼人情的传统模式升级为数据驱动、流程闭环、信息透明的现代化模式。撞单、跟进黑盒、离职带走、回款失控、报表手工——这 5 大痛点不是销售团队的问题是缺乏系统化工具的问题。一套合格的销售管理系统应该回答这几个问题客户是谁的→ 公海 唯一负责人 数据权限进展到哪了→ 跟进记录 销售漏斗 实时看板离职怎么办→ 一键转移 连带迁移 操作日志钱什么时候到→ 回款计划 提醒 金额闸门业绩怎么样→ 数据权限 实时看板 加权预测你们公司在销售管理上踩过哪些坑用什么工具/方法解决的欢迎评论区分享。常见问题FAQ中小企业有必要上 CRM 系统吗有。临界点不是公司规模而是销售人数当销售 ≥ 3 人必然会出现我跟你的客户撞了老板看不到团队进度这类问题——Excel 解决不了。3-10 人销售团队是上 CRM 的最佳时机越早建立规范越好。销售抵触用系统怎么办两个关键①管理层先用起来——销售总监每天在系统看数据团队才会跟着用②把必填和激励挂钩——跟进记录、下次联系时间必填跟进活跃度计入月度评分。强制执行 1-2 个月就能养成习惯。自建开源 CRM vs 买 SaaS 怎么选看三个因素①数据私有化要求——自建占优②定制深度——自建占优③初期投入——SaaS 低。建议中小企业初期用 SaaS 验证业务流程业务稳定且需深度定制后再迁移到开源 CRM如 RuoYi Office做自建。客户公海机制销售会不会反对开始可能有但只要规则透明“长期不跟进自动收回”)销售反而会更专注——逼着自己在能力范围内深耕几十个客户而不是占着但不跟进。配合拥有上限防囤积公海最终是双赢机制。一套销售管理系统通常需要多少功能核心 7 个客户、联系人、线索、商机、合同、回款、跟进记录。加上 3 个支撑数据权限、操作日志、销售看板。再加上 2 个增强客户公海、回款计划。共 12 个模块。本文提到的 RuoYi Office CRM 这 12 个全部完整实现开箱即用。想要体验 RuoYi Office 的强大功能在线演示http://ruoyioffice.com/web/账号 admin / admin123源码仓库GitCode | GitHub技术咨询添加微信17156169080备注「RuoYi Office」⭐如果觉得不错请给个 Star 支持一下