关于账务平台与行业ERP集成的一些经验分享原创
金蝶云社区-lz_xiaohe
lz_xiaohe
0人赞赏了该文章 1.4万次浏览 未经作者许可,禁止转载编辑于2021年09月17日 14:49:27

金蝶账务平台应用到越来越多的行业,为了方便行业ERP在集成时,少走一些弯路,分享一些在集成业务实现方面的一些经验。
欢迎大家补充,共同进步。


一、基础装备
资源 :http://open.kisdee.com ,新集成厂家,需要先用实际企业信息注册、认证,完成后,可登录,以获得对应的开发密钥。温馨提示:产品需要厂家自己登记,logo请按要求上传,简称一般不超过4个汉字,logo和简称将出现在集成应用的产品中,如上图所示,请不要随意填。

资料:开发文档和资源中心
产品:账务平台V14.0,参考:金蝶KIS账务平台V14.0发版及功能更新清单
工具:调试工具、行业模板工具
下载的时候,注意说明,下载适用于V14.0的产品和工具。

温馨提示:由于集成是通过API服务实现,因此对于行业ERP管理软件 是B/S还是C/S,是用什么数据库,用什么语言开发的,用于什么操作系统上的,没有要求。只要能通过API服务交换数据即可。

二、集成准备
1、梳理出哪些资料要对接:
比如客户、部门、供应商、菜品基础资料分类等,每个对接分类资料里,基本要素:代码、名称。
基本的资料分类,系统已经准备好了。


超出上述001-008之外的基础资料分类,需要行业厂家自行建立。


如果新增资料需要与会计科目对应,可以在项目类别属性上增加,名称可自定义。

在这里定义的核算项目类别,在下载模板到账务平台中后,会在基础资料--核算项目中,自动新增,无需再手动添加项目类别。如果该类别中设置了会计科目属性,在下载模板时也会自动下载。当通过行业软件接口同步资料后,用户可以通过这里维护对应的会计科目,以便于可以在凭证模板上设置科目来源于些会计科目字段,实现根据业务记录自动提取对应的会计科目,形成会计分录。

2、梳理出哪些业务数据要对接:
比如直拨单、收款单等,按类型分类,每个类型里包括哪些字段。
其中:不同的软件中对单据类型有不同的定义,建议在设计对接时,单据类型的定义标准、名称,单据的定义标准、名称与行业软件保持一致,这样极大的减少人为的学习成本,避免不必要的再次理解的成本 。

特别说明:日期、单据类型、单据编号、行号,这四项必须的,这是识别是一组数据的标志之一。每组数据里,必须至少要有一个金额字段。

图片.png

行业工具中的定义示例:

这此梳理好后,结构定义的工作---包括基础资料和业务数据的,都通过行业模板工具,登录上去定义。温馨提示:如果某项定义中涉及到科目,并且在生成凭证时,希望根据业务单据上的基础资料内容自动对应相应的科目,比如上图,就需要在【在科目来源中可选】上打勾,否则在凭证模板中将选择不到。

定义后好,开发按定义的结构和open.kisdee.com上对就的开发规则,进行填充实现就好。
比如数据:

图片.png


可通过行业工具设计成这样的


用户下载模板后,效果如下:

其中

开发在实现时,业务数据与行业工具中的定义对应关系,如下,详情参考单据同步API


3、基础资料方面:
如果你们软件有上下级关系的,在同步时,要先同步上级的,再同步下级的。


4、在业务数据方面:
把每种业务抽取为成为一个二维的表格,把需要的字段整理出来。涉及到商品或收银明细的,个人建议按明细传,这样用户是要按明细生成账务的处理,还是按汇总,都可以选择。


在集成阶段和试用阶段,建议先要把精力放在怎么生成凭证上,优先把目标聚焦到怎么生成业务数据上,即确定哪些业务数据需要同步,每种业务数据需要哪些数据字段。
在同步时,每个业务数据,比如一张单据,一般都有多行,建议把每行的明细数据都同步。这样做的好处就是以后在生成凭证时,用户可以根据自己的情况或爱好,按明细或汇总数据生成凭证。
温馨提示:由于不同开发工具的特点、各种环境的影响,在集成开发时,要对所发请求中的参数进行转码(urlencode),否则可能提交后的数据显示为乱码,如:


算出来跟这个网站一样就可以了
http://tool.chinaz.com/Tools/urlencode.aspx  
是对请求的各个参数转码,不是对custdata值里的各json字段转码

5、集成参数
在集成参数方面,要包括:企业号、账套信息、访问密码(也可以自行命名)等几个参数。
广域网模式下,不存在互联网访问安全问题,可以只需要账套信息即可。

6、最后再去考虑会计制度、凭证模板的问题。
比较建议在第一家客户beta上线确认后,再去定义凭证模板,这样更好理解。

7、业务系统改造
集成与未集成,在应用管制方面,应该有不同,建议你们同时对自己的业务进行管控:
1)已经同步的数据,包括基础资料和业务数据,不允许取消审核、修改、删除;不然到时两边不一致,都找不到原因了。
2)在同步时,建议增加同步的选择条件设置,以便于用户可选择、判断哪些数据可以同步 了
3)如果要修改,修改后,要重新同步;
4)已经同步后已经生成凭证的单据,不允许修改、删除。要修改删除、必须 先删除凭证。在接口上有单据生成凭证状态的接口调用

8、凭证模板
待调试确认后,初次应用,可以与客户的财务人员一起确定每个业务凭证的内容和分录构成,共同完成凭证模板的定义。
毕业绝大部分的行业ERP人员并不熟悉财务,而客户的财务人员熟悉财务但不了解系统如何实现,一起协同,效率更高。
形成后,以后其他客户使用就非常简单了。

温馨提示:
如果某项定义中涉及到科目,并且在生成凭证时,希望根据业务单据上的基础资料内容自动对应相应的科目,比如下图,


就需要在行业工具中进行单据定义时,在【在科目来源中可选】上打勾,否则在凭证模板中将选择不到。
比如希望能够自动根据调出账户、调入账户来自动确定对应的分录,则需要在定义模板时,【在科目来源中可选】上打勾。



如果如上图所示,将在凭证模板中无法选择科目来源:




正确的单据模板设置应该是:


对应的凭证模板是:


三、业务集成:
1、业务数据行标识
在我们的集成业务里,对于单据,同一个单据,有行号的标识,对于同一张单据,行号不可重复。不知道你们的有没有。这个是用于一个单据上有多行数据时的管理。如果没有,你们要确保行号的唯一。

曾经的案例:之前有过一个惨痛教训:通过集成生成的行号,是动态变化的 ,结果导致他们同步数据时,发现有误或不注意了重复同步,就生成不同的行号,结果就是同步 一次,数据翻倍一次。

一般来说,在业务管理里,都会有行号的管理的,就怕遇到万一。

2、集成参数
在集成参数设置里,每个客户的企业号、账套信息、访问密码等信息都是不同的,建议企业号、访问密码是手工录入的,支持复制、粘贴。账套信息利用接口直接获取,不要手工录入。


曾经的案例:账套信息是手工录入的,结果在实施时,客户的账套实例名命名为Xhome,他在集成参数 里输入的是Xhmoe,然后死活连接不了,以为是接口、集成程序有问题,白白折腾了2天。

3、网络应用模式

局域网应用如果是在局域网上应用,建议保留一个输入局域网IP地址的地方,用于输入金蝶账务平台局域网服务器的IP地址。


同时,由于V14.0里对集成安全机制、性能进行了更多的调整,V14.0与V12.3、V13.0在集成API上有一些差异,对于之前已经完成了V13.0集成的伙伴来说,需要修改接口,支持V14.0。在这种情况下,如果已经实现 的集成在老客户在使用,建议在集成版本上增加一个选择,如上图。不同的版本,使用不同的集成API

4、代码实现

就是根据上面的梳理,结合行业ERP的特性,把基础资料和业务数据同步到金蝶中。金蝶软件API接口服务程序根据接口标准定义进行数据的解析和数据的储存服务。其中:
1)涉及到特殊字符的,需要开发者通过程序先转义处理(参考:http://tool.chinaz.com/Tools/urlencode.aspx  ),然后再同步。


2)业务数据中的金额小数位、数量小数位等,需要开发者通过程序先进行格式化处理,然后再同步;金蝶软件API接口服务程序只负责接收合理数据,但不对接收的数据进行任何格式化处理,以确保同步数据的唯一性。
3)金蝶软件API接口服务程序为确保同步数据的来源和标准统一,对同步后形成的数据,在金蝶软件中不提供删除、修改的功能,如果需要变更,请通过删除接口在行业ERP软件中发起。

简单来说,主要包括以下:
1)就是需要把行业ERP中的业务数据,抽象和整理成一类一类的基础资料和数据,通过接口同步到金蝶。
2)行业工具来定义你的数据模板
3)开发者参照接口定义,通过集成接口程序来实现数据同步。更多的接口相关内容,请访问:http://open.kisdee.com/wiki/index.php?n=Site.MethodApi


4)数据同步后,元数据就有了。
5)由于每个业务数据、在每个客户那里都有不一样的定义,所以通过凭证模板,可以定义每种数据的会计分录的凭证模板和生成规则。
6)根据凭证模板和业务数据,就可以生成会计凭证了

四、同步数据查询开发同步实现后,通过集成接口,同步后,可以如下的功能进行数据查询,或执行后续的账务处理:

图片.png

五、关于科目管理
科目管理主要是要根据实际业务来进行,同时要为报表数据服务。

一个原则:就是你的报表上的数据,如果要想能自动取数,就要有从科目上有对应的来源。报表无法获取分析型的数据。比如你报表上要按部门获得对应的收入、成本 ,那你的乎就需要按部门进行辅助核算或明细核算;从集成应用来看,如果你们的业务单据上都可以包括部门的信息,那么建议使用科目 部门辅助核算这种模式。

一般有设置明细科目和设置辅助核算项目、设置为数量金额辅助核算等的区别。
设置明细科目:一般的零星账户或明细不具有共性的明细,设置为明细科目,比如1002银行存款科目下按开户行设置明细,这些明细银行除了银行存款用到,其他科目基本上不会用到。
设置辅助核算项目:把单据上可以体现的、在多个科目中都会用到的明细信息,可以将这些信息归集为某一类进行集中管理。比如预收账款、应收款账,都会涉及到往来单位--客户,而且某些客户既会在应收账款里核算,又会在预收账款里核算,那么设置这些科目按客户进行辅助核算,则可以只维护一个基础资料,而不必在预收账款、应收款账科目中分别去建立明细科目。
同时,在使用集成账务的时候,如果希望能根据业务数据上的客户信息,自动携带到生成的凭证分录上,这些科目也需要按客户进行辅助核算。
其他科目同理。
数量金额辅助核算:如果科目核算的数量变化、单位变化是在业务系统里有完整的业务过程记录,在账务上设置科目是,科目无需也无必要再设置为数量金额辅助核算模式,因为详细的过程和数据都在业务系统里了,查询具体的数据也是在业务系统里有的。只有个别业务系统不管理但账务上又确实需要管理数量、单价的,还需要核算为数量金额辅助核算模式。

其他涉及到往来管理的设计,参考:金蝶KIS产品中往来业务核算应用模式分享

其他内容,参阅如下内容

相关资源

关于账务平台与行业ERP集成的一些经验分享
金蝶KIS账务平台API调试工具使用方法  
金蝶KIS账务平台行业工具使用操作

金蝶KIS账务平台V14.0发版及功能更新清单

金蝶KIS账务平台V14.0_增报表函数用法

如何快速体验金蝶KIS账务平台

如何快速配置金蝶KIS账务平台与行业软件的集成参数

金蝶KIS账务平台产品如何激活
金蝶KIS产品激活工作步骤检查清单