UML软件工程组织

关于主流CRM与ERP系统的集成
转自:天极网 作者:肖东军
  导读
  本文以点带面,介绍了北京起点SynleadCRM金蝶K3 ERP集成过程中遇到的若干典型问题和解决方案,适合有一定IT知识和管理知识的人士阅读。

  一、案例背景

  F公司是一家专业设备贸易型企业,设有北京、上海和广州三大营销中心,年营业额约4亿元人民币。四年前F公司建立了企业网站及办公自动化系统。两年前F公司又导入了金蝶软件公司K3 ERP的财务管理和物流管理系统,当前已将K3 ERP已经升级到了V10.1版本。

  
K3 ERP系统帮助F公司显著提升了会计工作和物流工作的效率和管理水平。在此基础上,F公司在渠道管理和销售方面开始大展身手,销售队伍扩展到40多人,活跃客户达到3000多家。导入CRM软件、实施客户关系管理的时机已经成熟。

  在选择CRM软件的过程中,F公司信息化管理小组考察了多款有代表性的软件产品,发现无论是否来自同一家厂商的产品,CRM与ERP的集成都是无法回避的。在CRM范畴的评分,SynleadCRM占有综合优势,成为F公司的主要选型目标。SynleadCRM与主流ERP系统的集成能力成为进一步考察的重点。

 二、初步方案

 经过调查,CRM咨询顾问确认,F公司总部当前的信息系统环境要点是:

 ·局域网采用域模式管理,有一台独立的域控制器。

 ·域上有一台服务器(K3SERVER)提供K3 ERP的数据库服务和应用服务;数据库服务采用微软SQL Server 2000。

 ·域上有一台服务器(WebSERVER)安装了Citrix系统,向远程站点提供K3 ERP的WEB发布服务。即:此服务允许远程站点以IE浏览器的方式访问原本是C/S架构的K3 ERP。

 F公司对系统集成的核心需求是:

 ·减少CRM和ERP之间可能存在的重复性数据录入工作,简化流程,提高效率;

 ·抓主要矛盾、抓重点(例如合同/销售订单的集成),不要求一下子解决所有问题。

 CRM咨询顾问经过与各方的协商、沟通,提供了SynleadCRM与K3 ERP进行系统集成的解决方案纲要。方案要点如下:

 ·将SynleadCRM的数据库服务设置在服务器K3SERVER上,在同一个SQL Server 2000下管理K3 ERP的工作数据库和SynleadCRM的工作数据库。这样的设置将简化两个工作数据库之间的数据层的交换处理。

 ·产品数据集成。产品数据集成在数据层实现,无需人工操作。从K3 ERP读出“产品记录信息”及“产品存货数量信息”,单向写入到SynleadCRM产品栏目。

 ·合同/销售订单的数据集成。合同/销售订单的数据集成在应用层实现。操作者在SynleadCRM合同操作界面,点一个发送按钮。点击按钮后,首先在SynleadCRM中检查该合同的审核状态,如果审核状是“已核准”,则执行一个外挂程序,向K3 ERP发出合同信息;审核状态不是“已核准”,则拒绝执行外挂程序并发出提醒信息。K3 ERP销售订单的送货执行情况,通过数据层交换写到SynleadCRM合同实施情况栏目,无需人工操作。

 ·客户信息的集成。SynleadCRM初始化的时候,可以先从K3 ERP导出客户单位数据到Excel,然后再导入SynleadCRM。

 三、深入讨论

 F公司对此方案很感兴趣。指派IT部经理与CRM咨询顾问继续讨论方案的细节。在深入讨论的时候,遇到了一系列需要澄清的问题。这是因为用户企业在谈集成需求的时候,往往只考虑到事务处理的一种逻辑,而真正要做集成工作的时候,必须穷尽列举出所有可能的逻辑,并确认相应的处理机制。此外,还有若干原则问题需要格外注意:

 ·数据的方向性

 CRM与ERP集成的时候,数据流向有单向和双向之分,集成的时候要慎重考虑,在满足业务需求与控制开发成本之间找到折衷点。例如,按照合理的业务逻辑,合同/销售订单的信息流向主要是从SynleadCRM到K3 ERP。但是为了提高操作效率,也需要在SynleadCRM的合同界面及时了解到产品清单中各项产品的供货执行情况,这个合同实施情况的数据流向则是从K3 ERP到SynleadCRM。

 ·数据的完整性

 CRM与ERP的分别有各自的工作数据库,每个工作数据库有各自对数据完整性的要求。例如SynleadCRM要求产品记录必须有计量单位和默认包装单位,如果K3 ERP发来的记录缺少这些字段值,则无法在SynleadCRM的工作数据库保存成功。而K3 ERP要求销售订单必须要有销售人员的中文姓名,如果SynleadCRM发来的合同记录缺少这些字段值则该销售订单记录无法在K3 ERP的工作数据库保存成功。

 ·数据的一致性

 CRM与ERP共用的一些基础设置,还必须保持一致。例如两者对于客户单位的地址描述,都有“省/自治区”字段,其中的枚举值必须相同,甚至差一个字也不行。例如,不可以一边是“浙江”,另一边是“浙江省”,就违背了一致性原则。

 ·数据的唯一性

 F公司要求一条核准的合同记录,只允许在K3 ERP中生成一条销售订单记录。因此合同记录被发出到达K3 ERP后,将依据合同记录的唯一编号进行重复记录检查并作出相应的判断:要么允许生成新的销售订单记录,要么拒绝生成新的销售记录;不允许一条合同记录生成多个销售订单。

 ·数据的独立性

 CRM和ERP有各自独立的工作数据库,数据有各自的独立性。例如,SynleadCRM中已经向K3 ERP发送过数据、产生过销售订单的某条合同记录,如果在SynleadCRM中被废弃/删除,并不会导致在K3 ERP中对应的销售订单记录被删除;删除销售订单须执行K3 ERP的管理规则。

 ·系统集成的深度

 系统集成的深度也需要把握好分寸。否则要么导致对业务帮助不大,要么导致开发周期增成、费用超支、风险增大。

 例如,给F公司的方案中,SynleadCRM产品记录中可获得K3 ERP的库存数量信息。这个库存数量的数值,简单来讲,就是对K3 ERP中各个仓库的产品库存数量的求和。当前F公司认可集成到这一步就可以了。

 进一步考察,不难发现K3 ERP中不仅可以建立多个仓库,还支持对存货记录进行锁库操作(所谓锁库,意思就是某些产品已经被分配给某些销售订单,即将执行发货处理)。未来如果需要了解库存数量包含的明细信息,例如产品在各个仓库的分布情况、锁库的情况等,还可以在SynleadCRM界面进一步调用K3 ERP中的应用数据。

 K3 ERP中,销售订单的执行情况是结构化的。SynleadCRM的合同实施情况当前仅能记录文本信息。F公司认为,销售人员只需要简要了解销售订单的执行情况就可以了。因此不需要对SynleadCRM本身的数据库结构做修改,仅需要以文本形式、以如下格式写出销售订单最新的执行情况:

 “K3 ERP销售订单号;销售订单状态;产品1 已发货数量/订货数量;产品2 已发货数量/订货数量……”

 ·业务流程重组

 CRM与ERP实现集成后,可以优化流程,带动业务流程重组的企业管理变革。

 K3 ERP中的客户代码是依据区域、省/自治区、流水序号规则生成的,与财务管理子系统的会计科目挂钩。F公司的实际工作中,只有成交过的客户才会在K3 ERP中记录并分配客户代码。销售代表跟进的客户中,有些是在K3 ERP中有客户代码的已成交客户,有些是尚未成交、在K3 ERP中没有客户代码的准客户。生成销售订单的时候,销售订单对应的客户单位必须有符合要求的客户代码,否则将无法执行财务收款功能。

 F公司当前对于将准客户转成K3 ERP系统中的已成交客户,有一套自下而上逐级审批、分配客户代码号段的工作流程。在实施初期,将利用Excel从K3 ERP导入已成交客户的信息到SynleadCRM,准客户到已成交客户的升级管理,仍然执行当前流程。

 F公司希望未来由计算机自动处理准客户升级、分配代码的流程:与潜在客户确立合同后,SynleadCRM向K3 ERP发出合同信息,在K3 ERP中执行查询,如发现没有该客户记录,则在K3 ERP中建立该客户单位的记录,并执行一个预先个性化设置的客户代码分配程序,为该记录分配一个客户代码……

 四、小结

 廓清了包含上述要点在内的若干问题后,F公司最终决定CRM软件采购选择SynleadCRM,分阶段进行SynleadCRM与K3 ERP系统集成的二次开发。

 应用系统集成未来发展的趋势是各个应用系统(如ERP、CRM、SCM等)提供封装好的中间层接口,利用中间件调用中间层接口把各种应用集成起来。当前也可采用综合利用数据层、中间层、应用层(外挂程序或组件)的方式进行集成。不论采用哪种技术取向,被集成的应用系统本身应当具备合理、扎实的数据库结构、业务逻辑结构十分重要。

 

 

版权所有:UML软件工程组织