一种基于发票的获取出入库信息的方法及系统技术方案

技术编号:25757989 阅读:22 留言:0更新日期:2020-09-25 21:06
本发明专利技术公开了本发明专利技术的目的是提供一种基于发票的获取出入库信息的方法及系统,能够高效、准确地在数量庞大的信息库中,找到与发票对应的出入库单。技术方案包括如下步骤:整理发票上的字段、出入库单据集合,作为输入部分,分别记为I、S;S的其中一个元素记为R,R是一张具体的出入库单;从S中选择若干具体的出入库单组成一个新集合Q;计算发票I与集合Q中任一元素的匹配分值p,p=match_score(I,K),其中K是Q中的元素;将集合Q中的元素按照匹配分值p进行从大到小的排序,将分值排在前若干位的元素作为推荐值返回。本发明专利技术中的模糊匹配取最大对齐分数除以8倍的短序列长度,能够有效防止经销商的串货和水货。

【技术实现步骤摘要】
一种基于发票的获取出入库信息的方法及系统
本专利技术涉及一种基于发票的获取出入库信息的方法及系统,属于计算机

技术介绍
在常见的商品供应链中,生产厂家通过中间经销商将商品销售给最终用户。为了提高整个供应链的效率,同时加强对商品销售过程和销售渠道的监控,防止水货,串货的流通。可以使用供应链信息系统对销货流程进行记录和管控。其中重点步骤包括三项:1、在商品出库时,经销商需要将出入库单信息录入信息系统。2、当客户接收商品后,经销商需要开具发票,并将发票信息录入信息系统3、为了票货相符,经销商需要将发票与出入库单信息建立关联关系,这样就可以确认发票对应了哪些已出库产品,反过来也可以知道哪些出库产品已开具发票。以上三个步骤可以有效防止经销商的串货和水货。以上第3步需要经销商操作人员手动关联发票和出入库单信息。由于在实际中经销商出货繁多,操作人员就需要在大量的出入库单据中寻找,效率低下,费时费力。
技术实现思路
本专利技术的目的是提供一种基于发票的获取出入库信息的方法,能够高效、准确地在数量庞大的信息库中,找到与发票对应的出入库单。技术方案包括如下步骤:步骤1:构建数据库;整理并输入发票上的字段,得到集合I;整理并输入出入库单据,得到集合S;将集合S的任意一个元素记为R,从S中选择若干R组成一个集合Q;步骤2:计算集合I中任意一个元素与集合Q中任意一个元素的匹配分值p,p=match_score(I,K),其中K是Q中的元素;步骤3:在加载有数据库的推荐模块中输入出入库单据的相关信息,推荐模块会根据Needleman_Wunsch算法得到匹配分值p,并且,将集合Q中的元素按照匹配分值p进行从大到小的排序,将分值排在前若干位的元素作为推荐值返回,此推荐值即为出入库记录进一步地,步骤2中计算匹配分值的过程详细阐述如下:步骤2.1:设定初始分值score=0;步骤2.2:如果发票上的经销商名称(I.dealer_name)与出入库单的经销商名称(K.dealer_name)完全相同,则加2分,即score+=2,如果不同直接返回0分;步骤2.3:使用Needleman_Wunsch算法对发票上的买家名称和出入库单上的买家名称进行模糊匹配,得到模糊匹配分值vague_match,如果vague_match>0.5,则score←score+2*vague_match,即将两倍的模糊匹配分值累加到score;否则认为买家名称匹配差距过大直接返回当前score的值;Needleman_Wunsch算法取最大对齐分数除以8倍的短序列长度;步骤2.4:检查发票I和出入库单K上的产品列表;步骤2.5:检查总量是否匹配;计算发票上货品的总数量和出入库单上货品的总数量,如果总数量相同加1分,score←score+1;步骤2.6:检查日期匹配程度;若发票日期与出入库单日期相同则加1分,发票日期与出入库单日期差距越大则加分越少;步骤2.7:返回分值score。进一步地,步骤2.6中检查日期匹配程度的具体计算方式如下:若发票日期I.date大于出入库单日期K.date,则利用指数函数计算加分,score←score+exp(-(I.date–K.date)/50),衰减指数为50,即缓慢衰减;若发票日期I.date小于出入库单日期K.date,则利用指数函数计算加分score←score+exp(-(K.date-I.date)/5),即快速衰减;即该算法将优先推荐那些发票日期与出入库单日期相近的,且发票日期大于出入库日期的单据。进一步地,令发票上的任一产品型号代码为A,其对应的数量记为QA,对QA执行如下步骤:步骤2.4.1:在出入库单K的产品列表中是否存在一项其型号代码与A相同而且其数量与QA相同;若存在则加2分,即score←score+2,转步骤2.5;若不存在转步骤2.4.2;步骤2.4.2:在出入库单的产品列表中是否存在一项其型号代码与A相同若存在则加1分,即score←score+1,转步骤2.5;若不存在转步骤2.4.3;步骤2.4.3:若在出入库单的产品列表中不存在任意一项型号代码与A相同,但是在出入库单的产品列表存在一项其数量与QA相同,则加0.1分,即score←score+0.1;转步骤2.4.4;步骤2.4.4:此时即在发票和出入库单中既不存在完全匹配的型号代码,又不存在匹配的数量;检查是否在入库单的产品列表中存在一个型号代码B,且A是B的子串或者B是A的子串,如果找到这样的B,提取出入库单据上B对应的数量QB,如果存在B且QB==QA,则加1.6分,即score←score+1.6,如果只是存在B,但找不到QB==QA,则加0.8分,即score←score+0.8。进一步地,步骤2.4.2中,型号代码与A相同,即存在相同的型号代码,但是数量不同。进一步地,步骤2.3中使用Needleman_Wunsch算法对发票上的买家名称和出入库单上的买家名称进行模糊匹配的方法详细阐述如下:步骤2.3.1:计算需要进行对比的两个字符串的长度,两个字符串分别记为str1、str2,str1的长度为len(str1)=7,str2的长度为len(str2)=8;步骤2.3.2:建立一个len(str1)+1行len(str2)+1列的矩阵表格,全部初始化为0;然后在第1行和第1列每隔一位减3并填入数字;步骤2.3.3:开始填入表格中的其余数字;步骤2.3.4:填完表格后,使用公式(2)计算模糊匹配分值,公式如下:vague_match=max(F(i,j))/[8*min(len(str1),len(str2))](1)。进一步地,步骤2.3.3中填入数字的方法如下:比较表格位置对应的两个字符串的字符,使用F(i,j)表示表格中第i行第j列的值;显然F(0,0)=0,且表格的第1行和第1列都已经初始化;则有其中xi表示字符串str1中的第i个字符,xj表示字符串str2中的第j个字符;s(xi,xj)判断这两个字符是否相同,若相同值为8,若不同值为-5;其中d为加入空位进行匹配的情况,d=-3。进一步地,Q中的所有出入库单都满足出入库单上的卖家名称与发票上的卖家名称完全一致的条件。进一步地,Q集合的大小小于等于S集合的大小。本专利技术的另一目的是提供一种基于发票的获取出入库信息系统,包括:输入接口,设置有两个,分别用于接收输入的发票信息和出入库单据集合;输出接口,用于输出匹配分值;推荐模块,与输入接口、输出接口相连,用于接收输入接口输入的信息、从输出接口输出匹配值。本专利技术具有如下有益效果:1、本专利技术能够有效防止经销商的串货和水货。在出入库单的集合中找到最可能与发票相关联的若干出入库单推荐给经销商操作人员,让其从中选择,从而大大节省经销商操作人员手动从大量出入库单中寻找关联单据的时间,提高效率,降低工作量。本专利技术通过高效准确地找出与发票对应的出入库单,来保障每一批商品都是从正规渠道买入卖出,加强管控。2本文档来自技高网...

