用VBA实现防伪开票系统数据导入用友软件

【摘要】在增值税纳税企业中,企业税务会计根据业务部门提出的申请,在开票系统中开具发票,销售会计则根据发票信息在财务软件中编制记账凭证。

在这个过程中,税务会计需要将开票信息输入开票系统,销售会计需要将发票信息输入财务软件,原始数据的反复输入,既重复了工作,又降低了准确性。

本文采用EXCELVBA技术,以增值税防伪税控开票子系统V7.23.10版本和用友U8软件为例,设计开发了一款将开票系统数据转换为财务系统数据接口(以下简称数据转换接口),实现了开票系统数据用友软件自动导入

【关键词】VBA 防伪开票系统 用友软件 数据导入   一、数据转换接口的开发既具有必要性又具有可能性   增值税防伪税控系统是1994年国家税务总局联合航天工业总公司等部门研制开发的,作为国家金税工程的重要组成部分,其在全国各企业中普遍使用。

防伪开票子系统,是增值税防伪税控系统的四个子系统之一,是专门用于企业开具专用发票的应用软件

然而,在V7.23.10之前的版本(以下简称旧版),防伪开票子系统发票填开过程中只能采用手动填开的方式,且其开票数据不支持导出

因此,在销售业务中,税务会计需要将业务部门提交的开票信息输入开票系统开具发票,销售会计需要将已开具发票信息输入财务软件生成记账凭证。

原始数据的重复输入造成工作繁琐、效率低下、出错率高等问题,同时也大大地消耗了企业的人力和时间。

因此,设计一款数据转换接口,实现开票系统数据直接导入财务系统生成记账凭证,十分必要。

防伪开票子系统的升级为数据转换接口的开发提供了保障。

实现数据导入,前提是获得需要导入数据

然而,旧版防伪开票子系统是不支持已开具发票数据导出的,为此,在防伪开票子系统接口领域,出现了许多商业化软件

由于相关标准的缺失,各商业化接口价格差异较大,技术水平也良莠不齐,价格低的,纳税人担心接口是否会对原系统造成损害,后续服务是否及时;价格高的,对于中小企业纳税人来讲,是一笔额外的负担。

然而,随着国家税务总局2014年第17号公告的发布,这个问题得到了较好地解决。

公告中指出,为进一步减轻纳税人负担,优化纳税服务,国家税务总局决定对纳税人使用的增值税发票税控开票软件数据接口规范予以发布。

根据公告的要求,新版的防伪开票子系统可以将已开具的发票数据税控开票软件导出导出数据提供XLS和XML两种格式),满足纳税人内部管理信息系统税控开票软件的衔接需要,数据接口规范的发布使得个人用VBA开发数据转换接口的成为了可能。

用友U8软件总账工具提供了良好的数据导入接口

用友U8软件中,总账工具是总账系统中携带的一个应用子程序,它可以实现不同账套或同一账套不同机器之间的数据传递,总账工具中的凭证引入功能可以按标准格式将TXT文本文件引入到凭证库中。

了解了标准格式TXT文件,用VBA技术将防伪开票系统导出数据转换成标准文件,即可实现数据的引入。

VBA 是Visual Basic for Application的简称,可用来扩展Windows应用程序(特别是Excel)的功能。

Excel与VBA的结合,可以使大量重复、繁琐的工作自动化,成倍地提高工作效率,在办公自动化中应用广泛。

此外,VBA代码并不需要逐句编写,用户可通过录制宏来产生所需要的代码,然后对录制的代码稍加修改便可得到自己需要的代码,这大大降低了学习VBA的门槛。

本文利用VBA处理表格方面的优越特性和易学性,将开票系统导出的XLS文件,加工处理后生成能够直接导入用友U8软件的标准格式TXT文件,实现开票数据的共享。

二、数据转换接口设计思路   首先,先从防伪税控开票子系统导出开票数据

打开开票系统,点击报税处理\抄报税管理\开票数据导出功能,系统弹出文件导出对话框,输入月份、开票日期及购方信息等,点击确定按钮,在系统弹出的对话框中选择导出文件存放路径,输入文件名,选择保存类型为XLS,点击保存按钮即可完成数据导出,在导出文件存放路径下可以查看到导出的文件。

开票系统导出数据表(以下简称数据表)结构如下:第1至第5行为纳税企业的基本信息;第6行为发票各项目的名称,A~P列依次为:A发票代码,B发票号码,C购方企业名称,D购方税号,E银行账号,F地址电话,G开票日期,H单据号,I商品名称,J规格,K单位,L数量,M单价,N金额,O税率,P税额;第7行及以下为所导出发票的具体数据

以第8行为例,列示数据如下:   A8:000001,B8:01002,C8:B公司,D8:11B,E8:X银行,F8:XX市,G8: 2014—1—2,H8:00B,I8:商品2,J8:GG02,K8:EA,L8:10,M8:20.00,N8:200.00,O8:17%,P8:34.00   假设数据表所在工作表的名称为发票数据,在VBA中表示为Sheets(发票数据)。

发票数据的第6行显示发票各项目名称,如发票代码、发票号码等,表的第7行及以下是对应项目的值,如C8单元格表示票号为01002的发票所对应的购方企业为B公司,C8单元格的值在VBA中表示为Cells(8,3),Cells两个参数8和3分别指单元格所在的行和列。

根据发票数据中的数据,足以编制出对应的分录,以第8行为例,假设出售商品2为XX公司主营业务,记入主营业务收入科目,XX公司设置应收账款科目,该科目按客户分类核算,则该分录如下:   摘要:销售B公司商品2#1002   借:应收账款(1122)B公司(11B) 234.00   贷:主营业务收入(6001) 200.00   应交税费应交销项税(22210105)   34.00   在该分录中,摘要并不能直接获取,它是将几个单元格的值和一些其他字符重新组合而成,若以ZY表示摘要,则ZY=销售Cells(8,3)Cells(8,9)#Right(Cells(8,2),4),为字符串连接符号,Right函数用于取发票号的后四位。

其次,需要了解用友软件可识别的标准格式TXT文件。

标准格式TXT文件内容如下:第1行数据填制凭证,V800,第2行及以下数据日期,类型,凭证号,附件张数,摘要,科目,借方。

2 次访问