如何利用Excel解决电子发票重复报销的问题?

电子普通发票是信息时代的产物,操作流程简单快捷,销售方开出电子发票后,通过网络远程传送给购买方下载并打印后即可用于报销。由于开具和获取电子发票都非常高效,所以近年来被越来越多的企业采用。

但是,电子发票存在一个巨大的漏洞:可以重复下载和打印。

这一漏洞很容易被利用,将已报销的电子发票夹杂在其他原始凭证中多次重复报销。

如果电子发票所记载的经济业务发生比较频繁,并且单张发票金额较低,那么各环节的审核人员极有可能忽略这一点而批准报销,从而给企业造成经济损失。

所以,财会人员一定要提高警惕,在审核报销凭证的过程中特别注意审查那些夹杂在原始凭证中的电子发票。但是, 依靠手工翻查前账显然是不切实际的,那么有什么好办法能够有效防范电子发票重复报销呢?

下图所示是为展示效果而预先制作并填制的Excel“电子发票报销记录表”及报销信息(说明:发票号码与发票信息均为虚拟内容)。下面分享3个Excel小妙招,帮助您堵住电子发票重复报销的漏洞。

运用“数据验证”工具设置 COUNTIF 函数公式,设定验证条件,当输入的发票号码出现重复时,即弹出对话框显示警告信息并阻止输入。

步骤01 选中 B4:B16 单元格区域→打开【数据验证】对话框→在【设置】选项卡下的【允许】列表框中选择【自定义】选项→在【公式】文本框中输入公式“=COUNTIF(B:B,B4)=1”,如左下图所示→切换至【出错警告】选项卡,设置【样式】为“停止”→设置停止的警告信息后关闭对话框。

步骤02 测试效果。在B12单元格中任意输入一个与 B4:B11单元格区域中相同的发票号码,如“56781234”,可看到弹出对话框,显示停止信息并阻止继续输入,如右下图所示。

如果觉得使用“数据验证”工具阻止输入重复数据的方式不够“温和”,可运用“条件格式” 自动填充重复数值所在单元格的颜色,对重复发票号码予以识别和提示。

步骤01 选中 B 列→单击【开始】选项卡【样式】组中的【条件格式】按钮→在弹出的下拉列表中选择【突出显示单元格规则】选项→在子列表中选择【重复值】选项,如左下图所示→弹出对【重复值】对话框后直接单击【确定】按钮即可,如右下图所示。

步骤02 测试效果。在B12单元格中输入“56781234”,即可看到 B8 和 B12单元格已被填充颜色,发挥提示作用,如下图所示。

函数公式法的思路是:制作一份简洁小巧的辅助表格,设置函数公式检验电子发票是否重复。具体思路如下图所示。

步骤01 在第 1 行上方插入 3 行→绘制表格并设置字段名称→在 A3 单元格中输入一个与B7:B14 单元格区域中相同的发票号码,如“67812345”,如下图所示。

步骤02 分别在 B3:G3 单元格区域的各单元格中设置以下公式,如下表所示。

公式效果如下图所示。

当然,真正能够堵住电子发票重复报销漏洞的关键因素是财会人员是否能够坚持不懈的做好这项工作:将原始凭证中的每一份电子发票信息记录在案,否则,无论采用以上哪种方法进行防范都将是徒劳无功。

c#中使用miniExcel和fastreport实现付款审批单的批量打印

有这么一个需求,公司财务会根据银行回单来打印付款申批单,没有软件的情况下只能在Excel表格中把付款审批单的样子做出来,然后再把银行回单的内容填进去,基本上录入一个打印一个,没什么效率不说,也无法实现查重,所以有时候会有付款给付的重复的情况出现;现在我们要给他解决一下这问题,就是通过excel把表格内容导入到软件中,在进行保存时进行查重,重复的记录就不保存了,然后可以按需要多选或单选记录来进行打印,通过fastreport设计好的模版来保障打印质量的可靠稳定,在打印时可以预览打印内容,也可以不预览直接连续打印。

在Excel中的样子

使用c#语言进行开发,选择.net4.8+winform,数据库使用的是SQL 2016,就一个数据表,用来存放审批单的内容;使用MiniExcel来实现读取excel文件并把内容加载到DataGridView中,使用Ef Core 3.1来进行数据查重和保存,通过fastreport来实现按模板打印,可以使用AntdUI来美化下界面,下面开工。

大概如下,通过【打开Excel】来实现加载表格中的数据,搜索按钮则是查询数据库中已经存在的数据,保存按钮在保存时会检测是从excel中打开的数据还是从数据库中查询出来的,如果是数据库中查询出来的,就不进行保存,然后单选或多选记录后点击打印,就能实现按模板连续或单个打印了。

由于是在.net4.8中使用ef core,所以要引用的包有些多,好些包是自动安装的,需要引用Microsoft.EntityFrameworkCore和Microsoft.EntityFrameworkCore.SqlServer,这两个都选3.1.32版本,还需要引用MiniExcel,不然没法方便导入数据。

包引用完成后,编写数据实体类,使用的是中文表名,所以写法如下

编写数据库上下文,jxc.connStr是数据库连接字符串,直接写或写配置文件中都可以

点击打开Excel时

使用miniExcel直接把表格数据转换成list<ShenPi>,在转换时会自动检查数据格式是否正确,不正确的话会报错,会提示第几行第几列出错了。

查询不管是单条件还是多条件,在ef core中实现起来简直太简单了,几行语句搞定,如果你还是使用SQL语句来实现的话,那一定要学下ef core了,两种方法都写了。

保存最主要的是查重,以前传统方式实现时,想要批量保存的话,查重就好难搞,但是用ef core就很方便了。

打印主要通过fastreport来实现,自用的话从网上找个大家都懂的版本就行了,之所以不用.net8.和ef core8.0,就是因为找不下大家都懂的版本[捂脸],设计模板这个就不写了,自己按需要和大小画就行了。

点击打印时先循环一下表格,看哪些被选中了,然后再打印,变量是随意起的,主打一个能跑就行[呲牙]

加载Execel

保存数据

打印的效果

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。