【技术保护点】
1.一种基于发票的获取出入库信息的方法,其特征在于,包括如下步骤:/n步骤1:构建数据库,数据库的构建过程如下:/n整理并输入发票上的字段,得到集合I;整理并输入出入库单据,得到集合S;将集合S的任意一个元素记为R,从S中选择若干R组成一个集合Q;/n步骤2:计算集合I中任意一个元素与集合Q中任意一个元素的匹配分值p,p=match_score(I,K),其中K是Q中的元素;/n步骤3:在加载有数据库的推荐模块中输入出入库单据的相关信息,推荐模块会根据Needleman_Wunsch算法得到匹配分值p,并且,将集合Q中的元素按照匹配分值p进行从大到小的排序,将分值排在前若干位的元素作为推荐值返回,此推荐值即为出入库记录。/n

【技术特征摘要】
1.一种基于发票的获取出入库信息的方法,其特征在于,包括如下步骤:
步骤1:构建数据库,数据库的构建过程如下:
整理并输入发票上的字段,得到集合I;整理并输入出入库单据,得到集合S;将集合S的任意一个元素记为R,从S中选择若干R组成一个集合Q;
步骤2:计算集合I中任意一个元素与集合Q中任意一个元素的匹配分值p,p=match_score(I,K),其中K是Q中的元素;
步骤3:在加载有数据库的推荐模块中输入出入库单据的相关信息,推荐模块会根据Needleman_Wunsch算法得到匹配分值p,并且,将集合Q中的元素按照匹配分值p进行从大到小的排序,将分值排在前若干位的元素作为推荐值返回,此推荐值即为出入库记录。


