CN106779890A - 电子发票的生成方法及系统 - Google Patents
电子发票的生成方法及系统 Download PDFInfo
- Publication number
- CN106779890A CN106779890A CN201611124554.8A CN201611124554A CN106779890A CN 106779890 A CN106779890 A CN 106779890A CN 201611124554 A CN201611124554 A CN 201611124554A CN 106779890 A CN106779890 A CN 106779890A
- Authority
- CN
- China
- Prior art keywords
- invoice
- line number
- account sales
- detailed catalogue
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Document Processing Apparatus (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提出了一种电子发票的生成方法和一种电子发票的生成系统,其中电子发票的生成方法包括:获取发票票面信息,发票票面信息包括发票明细信息;加载发票版式文件和票面所需的字体信息;根据发票明细信息和字体信息确定发票明细行数;根据发票版式文件中的明细行区域的规格参数和字体信息确定明细行区域包含的最大明细行数;判断发票明细行数是否大于最大明细行数;根据判断结果确定是否获取销货清单模板并将发票明细信息填充至销货清单模板中,以生成电子发票。该技术方案,可以确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,尽量避免人工进行干预,从而提升企业内控和管理的效率。
Description
技术领域
本发明涉及电子发票技术领域,具体而言,涉及一种电子发票的生成方法和一种电子发票的生成系统。
背景技术
目前,根据《国家税务总局关于推行通过增值税电子发票系统开具增值税电子普通发票有关问题的公告》(国家税务总局公告2015年第84号),国家决定推行通过增值税电子发票系统开具的增值税电子普通发票(简称电子发票),其中,电子发票是现代信息社会的产物,是在购销商品、提供或者接受服务以及从事其他经营活动中,开具、收取的数据电文形式的收付款凭证。电子发票与传统发票的区别主要有两点:一是从传统的物理介质发展为数据电文形式,二是打破了纸质发票作为会计记账凭证的传统,可以作为会计档案电子记账形式进行保存。
而版式文件是版面呈现效果固定的电子文件格式,版式文件的呈现与设备无关,在各种设备上阅读、打印或印刷时,其版面的呈现结果都是一致的。版式文件主要应用于成文后文件的发布、传播和存档。
版式文件的特点是版面固定,电子版式文件在使用过程中,呈现效果不因软硬件环境、操作者的变化而变化,且在版式、版面、字体、字号等方面与纸质文件保持完全一致。版式文件的特点使它成为电子文档发布、数字化信息传播和存档的理想文档格式,比如越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件等开始使用版式文档,在国外,Adobe(奥多比)公司的PDF(Portable Document Format,便携式文档格式)版式文件格式目前已成为数字化信息事实上的一个工业标准。
进一步地,电子发票主要通过电子版式文件作为其传输介质,版式文件版面与原纸质发票完全一致,并增加电子签章,代替以往的物理纸质介质,从而使电子发票具有不易被伪造、被篡改且不易丢失、无损耗等诸多优点,可见,在电子发票开具过程中,版式文件的生成是电子发票开具的重要环节。
而开具电子发票生成版式文件的过程中,当发票明细行数据较少,发票版式文件预留的明细行区域能够装填下开票方的明细行数据;而当开票方发送的明细行数据过多时,由于电子发票版式文件格式为固定格式,则会超出电子发票版式文件预留的明细行区域,造成版式混乱。
在现阶段发票开具的实际操作中,遇到类似问题的解决方法主要有:
(1)对销货明细进行拆分,变为开具多张发票。该方法的缺点:一是造成发票票号浪费,由于目前企业开票需要去税务申请票号,票号库存消耗过快也会对企业管理和效率提升造成一定的影响;二是对于开票方报销入账造成不必要的麻烦,需要说明两张发票是由于一次消费发生,也会对企业内部管理效率造成一定影响。
(2)不记录销货明细,用统称记录开票数据,比如改为办公用品、食品等作为明细行数据。该方法的缺点是:无法获知销货信息的详细数据,不利于财务内控管理,当开票方财务流程如果需要销货明细,往往还需要附带购物小票或者清单的附件,核对购物小票或者清单与发票是否一致需要耗费大量时间和人力,不利于企业办公和管理效率上的提升。同时,在电子发票时代,发票开具都是在业务系统中自动根据业务凭证进行开具,尽量避免人工干预,这样就要求发票开具时能够详细记录销货原始信息。
因此,如何在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,尽量避免人工进行干预,从而提升企业内控和管理的效率,提升用户体验成为亟待解决的技术问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,通过对发票明细数据进行处理,实现智能附带销货清单,在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
有鉴于此,根据本发明的第一方面,提出了一种电子发票的生成方法,包括:获取发票票面信息,所述发票票面信息包括发票明细信息;加载发票版式文件和票面所需的字体信息;根据所述发票明细信息和所述字体信息确定发票明细行数;根据所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数;判断所述发票明细行数是否大于所述最大明细行数;根据判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
在该技术方案中,首先获取用于生成电子发票的发票票面信息,并加载用于承载该发票票面信息的发票版式文件以及发票票面信息呈现在该发票版式文件上的字体要求(即字体信息),进而通过自动判断发票票面信息中的发票明细信息的发票明细行数是否超出该发票版式文件中预留的明细行区域,即判断该发票明细行数是否大于该明细行区域能够容纳的最大明细行,从而根据判断结果确定是否需要将发票明细信息以填充到销货清单模板中的形式生成电子发票,如此,即可以确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
其中,票面所需的字体信息包括:字体类型、字号、字形等。
而进一步地,在上述技术方案中,根据发票明细信息和字体信息确定发票明细行数时,具体地可以根据发票明细信息在发票版式文件上呈现的字体类型、字号以及每行发票明细信息的字符长度确定当前的发票明细信息的发票明细行数。
进一步地,根据发票版式文件中的明细行区域的规格参数和字体信息确定明细行区域包含的最大明细行数时,具体地可以根据明细行区域的规格参数包括其区域边距、行间距以及与字体信息匹配的行高、整个明细行区域的长、宽等确定该最大明细行数。
在上述任一技术方案中,优选地,所述根据判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票的步骤,具体包括:当判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;当判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
在该技术方案中,如果发票明细信息的发票明细行数小于或等于加载的发票版式文件的最大明细行数,说明该发票版式文件的明细行区域足够用于容纳当前的发票明细信息,则无需额外加载销货清单模板即可在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息;否则,需要另外加载销货清单模板,以在生成电子发票的过程中,自动将发票明细信息详细地填充至该销货清单模板中,避免由于对销货明细进行拆分或不记录销货明细所导致的企业内控和管理效率低下,如此,发票明细信息的完整呈现则不会受发票版式文件的明细行区域的规格的限制,同时基于发票明细信息保留的完整、全面性也可以避免财务人员的核对确认工作,省时省力。
在上述任一技术方案中,优选地,所述将所述发票明细信息填充至所述销货清单模板中的步骤,具体包括:根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
在该技术方案中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域,需要将所有的发票明细信息填充至销货清单模板中时,可以根据当前加载的销货清单模板的规格参数和当前开具的电子发票包含的发票明细行数确定待填充的销货清单页数,进而将发票明细信息填充到对应页数的销货清单模板中,在确保保留详细的销货清单明细信息的同时,避免销货清单模板中留有过多的空白页,使生成的电子发票尽可能地简洁化和美观化,并避免占用多余的存储空间。
在上述任一技术方案中,优选地,在所述将所述发票明细信息填充至所述销货清单模板中的步骤之后,还包括:将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;将所述销货清单模板与所述发票版式文件合并为同一文件。
在该技术方案中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域的最大明细行数,且将所有的发票明细信息填充至销货清单模板中之后,可以进一步将发票明细信息的概要信息显示在该发票版式文件的明细行区域中,其中发票明细信息的概要信息可以包括:品名种类以及对应地合计数量、小计总额和所有的合计总额等信息,并为了便于获取销货清单模板中的发票明细信息,可以将销货清单模板的链接信息显示在该明细行区域中,具体地可以在每个品名种类对应地明细行后添加对应地其明细信息所在的销货清单页面的链接信息,实现快速精准地信息对应和定位,进一步地还可以将填充有发票明细信息的销货清单模板合并为同一文件(比如同一PDF格式的文件)确保二者的关联对应关系,如此,实现了为发票版式文件智能地附带销货清单。
在上述任一技术方案中,优选地,所述发票票面信息包括发票抬头信息;以及根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;在所述发票版式文件中生成电子签章,以生成所述电子发票。
在该技术方案中,为了生成完整、有效的电子发票,还需要在根据获取到的发票票面信息中的发票抬头信息填充发票版式文件中的发票抬头区域,进而生成电子签章。
根据本发明的第二方面,提出了一种电子发票的生成系统,包括:获取模块,用于获取发票票面信息,所述发票票面信息包括发票明细信息;加载模块,用于加载发票版式文件和票面所需的字体信息;第一处理模块,用于根据所述获取模块获取的所述发票明细信息和所述加载模块加载的所述字体信息确定发票明细行数;第二处理模块,用于根据所述加载模块加载的所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数;判断模块,用于判断所述发票明细行数是否大于所述最大明细行数;生成模块,用于根据所述判断模块的判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
在该技术方案中,首先获取用于生成电子发票的发票票面信息,并加载用于承载该发票票面信息的发票版式文件以及发票票面信息呈现在该发票版式文件上的字体要求(即字体信息),进而通过自动判断发票票面信息中的发票明细信息的发票明细行数是否超出该发票版式文件中预留的明细行区域,即判断该发票明细行数是否大于该明细行区域能够容纳的最大明细行,从而根据判断结果确定是否需要将发票明细信息以填充到销货清单模板中的形式生成电子发票,如此,即可以确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
其中,票面所需的字体信息包括:字体类型、字号、字形等。
而进一步地,在上述技术方案中,所述第一处理模块根据发票明细信息和字体信息确定发票明细行数时,具体地可以根据发票明细信息在发票版式文件上呈现的字体类型、字号以及每行发票明细信息的字符长度确定当前的发票明细信息的发票明细行数。
进一步地,所述第二处理模块根据发票版式文件中的明细行区域的规格参数和字体信息确定明细行区域包含的最大明细行数时,具体地可以根据明细行区域的规格参数包括其区域边距、行间距以及与字体信息匹配的行高、整个明细行区域的长、宽等确定该最大明细行数。
在上述任一技术方案中,优选地,所述生成模块具体用于:当所述判断模块判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;当所述判断模块判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
在该技术方案中,如果发票明细信息的发票明细行数小于或等于加载的发票版式文件的最大明细行数,说明该发票版式文件的明细行区域足够用于容纳当前的发票明细信息,则无需额外加载销货清单模板即可在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息;否则,需要另外加载销货清单模板,以在生成电子发票的过程中,自动将发票明细信息详细地填充至该销货清单模板中,避免由于对销货明细进行拆分或不记录销货明细所导致的企业内控和管理效率低下,如此,发票明细信息的完整呈现则不会受发票版式文件的明细行区域的规格的限制,同时基于发票明细信息保留的完整、全面性也可以避免财务人员的核对确认工作,省时省力。
在上述任一技术方案中,优选地,所述生成模块具体包括:处理子模块,用于根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;填充子模块,用于将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
在该技术方案中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域,需要将所有的发票明细信息填充至销货清单模板中时,可以根据当前加载的销货清单模板的规格参数和当前开具的电子发票包含的发票明细行数确定待填充的销货清单页数,进而将发票明细信息填充到对应页数的销货清单模板中,在确保保留详细的销货清单明细信息的同时,避免销货清单模板中留有过多的空白页,使生成的电子发票尽可能地简洁化和美观化,并避免占用多余的存储空间。
在上述任一技术方案中,优选地,所述生成模块具体还包括:显示子模块,用于在所述填充子模块将所述发票明细信息填充至所述销货清单模板中之后,将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;合并子模块,用于将所述销货清单模板与所述发票版式文件合并为同一文件。
在该技术方案中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域的最大明细行数,且将所有的发票明细信息填充至销货清单模板中之后,可以进一步将发票明细信息的概要信息显示在该发票版式文件的明细行区域中,其中发票明细信息的概要信息可以包括:品名种类以及对应地合计数量、小计总额和所有的合计总额等信息,并为了便于获取销货清单模板中的发票明细信息,可以将销货清单模板的链接信息显示在该明细行区域中,具体地可以在每个品名种类对应地明细行后添加对应地其明细信息所在的销货清单页面的链接信息,实现快速精准地信息对应和定位,进一步地还可以将填充有发票明细信息的销货清单模板合并为同一文件(比如同一PDF格式的文件)确保二者的关联对应关系,如此,实现了为发票版式文件智能地附带销货清单。
在上述任一技术方案中,优选地,所述发票票面信息包括发票抬头信息;以及所述生成模块还用于:根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;在所述发票版式文件中生成电子签章,以生成所述电子发票。
在该技术方案中,为了生成完整、有效的电子发票,还需要在根据获取到的发票票面信息中的发票抬头信息填充发票版式文件中的发票抬头区域,进而生成电子签章。
通过本发明的技术方案,对发票明细数据进行处理,实现智能附带销货清单,在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
附图说明
图1示出了本发明的实施例的电子发票的生成方法的流程示意图;
图2示出了本发明的实施例的电子发票的生成系统的组成示意图;
图3示出了图2所述的实施例的生成模块的组成示意图;
图4示出了本发明的实施例的电子发票的生成方案的总体流程图;
图5示出了本发明的实施例的处理发票明细信息的流程示意图。
具体实施方式
为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明的实施例的电子发票的生成方法的流程示意图。
如图1所示,根据本发明的实施例的电子发票的生成方法,具体包括以下流程步骤:
步骤102,获取发票票面信息,所述发票票面信息包括发票明细信息。
步骤104,加载发票版式文件和票面所需的字体信息。
步骤106,根据所述发票明细信息和所述字体信息确定发票明细行数。
步骤108,根据所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数。
步骤110,判断所述发票明细行数是否大于所述最大明细行数。
步骤112,根据判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
在该实施例中,首先获取用于生成电子发票的发票票面信息,并加载用于承载该发票票面信息的发票版式文件以及发票票面信息呈现在该发票版式文件上的字体要求(即字体信息),进而通过自动判断发票票面信息中的发票明细信息的发票明细行数是否超出该发票版式文件中预留的明细行区域,即判断该发票明细行数是否大于该明细行区域能够容纳的最大明细行,从而根据判断结果确定是否需要将发票明细信息以填充到销货清单模板中的形式生成电子发票,如此,即可以确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
其中,票面所需的字体信息包括:字体类型、字号、字形等。
而进一步地,在上述实施例中,根据发票明细信息和字体信息确定发票明细行数时,具体地可以根据发票明细信息在发票版式文件上呈现的字体类型、字号以及每行发票明细信息的字符长度确定当前的发票明细信息的发票明细行数。
进一步地,在上述任一实施例中,根据发票版式文件中的明细行区域的规格参数和字体信息确定明细行区域包含的最大明细行数时,具体地可以根据明细行区域的规格参数包括其区域边距、行间距以及与字体信息匹配的行高、整个明细行区域的长、宽等确定该最大明细行数。
进一步地,在上述任一实施例中,所述步骤112具体包括:当判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;当判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
在该实施例中,如果发票明细信息的发票明细行数小于或等于加载的发票版式文件的最大明细行数,说明该发票版式文件的明细行区域足够用于容纳当前的发票明细信息,则无需额外加载销货清单模板即可在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息;否则,需要另外加载销货清单模板,以在生成电子发票的过程中,自动将发票明细信息详细地填充至该销货清单模板中,避免由于对销货明细进行拆分或不记录销货明细所导致的企业内控和管理效率低下,如此,发票明细信息的完整呈现则不会受发票版式文件的明细行区域的规格的限制,同时基于发票明细信息保留的完整、全面性也可以避免财务人员的核对确认工作,省时省力。
进一步地,在上述任一实施例中,所述将所述发票明细信息填充至所述销货清单模板中的步骤,具体包括:根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
在该实施例中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域,需要将所有的发票明细信息填充至销货清单模板中时,可以根据当前加载的销货清单模板的规格参数和当前开具的电子发票包含的发票明细行数确定待填充的销货清单页数,进而将发票明细信息填充到对应页数的销货清单模板中,在确保保留详细的销货清单明细信息的同时,避免销货清单模板中留有过多的空白页,使生成的电子发票尽可能地简洁化和美观化,并避免占用多余的存储空间。
进一步地,在上述任一实施例中,在所述将所述发票明细信息填充至所述销货清单模板中的步骤之后,还包括:将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;将所述销货清单模板与所述发票版式文件合并为同一文件。
在该实施例中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域的最大明细行数,且将所有的发票明细信息填充至销货清单模板中之后,可以进一步将发票明细信息的概要信息显示在该发票版式文件的明细行区域中,其中发票明细信息的概要信息可以包括:品名种类以及对应地合计数量、小计总额和所有的合计总额等信息,并为了便于获取销货清单模板中的发票明细信息,可以将销货清单模板的链接信息显示在该明细行区域中,具体地可以在每个品名种类对应地明细行后添加对应地其明细信息所在的销货清单页面的链接信息,实现快速精准地信息对应和定位,进一步地还可以将填充有发票明细信息的销货清单模板合并为同一文件(比如同一PDF格式的文件)确保二者的关联对应关系,如此,实现了为发票版式文件智能地附带销货清单。
进一步地,在上述任一实施例中,所述发票票面信息包括发票抬头信息;以及根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;在所述发票版式文件中生成电子签章,以生成所述电子发票。
在该实施例中,为了生成完整、有效的电子发票,还需要在根据获取到的发票票面信息中的发票抬头信息填充发票版式文件中的发票抬头区域,进而生成电子签章。
进一步地,为了确保生成的电子发票的准确性和有效性,在上述步骤102中,可以进一步,校验所述发票票面信息中是否存在不符合生成当前的电子发票的要求的信息数据,比如各品名种类的单价、数量、小计总额以及合计总额等是否匹配;以及可以进一步地,在上述步骤104的加载所述发票版式文件之后,根据发票票面信息处理渲染该发票版式文件上的动态数据,确保生成电子发票过程中不能为空的区域填充有对应的信息数据。
图2示出了本发明的实施例的电子发票的生成系统的组成示意图。
如图2所示,根据本发明的实施例的电子发票的生成系统200,包括:获取模块202、加载模块204、第一处理模块206、第二处理模块208、判断模块210和生成模块212。
其中,所述获取模块202用于获取发票票面信息,所述发票票面信息包括发票明细信息;所述加载模块204用于加载发票版式文件和票面所需的字体信息;所述第一处理模块206用于根据所述获取模块202获取的所述发票明细信息和所述加载模块204加载的所述字体信息确定发票明细行数;所述第二处理模块208用于根据所述加载模块204加载的所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数;所述判断模块210用于判断所述发票明细行数是否大于所述最大明细行数;所述生成模块212用于根据所述判断模块210的判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
在该实施例中,首先获取用于生成电子发票的发票票面信息,并加载用于承载该发票票面信息的发票版式文件以及发票票面信息呈现在该发票版式文件上的字体要求(即字体信息),进而通过自动判断发票票面信息中的发票明细信息的发票明细行数是否超出该发票版式文件中预留的明细行区域,即判断该发票明细行数是否大于该明细行区域能够容纳的最大明细行,从而根据判断结果确定是否需要将发票明细信息以填充到销货清单模板中的形式生成电子发票,如此,即可以确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
其中,票面所需的字体信息包括:字体类型、字号、字形等。
而进一步地,在上述实施例中,所述第一处理模块206根据发票明细信息和字体信息确定发票明细行数时,具体地可以根据发票明细信息在发票版式文件上呈现的字体类型、字号以及每行发票明细信息的字符长度确定当前的发票明细信息的发票明细行数。
进一步地,在上述任一实施例中,所述第二处理模块208根据发票版式文件中的明细行区域的规格参数和字体信息确定明细行区域包含的最大明细行数时,具体地可以根据明细行区域的规格参数包括其区域边距、行间距以及与字体信息匹配的行高、整个明细行区域的长、宽等确定该最大明细行数。
进一步地,在上述任一实施例中,所述生成模块212具体用于:当所述判断模块210判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;当所述判断模块210判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
在该实施例中,如果发票明细信息的发票明细行数小于或等于加载的发票版式文件的最大明细行数,说明该发票版式文件的明细行区域足够用于容纳当前的发票明细信息,则无需额外加载销货清单模板即可在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息;否则,需要另外加载销货清单模板,以在生成电子发票的过程中,自动将发票明细信息详细地填充至该销货清单模板中,避免由于对销货明细进行拆分或不记录销货明细所导致的企业内控和管理效率低下,如此,发票明细信息的完整呈现则不会受发票版式文件的明细行区域的规格的限制,同时基于发票明细信息保留的完整、全面性也可以避免财务人员的核对确认工作,省时省力。
进一步地,在上述任一实施例中,如图3所示,所述生成模块212具体包括:处理子模块2122和填充子模块2124。
其中,所述处理子模块2122用于根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;所述填充子模块2124用于将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
在该实施例中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域,需要将所有的发票明细信息填充至销货清单模板中时,可以根据当前加载的销货清单模板的规格参数和当前开具的电子发票包含的发票明细行数确定待填充的销货清单页数,进而将发票明细信息填充到对应页数的销货清单模板中,在确保保留详细的销货清单明细信息的同时,避免销货清单模板中留有过多的空白页,使生成的电子发票尽可能地简洁化和美观化,并避免占用多余的存储空间。
进一步地,在上述任一实施例中,如图3所示,所述生成模块212具体还包括:显示子模块2126和合并子模块2128。
其中,所述显示子模块2126用于在所述填充子模块2124将所述发票明细信息填充至所述销货清单模板中之后,将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;所述合并子模块2128用于将所述销货清单模板与所述发票版式文件合并为同一文件。
在该实施例中,当发票明细信息的发票明细行数大于发票版式文件的明细行区域的最大明细行数,且将所有的发票明细信息填充至销货清单模板中之后,可以进一步将发票明细信息的概要信息显示在该发票版式文件的明细行区域中,其中发票明细信息的概要信息可以包括:品名种类以及对应地合计数量、小计总额和所有的合计总额等信息,并为了便于获取销货清单模板中的发票明细信息,可以将销货清单模板的链接信息显示在该明细行区域中,具体地可以在每个品名种类对应地明细行后添加对应地其明细信息所在的销货清单页面的链接信息,实现快速精准地信息对应和定位,进一步地还可以将填充有发票明细信息的销货清单模板合并为同一文件(比如同一PDF格式的文件)确保二者的关联对应关系,如此,实现了为发票版式文件智能地附带销货清单。
进一步地,在上述任一实施例中,所述发票票面信息包括发票抬头信息;以及所述生成模块212还用于:根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;在所述发票版式文件中生成电子签章,以生成所述电子发票。
在该实施例中,为了生成完整、有效的电子发票,还需要在根据获取到的发票票面信息中的发票抬头信息填充发票版式文件中的发票抬头区域,进而生成电子签章。
进一步地,为了确保生成的电子发票的准确性和有效性,所述电子发票的生成系统200还可以包括校验模块(图中未示出),用于校验所述获取模块202获取的发票票面信息中是否存在不符合生成当前的电子发票的要求的信息数据,比如各品名种类的单价、数量、小计总额以及合计总额等是否匹配;以及可以进一步地,所述电子发票的生成系统200还可以包括动态渲染模块(图中未示出),用于在所述加载模块204加载所述发票版式文件之后,根据发票票面信息处理渲染该发票版式文件上的动态数据,确保生成电子发票过程中不能为空的区域填充有对应的信息数据。
下面结合图4和图5对本发明的实施例进行具体说明。
如图4所示,根据本发明的实施例的电子发票的生成方案的总体流程主要包括以下流程步骤:
步骤402,对获取到的发票票面信息进行数据校验;
步骤404,加载票面所需的字体信息;
步骤406,加载发票版式文件;
步骤408,动态渲染发票版式文件上的动态数据;
步骤410,填充发票抬头信息;
步骤412,填充发票明细信息;
步骤414,生成电子签章。
其中,在步骤412的填充发票明细信息时,通过本发明对发票明细数据进行处理,实现智能附带销货清单,填充发票明细信息子流程如图5所示,具体包括:
步骤502,获取发票明细行数,具体根据传入的发票票面信息计算得到发票明细行数;
步骤504,计算发票版式文件的明细行区域的最大明细行数,根据模板文件规格、发票明细行高、发票明细行间距、发票明细区域边距计算可填充最大行数;
步骤506,判断发票明细行数是否大于最大明细行数,若是,执行步骤508,否则执行步骤518;
步骤508,处理发票版式文件,在明细行区域生成“详见销货清单”的链接,以及合计信息等;
步骤510,读取销货清单模板;
步骤512,计算销货清单页数,根据发票明细行数以及销货清单空白模板规格计算需要填充的销货清单页数;
步骤514,填充销货清单模板,根据发票明细信息填充销货清单模板,生成销货清单;
步骤516,将销货清单模板和发票版式文件合并;
步骤518,直接将发票明细信息填充发票版式文件的明细行区域;
步骤520,生成电子签章,对上述操作生成的发票版式文件加盖电子签章,完成电子发票的开具。
综上,电子发票开具生成版式文件的过程中,不需要人工进行干预,自动判断发票明细行数是否超出发票版式文件预留的明细行区域的最大明细行数,如果超出则自动将发票明细信息放入销货清单,并与原有发票版式文件合并在一个文件中,避免了发票进行报销时财务人员需要核对确认的过程,提升了企业内控和管理的效率,同时本发明仍然兼容之前的方案,用户能够根据各自需要进行选择。
具体的应用场景之一如下:
大型商超开具发票,目前主要开票形式主要是用户结账后,拿取购物小票前往服务台开具发票,由于开票设备一般数量较少而等待开票的人员较多,造成大量排队等待开票的情况。如果使用电子发票,在用户结账后,凭借购物小票上的网址或者二维码即可进行自主开票,节省大量客户开票时间,提升了用户满意度。
商超购买物品较多,开具电子发票时会遇到明细行数超出版式区域的问题,通过本发明方法即可在生成电子发票时自动生成销货清单,同时销货清单与发票版式文件在同一PDF文件中,节省财务入账核对购物小票与发票一致的时间。
具体操作如下:
(一)描述约定和准备工作
(1)把根据发票票面信息计算得到发票明细行数的功能记为C,其功能可以描述为N=C(V,T),其中,T为模板规格模型,N为计算得到的发票明细行数,V为发票信息;
(2)把根据发票版式文件的明细行区域计算可填充最大明细行数功能记为M,其功能可以描述为:R=M(T),其中,T为模板规格模型,R为可填充最大明细行数;
(3)把根据销货清单模板计算需填充的销货清单页数功能记为P,其功能可以描述为S=P(V,L),其中,V为发票信息,L为销货清单模板,S为销货清单页数。
(二)运行时的步骤:
(1)电子发票平台通过税控设备获取得到完整的发票票面信息(以下称为V)后,将发票票面信息传到生成发票版式文件的子系统中;
(2)生成发票版式文件时首先需要预加载字体和发票版式文件模板,获取发票版式文件模型(以下称为T);
(3)处理发票明细信息时,调用C(V,T)得到发票明细行数(以下记为N);
(4)调用M(T)得到可填充最大明细行数R;
(5)比较N和R,如果N>R,则跳转至(8);
(6)如果N<=R,则直接将发票明细信息填充至发票版式文件中;
(7)将发票版式文件进行电子签章,签章成功后返回发票版式文件;
(8)在发票版式文件的明细行区域填写“详见销货清单”,填写明细合计金额、合计数量、合计税额等;
(9)加载销货清单模板(以下记为L);
(10)调用P(V,L)得到销货清单所需页数;
(11)循环遍历销货清单,将发票明细信息填充至销货清单;
(12)将销货清单合并至发票版式文件中;
(13)将发票版式文件进行电子签章,签章成功后返回发票版式文件。
通过上面的示例,我们可以对于存在大量明细行信息的发票进行自动处理,将生成的发票版式文件与附加的销货清单一同生成为版式文件,避免了通过拆分发票或者修改明细行数据另附购物小票信息的方式,使得一个电子发票文件中包含了所有销货明细信息,节省了财务入账时的审核步骤和审核时间,同时电子销货清单也能够方便财务系统或者发票系统对于发票明细信息进行解析,促进信息化,无纸化的进一步发展。
本发明针对现有纸质发票和电子发票对于大量发票明细数据的处理方案,提供了一种更加便捷、规范、完善的方案,解决了销货明细不详、销货数据变更和财务入账时发票与销货小票核对花费大量人工和时间的问题,提供了自动根据发票明细信息量生成销货清单的方案,当发票版式文件格式发生变化时,也能够根据发票版式文件信息的动态调整生成销货清单的阈值,兼容各种版式文件,不需要根据版式文件调整生成销货清单的相关代码。同时本发明也能够兼容原有发票开具方案,使得开具发票满足不同客户的各种需求,满足客户的各种需求。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,对发票明细数据进行处理,实现智能附带销货清单,在确保方便快捷地完成电子发票开具的同时,保留详细的销货清单明细信息,且可以减少人工工作量以及节约时间,避免财务人员的大量的核对确认工作,从而提升企业内控和管理的效率,提升用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电子发票的生成方法,其特征在于,包括:
获取发票票面信息,所述发票票面信息包括发票明细信息;
加载发票版式文件和票面所需的字体信息;
根据所述发票明细信息和所述字体信息确定发票明细行数;
根据所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数;
判断所述发票明细行数是否大于所述最大明细行数;
根据判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
2.根据权利要求1所述的生成方法,其特征在于,所述根据判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票的步骤,具体包括:
当判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;
当判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
3.根据权利要求2所述的生成方法,其特征在于,所述将所述发票明细信息填充至所述销货清单模板中的步骤,具体包括:
根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;
将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
4.根据权利要求3所述的生成方法,其特征在于,在所述将所述发票明细信息填充至所述销货清单模板中的步骤之后,还包括:
将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;
将所述销货清单模板与所述发票版式文件合并为同一文件。
5.根据权利要求1至4中任一项所述的生成方法,其特征在于,所述发票票面信息包括发票头信息;以及
根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;
在所述发票版式文件中生成电子签章,以生成所述电子发票。
6.一种电子发票的生成系统,其特征在于,包括:
获取模块,用于获取发票票面信息,所述发票票面信息包括发票明细信息;
加载模块,用于加载发票版式文件和票面所需的字体信息;
第一处理模块,用于根据所述获取模块获取的所述发票明细信息和所述加载模块加载的所述字体信息确定发票明细行数;
第二处理模块,用于根据所述加载模块加载的所述发票版式文件中的明细行区域的规格参数和所述字体信息确定所述明细行区域包含的最大明细行数;
判断模块,用于判断所述发票明细行数是否大于所述最大明细行数;
生成模块,用于根据所述判断模块的判断结果确定是否获取销货清单模板并将所述发票明细信息填充至所述销货清单模板中,以生成电子发票。
7.根据权利要求6所述的生成系统,其特征在于,所述生成模块具体用于:
当所述判断模块判定所述发票明细行数小于或等于所述最大明细行数时,将所述发票明细信息填充至所述明细行区域中,以生成所述电子发票;
当所述判断模块判定所述发票明细行数大于所述最大明细行数时,将所述发票明细信息填充至所述销货清单模板中,以生成所述电子发票。
8.根据权利要求7所述的生成系统,其特征在于,所述生成模块具体包括:
处理子模块,用于根据所述销货清单模板的规格参数和所述发票明细行数确定待填充的销货清单页数;
填充子模块,用于将所述发票明细信息填充至所述销货清单页数对应的所述销货清单模板中。
9.根据权利要求8所述的生成系统,其特征在于,所述生成模块具体还包括:
显示子模块,用于在所述填充子模块将所述发票明细信息填充至所述销货清单模板中之后,将所述发票明细信息的概要信息以及所述销货清单模板的链接信息显示在所述明细行区域中;
合并子模块,用于将所述销货清单模板与所述发票版式文件合并为同一文件。
10.根据权利要求6至9中任一项所述的生成系统,其特征在于,所述发票票面信息包括发票抬头信息;以及
所述生成模块还用于:
根据所述发票抬头信息填充所述发票版式文件中的发票抬头区域;
在所述发票版式文件中生成电子签章,以生成所述电子发票。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124554.8A CN106779890B (zh) | 2016-12-08 | 2016-12-08 | 电子发票的生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124554.8A CN106779890B (zh) | 2016-12-08 | 2016-12-08 | 电子发票的生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106779890A true CN106779890A (zh) | 2017-05-31 |
CN106779890B CN106779890B (zh) | 2020-09-25 |
Family
ID=58881911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611124554.8A Active CN106779890B (zh) | 2016-12-08 | 2016-12-08 | 电子发票的生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106779890B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376332A (zh) * | 2018-03-09 | 2018-08-07 | 青岛农业大学 | 人事档案管理系统及其方法 |
CN109948130A (zh) * | 2019-03-14 | 2019-06-28 | 浙江诺诺网络科技有限公司 | 一种智能填充增值税发票商品明细的方法 |
CN110781141A (zh) * | 2019-09-07 | 2020-02-11 | 北京中科云链信息技术有限公司 | 一种获取电票抬头的方法 |
CN111192095A (zh) * | 2019-12-18 | 2020-05-22 | 航天信息股份有限公司 | 一种多联次电子发票的开具方法及系统 |
CN111199147A (zh) * | 2019-12-30 | 2020-05-26 | 航天信息股份有限公司 | 一种复合型电子凭据的生成方法及生成系统 |
CN111898982A (zh) * | 2020-07-23 | 2020-11-06 | 百望股份有限公司 | 电子发票的生成方法 |
CN112381702A (zh) * | 2020-12-02 | 2021-02-19 | 北京皮尔布莱尼软件有限公司 | 一种图像隐私处理方法、计算设备及存储介质 |
CN112668296A (zh) * | 2019-09-30 | 2021-04-16 | 北京国双科技有限公司 | 一种报销单生成方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177013A1 (en) * | 2003-02-27 | 2004-09-09 | Fenghua Zhou | Periodical auditing system and method |
CN105809496A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 一种兼容性的发票开具方法及其系统 |
CN105809499A (zh) * | 2016-05-19 | 2016-07-27 | 成都金税电子技术有限公司 | 在线开票信息采集系统 |
CN106127537A (zh) * | 2016-06-29 | 2016-11-16 | 国网浙江省电力公司杭州供电公司 | 电力发票开具系统及其工作方法 |
-
2016
- 2016-12-08 CN CN201611124554.8A patent/CN106779890B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177013A1 (en) * | 2003-02-27 | 2004-09-09 | Fenghua Zhou | Periodical auditing system and method |
CN105809496A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 一种兼容性的发票开具方法及其系统 |
CN105809499A (zh) * | 2016-05-19 | 2016-07-27 | 成都金税电子技术有限公司 | 在线开票信息采集系统 |
CN106127537A (zh) * | 2016-06-29 | 2016-11-16 | 国网浙江省电力公司杭州供电公司 | 电力发票开具系统及其工作方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376332A (zh) * | 2018-03-09 | 2018-08-07 | 青岛农业大学 | 人事档案管理系统及其方法 |
CN109948130A (zh) * | 2019-03-14 | 2019-06-28 | 浙江诺诺网络科技有限公司 | 一种智能填充增值税发票商品明细的方法 |
CN109948130B (zh) * | 2019-03-14 | 2023-03-24 | 浙江诺诺网络科技有限公司 | 一种智能填充增值税发票商品明细的方法 |
CN110781141A (zh) * | 2019-09-07 | 2020-02-11 | 北京中科云链信息技术有限公司 | 一种获取电票抬头的方法 |
CN112668296A (zh) * | 2019-09-30 | 2021-04-16 | 北京国双科技有限公司 | 一种报销单生成方法和系统 |
CN111192095A (zh) * | 2019-12-18 | 2020-05-22 | 航天信息股份有限公司 | 一种多联次电子发票的开具方法及系统 |
CN111192095B (zh) * | 2019-12-18 | 2024-03-26 | 航天信息股份有限公司 | 一种多联次电子发票的开具方法及系统 |
CN111199147A (zh) * | 2019-12-30 | 2020-05-26 | 航天信息股份有限公司 | 一种复合型电子凭据的生成方法及生成系统 |
CN111898982A (zh) * | 2020-07-23 | 2020-11-06 | 百望股份有限公司 | 电子发票的生成方法 |
CN112381702A (zh) * | 2020-12-02 | 2021-02-19 | 北京皮尔布莱尼软件有限公司 | 一种图像隐私处理方法、计算设备及存储介质 |
CN112381702B (zh) * | 2020-12-02 | 2024-03-15 | 北京皮尔布莱尼软件有限公司 | 一种图像隐私处理方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106779890B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106779890A (zh) | 电子发票的生成方法及系统 | |
JP6712738B1 (ja) | 証憑判定装置、会計処理装置、証憑判定プログラム、証憑判定システム及び証憑判定方法 | |
US8543903B2 (en) | System and method of integrating a plurality of form related workflow tools | |
CN105528642A (zh) | 一种基于计算机系统的团体机票交易方法及系统 | |
US20060277139A1 (en) | System and method for credit account management | |
CN101655950A (zh) | 一种合并支付的实现方法、装置及系统 | |
CN107358479A (zh) | 一种实现积分商城的方法及装置 | |
WO2020088175A1 (zh) | 一种单位账户的交易方法及装置 | |
WO2020024421A1 (zh) | 报销方法、装置、计算机设备和存储介质 | |
JP2008181236A (ja) | 取引装置、伝票生成方法、及び、コンピュータプログラム | |
CN108346096A (zh) | 风控系统及风控方法 | |
CN102044091A (zh) | 自助售票系统 | |
KR20140110777A (ko) | 정보 처리 시스템, 정보 처리 장치, 정보 처리 장치의 제어 방법 및 프로그램 | |
CN106339933A (zh) | 一种会计凭证的生成方法和系统 | |
CN108985540A (zh) | 一种基于网络的知识产权服务平台 | |
CN112200595A (zh) | 优惠券校验方法、支付方法、装置、设备及介质 | |
US9799070B1 (en) | System and method for aggregating and presenting financial information | |
KR20110020485A (ko) | 예산 관리 시스템 | |
CN113362025A (zh) | 数据核算系统、方法、计算机可读存储介质、电子设备 | |
CN113159859A (zh) | 一种费用调整方法和装置 | |
US20040210497A1 (en) | Expense management system, expenses management apparatus, and expense management method | |
CN108921682A (zh) | 一种增值税的处理方法、装置和系统 | |
CN111027302B (zh) | 一种基于结算模型的售电合同生成方法及系统 | |
CN114462816A (zh) | 一种基于物联网的企业erp综合管理系统 | |
CN201820269U (zh) | 自助售票系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |