网上开票系统设计与实现

上传人:沈*** 文档编号:116389193 上传时间:2022-07-05 格式:DOC 页数:30 大小:1,006.50KB
返回 下载 相关 举报
网上开票系统设计与实现_第1页
第1页 / 共30页
网上开票系统设计与实现_第2页
第2页 / 共30页
网上开票系统设计与实现_第3页
第3页 / 共30页
点击查看更多>>
资源描述
网上开票系统设计与实现【摘要】基于C/S架构的网上开票系统的应用形成了集纳税人网上开票、税务机关网上售票和网上实时监控开票信息为一体的发票管理新模式,降低了征纳成本,强化了税源监控。更重要的是它有效地遏制了利用普通发票进行偷骗税的行为,正常用票不必再经层层审批,可以快速开具。本文首先介绍了网上开票系统的现状及开发背景,然后论述了系统的设计目标、系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网上开票系统作出了总结。【关键词】C/S结构;C#.net;SQL;网上开票Abstract: The Invoice Online System which based on C/S structure makes a new pattern which gets the invoice online,the ticket sales online and the Real-time monitoring together. It reduces the cost and strengthens the sources monitoring. The most important thing is that it contains the deceits using the invoice effectively and invoicing is faster than before. This paper firstly introduces the status and the development background about the Online Invoice System.Then it discusses the design goal, requirements,overall design scheme as well as the design in detail and implementation of the system. Finally,the paper summarizes the Invoice Online System.Key words: C/S structure; C#.net;SQL; Invoice Online 目 录引言11系统分析11.1网上开票系统模型分析11.2系统可行性分析21.3系统逻辑模型31.4系统与数据库连接分析51.5功能需求分析52系统设计62.1系统设计目标62.2开发设计思想62.3系统详细设计72.4数据库的设计说明92.5数据库连接路径设置132.6系统外观设计133系统实现133.1软件开发工具133.2系统运行界面154系统开发总结23参考文献24附 录251.系统运行环境252.系统运行步骤25致 谢26引言近年来,随着金税工程的不断完善,增值税专用发票违法行为初步得到控制,一些不法分子又将偷税手段转移到普通发票,利用普通发票偷税骗税现象日益突出,税务部门对此高度重视。目前,手写版普通发票的发票开具存在很多问题与弊端。一方面很容易作弊。如发票开具不规范、少项缺栏、涂改发票等现象外,以下是几种常见的未按规定开具发票的行为,极易导致税款的大量流失:一是不开发票、大头小尾、单联填开是违规开具的主流,这三种形式仍是当前利用普通发票偷逃税款的常用手段;二是跨行业国、地税发票混开现象普遍;三是开具旧版作废发票屡禁不止;四是转借、转让、代开发票比比皆是;五是一些单位将一些限制列支的招待费和回扣等非法支出费用,变通为其他费用入账;六是虚开可抵扣的“四小票”,一些企业大量虚开农产品收购凭证、废旧物资销售发票、货运发票等,特别是肆意虚开农产品收购凭证、废旧物资销售发票现象严重;七是开具白条收据屡禁不绝;八是开具伪造假发票时有发生。另一方面用票被规定要经层层审批,难以快速开具。因此网上开票系统的设计与开发即显得及时与有效,有了网上系统后,一些行业的纳税人用票难问题迎刃而解。不仅如此,这套系统的应用也形成集纳税人网上开票、税务机关网上售票和网上实时监控开票信息为一体的发票管理新模式,降低了征纳成本,强化了税源监控。更重要的是它有效地遏制了利用普通发票进行偷骗税的行为。1系统分析1.1开票模型分析本系统是一个基于C/S架构的网上开发票系统,主要以工商业发票为主。本系统前台的主要功能模块包括用户登录、发票开具、发票废除、信息查询等模块。同时,为了便于管理员对发票信息、商品信息、开票单位信息等的增加、删除、修改等操作,本系统还提供了后台数据维护模块。值得一提的是,由于网上开票系统涉及客户端开票和税务端验证信息两方面的操作,所以本系统的后台数据库有两个。实际应用中应该是一个远程数据库放在税务端服务器,另一个本地数据库放在客户端开票单位的服务器中,但由于系统演示的条件有限,暂把两个数据库放在一台服务器上。下面就对以上模块逐一介绍:1.1.1用户登录模块:该模块用于验证用户的身份和权限,只有进行登录并通过身份验证的用户,才可以进入系统。普通用户可以进行开票等常规操作,本地管理员可对本地数据库中的商品信息表等信息进行维护,税务端管理员才可以对开票单位信息和客户信息进行维护。1.1.2 发票开具模块:在该模块中,用户可以开具工业、商业等行业的统一发票,每张发票都通过税务端数据库的验证,在用户登录时,用户编码已被记录,如工业单位只能开具工业发票,且发票的开票单位信息根据登录用户编码自动生成;客户信息中只有客户名可选,其它信息也根据客户名自动生成。以上各种验证手段使发票的真实有效性给到保证。1.1.3发票废除模块:该模块用于废除已开具的发票,根据输入的发票编码废除相应的发票,后台数据库中该发票被标识已废除。1.1.4信息查询模块:该模块用于查询发票信息、商品信息、开票单位信息和客户信息等。1.1.5后台数据维护模块:该模块用于管理员依自身权限对后台的两个数据库进行增删改等维护操作。1.1.6后台系统维护模块:该模块用于实现后台维护管理用户的增加、删除及修改。为了保证信息维护的安全性,在进入对应后台维护管理模块时要依据管理员用户身份进入。1.2系统可行性分析1.2.1技术可行性近年来,一些不法分子将偷税手段转移到普通发票,利用普通发票偷税骗税现象日益突出,这就对网上开票系统的信息验证提出了较高要求。本系统是基于Windows XP系统和SQL Server 2005数据库,采用C#语言进行开发,具有较高的稳定性和安全性。从技术上来说,采用Microsoft Visual Studio 2005和SQL Server 2005能够实现本系统。1.2.2经济可行性分析网上开票系统降低了征纳成本,强化了税源监控,使开发票方便、快捷,不必再多次外出审批。更重要的是它有效地遏制了利用普通发票进行偷骗税的行为,而且开发成本及环境要求不高。所以,本系统在经济上是可行的。1.3系统逻辑模型本系统的逻辑模型以系统的数据流程图和数据字典为主要的描述工具。1.3.1 数据流程图开票单位判断登录信息是否有效重新输入发票开具登录信息发票信息表商品开票信息表不存在存在发票信息商品开票信息图1.3.1 发票开具流程图登录表1.3.2数据字典 数据流表1-1 登录信息流数据流名:登录信息组成:用户编号密码行业来源:开票单位去向:登录表表1-2 发票信息流数据流名:发票信息组成:发票编号开票单位购货单位来源:开票单位去向:发票信息表表1-3 商品开票信息流数据流名:商品开票信息信息组成:商品名称销售单位购买单位来源:开票单位去向:商品开票信息表 加工表1-4 验证登录信息加工名: 登录验证输入数据:登录信息输出数据:验证信息 流量: 随机加工逻辑:验证用户登录信息表1-5 发票开具加工名:发票开具输入数据:购方信息输出数据:发票信息 流量: 随机加工逻辑:生成发票并入库 数据存储表1-6 登录表名称:登录表组成:用户编号+密码+行业存储频率:随机表1-7 发票信息表名称:发票信息表组成:发票号码+发票类别+销售单位+开具时间+收款人+核对人+开票人+购货单位+总金额+是否废除+废除时间存储频率:随机表1-8 商品开票信息表名称:商品开票信息表组成:发票号码+商品名+规格+计量单位+单价+数量+金额+销售单位编号+购买单位编号存储频率:随机1.4系统与数据库连接分析本系统是通过Visual Studio 2005自带的sqlConnection控件访问SQL Server 2005数据库的。在ConnectionString中新建连接,随后将sqlCommand的Connection属性作相应修改,最后将sqlDataAdapter的SelectCommand等属性做相应修改。在ConnectionString中新建连接时,选择数据库时最好选用本地服务器,这样,在程序被拷贝到其它服务器时则不必再重新配置属性,而只需附加数据库。1.5功能需求分析根据分析,本系统需要实现以下功能:(1) 发票开具:在该模块中,用户可以开具工业、商业等行业的统一发票,每张发票都通过税务端数据库的验证,在用户登录时,用户编码已被记录,如工业单位只能开具工业发票,且发票的开票单位信息根据登录用户编码自动生成;客户信息中只有客户名可选,其它信息也根据客户名自动生成。以上各种验证手段使发票的真实有效性给到保证。(2) 发票废除:该模块用于废除已开具的发票,根据输入的发票编码废除相应的发票,后台数据库中该发票被标识已废除。(3) 发票信息管理:根据不同权限实现发票信息的增加、删除、修改等处理操作。调用、更新数据库。(4) 开票单位信息管理:根据不同权限实现开票单位信息的增加、删除、修改等处理操作。调用、更新数据库。(5) 商品信息管理:根据不同权限实现商品信息的增加、删除、修改等处理操作。调用、更新数据库。(6) 商品开票信息管理:根据不同权限实现商品开票信息的增加、删除、修改等处理操作。调用、更新数据库。(7) 客户信息管理:根据不同权限实现客户信息的增加、删除、修改等处理操作。调用、更新数据库。(8) 用户管理:用户确保客户信息的时效性,管理人员可以查询对应用户的信息 ,并可以修改和删除指定用户的相关信息。2系统设计2.1 系统设计目标根据网上开票系统的特点,系统实施后,应达到以下具体目标:开票验证手段强,保证发票的真实性和准确性。 提供快速查询功能:信息查询灵活、方便、快捷、准确。 系统运行稳定、架构清晰、界面友好美观,系统操作灵活、简便,实用性强。 提供数据和系统维护功能:管理员可依据权限更新两个数据库中内容。2.2 开发设计思想 网上开票系统主要为开具真实、准确的发票。在用户登录时,用户编码已被记录,如工业单位只能开具工业发票,且发票的开票单位信息根据登录用户编码自动生成;客户信息中只有客户名可选,其它信息也根据客户名自动生成。以上各种验证手段使发票的真实有效性给到保证。 界面操作应当简单、直观化,做到实用、方便,满足客户的需求。 系统总体实现以下规范:通过文本注释使输入数据符合格式规范,减少不必要的处理。 科学化:实现程序代码标准化,软件统一化,确保软件的可维护性和实用性。2.3 系统详细设计本系统设计为基于C/S架构的网上开票系统。在对系统功能进行详细分析后,设计实现了如下网上开票系统发票开具发票废除信息查询信息维护工业发票商业发票农业发票工业发票废除商业发票废除农业发票废除开票单位信息客户信息查询商品销售信息发票信息开票单位信息客户信息查询商品销售信息发票信息图2-1功能结构模块图2.3.1用户登录模块:该模块用于验证用户的身份和权限,只有进行登录并通过身份验证的用户,才可以进入系统。普通用户可以进行开票等常规操作,本地管理员可对本地数据库中的商品信息表等信息进行维护,税务端管理员才可以对开票单位信息和客户信息进行维护。本系统通过对数据库中的登录表进行查询来判断用户是否合法,所使用的SQL语句为:select count(*) from 登录表 where 单位编号= + textBox1.Text + and 密码= + textBox2.Text + and 行业类别= + comboBox1.Text + 。如果返回不为空,则说明用户合法,登录成功。 该模块流程图如下:用户登录信息完整N用户验证YYY登录成功开始出错提示N图2-2 用户注册过程流程图2.3.2发票开具模块:在该模块中,用户可以开具工业、商业等行业的统一发票,每张发票都通过税务端数据库的验证,在用户登录时,用户编码已被记录,如工业单位只能开具工业发票,且发票的开票单位信息根据登录用户编码自动生成;客户信息中只有客户名可选,其它信息也根据客户名自动生成。以上各种验证手段使发票的真实有效性给到保证。这是本系统中最关键的一部分,整个系统的核心所在。验证并自动生成购买单位信息的部分代码如下:private void comboBox4_SelectedIndexChanged(object sender, EventArgs e) if (comboBox4.Text != null) int k; sqlConnection2.Open(); sqlCommand2.CommandText = select count(*) from 客户信息表 where 客户名称= + comboBox4.Text + ; k = (int)sqlCommand2.ExecuteScalar(); if (k = 1) textBox8.ReadOnly = true; textBox5.ReadOnly = true; textBox10.ReadOnly = true; sqlCommand2.CommandText = select 税务登记代码 from 客户信息表 where 客户名称= + comboBox4.Text + ; DataTable d2 = new DataTable(); sqlDataAdapter2.Fill(d2); textBox8.Text = d2.Rows00.ToString(); sqlCommand2.CommandText = select 地址 from 客户信息表 where 客户名称= + comboBox4.Text + ; DataTable d3 = new DataTable(); sqlDataAdapter2.Fill(d3); textBox5.Text = d3.Rows00.ToString(); sqlCommand2.CommandText = select 开户银行及账号 from 客户信息表 where 客户名称= + comboBox4.Text + ; DataTable d4 = new DataTable(); sqlDataAdapter2.Fill(d4); textBox10.Text = d4.Rows00.ToString(); sqlConnection2.Close(); ; 2.3.3发票废除模块:该模块用于废除已开具的发票,根据输入的发票编码废除相应的发票,后台数据库中该发票被标识已废除。2.3.4信息查询模块:包括商品信息、发票信息等的查询。 2.3.5数据维护模块:包括各种信息的添加、修改和删除功能,维护权限在登录时验证。2.3.6系统维护模块:用户信息的更新。2.4 数据库的设计说明本系统采用了SQL Server 2005数据库管理系统,使用的数据库名为网上开票(本地)和网上开票(远程)。2.4.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库能充分满足各种信息的输入和输出要求。在仔细分析和调查有关系统需求的基础上,得到系统的实体属性定义及实体联系(E-R)图:发票信息表(发票号码,发票类别,销售单位,开具时间,收款人,核对人,开票人,购货单位,总金额,是否废除,废除时间)商品信息表(商品编号,商品名,规格,计量单位,单价)商品开票信息表(发票号码,商品名,规格,计量单位,单价,数量,金额,销售单位编号,购买单位编号)开票单位信息表(单位编号,单位名称,行业,联系电话,传真,地址,税务登记代码,开户银行及账号)客户信息表(客户编号,客户名称,联系电话,传真,地址,税务登记代码,开户银行及账号)发票包含商品开票单位客户开具购买交易11mnmnn1销售mn图2-3 系统E-R图2.4.2数据库逻辑结构设计在上面的实体以及实体之间关系的基础上,形成各个数据表之间的关系。本网上开票系统用到了2个数据库的总共6张表,具体如下:表2-1 网上开票(本地)数据库表序号物理表名1商品信息表2登录表3商品开票信息表4发票信息表表2-2 网上开票(远程)数据库表序号物理表名1开票单位信息表2客户信息表各数据表结构详细说明如下:表2-3 商品信息表序号列名数据类型1商品编号Char(10)2商品名varchar(50)3规格varchar(50)4计量单位varchar(50)5单价money表2-4 登录表序号列名数据类型1单位编号char(10)2密码char(10)3登录身份varchar(50)表2-5 商品开票信息表序号列名数据类型1发票号码varchar(50)2商品名varchar(50)3规格varchar(50)4计量单位varchar(50)5单价float6数量int7金额money8销售单位编号varchar(50)9购买单位编号varchar(50)表2-6 发票信息表序号列名数据类型1发票号码char(10)2发票类别char(10)3销售单位varchar(50)4开具时间datetime5收款人char(10)6核对人char(10)7开票人char(10)8购货单位varchar(50)9总金额money10是否废除varchar(50)11废除时间varchar(50)表2-5 开票单位信息表序号列名数据类型1单位编号char(10)2单位名称varchar(50)3行业char(10)4联系电话varchar(50)5传真varchar(50)6地址varchar(50)7税务登记代码varchar(50)8开户银行及账号varchar(50)表2-5 客户信息表序号列名数据类型1客户编号char(10)2客户名称varchar(50)3联系电话varchar(50)4传真varchar(50)5地址varchar(50)6税务登记代码varchar(50)7开户银行及账号varchar(50)2.5 数据库连接设置本系统采用SQL数据库,其中连接数据库的部分代码如下:sqlConnection1.Open(); sqlCommand1.CommandText = select * from 开票单位信息表 where 单位编号= + Form1.bb + ; DataSet d1 = new DataSet(); sqlDataAdapter1.Fill(d1); dataGridView1.DataSource = d1.Tables0; sqlConnection1.Close();2.6 系统外观设计为了使网页界面更加美观,在系统中设置了背景图片。做了简单的美化。3系统实现3.1 软件开发工具3.1.1前台开发工具的选择当下流行的开发工具主要有Eclipse, JBuilder,NetBeans等,我选择了Visual Studio 2005。当 Microsoft 首先发布 Visual Basic 之时,就通过降低其复杂度从而使 Windows 软件开发得以广泛应用。利用 Visual Basic 6.0,Microsoft 让数以百万计的开发人员能够快速开发客户端/服务器应用程序。最近,利用 Visual Studio .NET,Microsoft 又为开发人员提供了轻松开发分布式应用程序的工具与技术。通过 Visual Studio 2005 Team System,Microsoft 正在解决日益增加的应用程序复杂性及其设计、开发和部署所必需的生命周期问题。这一点是通过提供必需的工具和指导从而能够预见、重复结果(无需付出生产效率和创新的代价)实现的。Visual Studio Team System 设计基础是扩展性模型。Microsoft 提供的 SDLC 工具利用与第三方可用的扩展性功能相同的扩展性功能。当下流行的开发语言有Java、C#、C+等,我选择了C#。C#编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C+和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。3.1.2后台开发工具的选择SQL Server 2005 Developer Edition(32 位和 64 位)使开发人员可以在 SQL Server 上生成任何类型的应用程序。它包括 SQL Server 2005 Enterprise Edition 的所有功能,但有许可限制,只能用于开发和测试系统,而不能用作生产服务器。Developer Edition 是独立软件供应商 (ISV)、咨询人员、系统集成商、解决方案供应商以及创建和测试应用程序的企业开发人员的理想选择。Developer Edition 可以根据生产需要升级至 SQL Server 2005 Enterprise Edition。SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从CEO 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。3.1.3软件开发平台的选择基于Visual Studio 2005和Microsoft SQL Server 2005对运行环境的要求,并根据所使用电脑的实际情况,我选择了Windows XP作为系统开发、测试和运行的平台。3.2 系统运行界面3.2.1登录界面:供用户输入信息以验证权限。图3-1信息不合法,则给出提示,重新输入:图3-2全部操作都可用时:图3-3管理员登录后界面:图3-4常规用户的操作被隐去,因为开具发票、发票废除和常规查询都与登录用户代号密切相关,而管理员本身并没有开票权限(税务端无验证信息)。图3-5图3-63.2.2管理员进行增删改操作的界面:图3-7添加后点击“显示所有信息”更新数据库。图3-8图3-9图3-103.2.3普通用户登录:图3-11登陆后界面,维护操作被隐去,常规操作可用。图3-123.2.4开具发票界面:销售单位信息自动生成,且不可更改,信息调用由登录用户代码决定。购货单位名称可选,其它信息自动生成且不可更改。图3-133.2.5发票废除界面:图3-14只能废除本单位开具的发票。图3-153.2.6查询界面:图3-16图3-174系统开发总结网络开票的核心功能是“实时数据采集、同步数据传输与反馈。防伪税控开票子系统在网络开票模式下,纳税人在开具发票的同时,税务机关的服务器中就能实时采集其开票信息,这样纳税人就不再需要每月到税务机关进行报税;税务机关服务器实时采集开票方的开票信息后,服务器可及时将票面信息以电子数据的形式通过网络再同步反馈给受票方的防伪税控开票子系统;受票方取得发票后,如果手工输入的纸质发票代码、号码、税额等信息与税务机关服务器反馈数据一致,那么就可以证实该发票信息是真实的,这对打击假发票具有重要作用,同时一般的中小型企业就可以不再需要到税务机关排队认证发票或购置扫描设备进行认证。网络开票能够减轻纳税人的办税负担也能减轻税务机关的工作负担,首先网络开票的实时数据采集、同步数据反馈功能,既可以大量减轻税务机关办税服务厅的认证和报税工作,也能够对纳税人的开票情况进行24小跟踪监控,使税务机关“以票控税”的监管能力明显增强。在网络开票模式下,抵扣方(一般纳税人)需要先将纸质增值税专用发票的票面信息输入系统,与税务机关服务器反馈的开票方的开票信息比对一致后,抵扣发票数据才能被系统接受,抵扣方纳税人才能抵扣该张发票(如果是作废票、涉案虚开票或其他已被系统认定为无效的发票,系统可不予处理(或抵扣)并自动提醒受票方)。“先比对、后抵扣(或先比对,后处理)”功能,能够大幅度减少当前的各种涉票调查,减轻基层税务机关的调查工作负担,提高纳税人鉴别发票真伪的能力,对降低各类发票违法案件,降低纳税人不必要税收发风险都具有积极意义。参考文献:1 卢锦玲, 栗然, 刘艳.基于动态数据交换的地调操作票系统.华北电力大学学报.20042 廖小平, 韦元养, 钟志华.用户自主制式的通用开票可视化设计系统.电力系统自动化.20033 王少荣, 程时杰, 田莉芬.基于可视化网络的防误操作系统.20044 彦志军. C#完全解析.人民教育出版社.20065 浙江地税普通发票开票软件简易操作问答.20086(美)恰坡(Chappell,D).NET大局观(第2版).电子工业出版社.2006 7 (美)里伯提(Liberty.J.).Programming C#中文版(第4版).电子工业出版社.2007 8 赵松涛SQL Server 2005系统管理实录电子工业出版社2006 9 胡百敬,姚巧玫.SQL Server 2005 数据库开发详解.电子工业出版社.2006 附 录1. 系统运行环境1.1软件环境操作系统: Windows 2000及以上版本数据库:SQL Server 2005及以上版本运行环境:Microsoft Visual Studio 2005及以上版本1.2硬件环境表附录-1 硬件环境配置表内 容建议配置 主 机PIII 500MHz及以上 内 存128MB 硬 盘40G 显示器VGA以上2. 系统运行步骤开机 运行系统登录执行功能退出图附录-1 系统运行步骤
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!