2.根据权利要求1所述的一种基于发票的获取出入库信息的方法,其特征在于,步骤2中计算匹配分值的过程如下:
步骤2.1:设定初始分值score=0;
步骤2.2:如果发票上的经销商名称(I.dealer_name)与出入库单的经销商名称(K.dealer_name)完全相同,则加2分,即score+=2,如果不同直接返回0分;
步骤2.3:使用Needleman_Wunsch算法对发票上的买家名称和出入库单上的买家名称进行模糊匹配,得到模糊匹配分值vague_match,如果vague_match>0.5,则score←score+2*vague_match,即将两倍的模糊匹配分值累加到score;否则认为买家名称匹配差距过大直接返回当前score的值;Needleman_Wunsch算法取最大对齐分数除以8倍的短序列长度;
步骤2.4:检查发票I和出入库单K上的产品列表;
步骤2.5:检查总量是否匹配;计算发票上货品的总数量和出入库单上货品的总数量,如果总数量相同加1分,score←score+1;
步骤2.6:检查日期匹配程度;若发票日期与出入库单日期相同则加1分,发票日期与出入库单日期差距越大则加分越少;
步骤2.7:返回分值score。


3.根据权利要求2所述的一种基于发票的获取出入库信息的方法,其特征在于,步骤2.6中检查日期匹配程度的计算方式如下:若发票日期I.date大于出入库单日期K.date,则利用指数函数计算加分,score←score+exp(-(I.date–K.date)/50),衰减指数为50,即缓慢衰减;若发票日期I.date小于出入库单日期K.date,则利用指数函数计算加分score←score+exp(-(K.date-I.date)/5),即快速衰减;即该算法将优先推荐那些发票日期与出入库单日期相近的,且发票日期大于出入库日期的单据。


4.根据权利要求3所述的一种基于发票的获取出入库信息的方法,其特征在于,令发票上的任一产品型号代码为A,其对应的数量记为QA,对QA执行如下步骤:
步骤2.4.1:在出入库单K的产品列表中是否存在一项其型号代码与A相同而且其数量与QA相同;若存在则加2分,即score←score+2,转步骤2.5;若不存在转步骤2.4.2;
步骤2.4.2:在出入库单的产品列表中是否存在一项其...

【专利技术属性】
技术研发人员:朱宏宽张勇
申请(专利权)人:无锡医迈德科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1