网上开票系统设计与实现_第1页
网上开票系统设计与实现_第2页
网上开票系统设计与实现_第3页
网上开票系统设计与实现_第4页
网上开票系统设计与实现_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上开票系统设计与实现【摘要】基于C/S架构的网上开票系统的应用形成了集纳税人网上开票、税务机关网上售票和网上实时监控开票信息为一体的发票管理新模式,降低了征纳成本,强化了税源监控。更重要的是它有效地遏制了利用一般发票进行偷骗税的行为,正常用票不必再经层层审批,可以快速开具。本文首先介绍了网上开票系统的现状及开发背景,然后论述了系统的设计目标、系统需求和总体设计方案,较具体的论述了系统的具体设计和实现。最终,本文对网上开票系统作出了总结。【关键词】C/S结构;C#.net;SQL;网上开票Abstract:TheInvoiceOnlineSystemwhichbasedonC/Sstructuremakesanewpatternwhichgetstheinvoiceonline,theticketsalesonlineandtheReal-timemonitoringtogether.Itreducesthecostandstrengthensthesourcesmonitoring.Themostimportantthingisthatitcontainsthedeceitsusingtheinvoiceeffectivelyandinvoicingisfasterthanbefore.ThispaperfirstlyintroducesthestatusandthedevelopmentbackgroundabouttheOnlineInvoiceSystem.Thenitdiscussesthedesigngoal,requirements,overalldesignschemeaswellasthedesignindetailandimplementationofthesystem.Finally,thepapersummarizestheInvoiceOnlineSystem.Keywords:C/Sstructure;C#.net;SQL;InvoiceOnline

目录TOC\o"1-2"\h\z引言 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.2系统可行性分析1.2.1技术可行性近年来,一些不法分子将偷税手段转移到一般发票,利用一般发票偷税骗税现象日益突出,这就对网上开票系统的信息验证提出了较高要求。本系统是基于WindowsXP系统和SQLServer2005数据库,采纳C#语言进行开发,具有较高的稳定性和平安性。从技术上来说,采纳MicrosoftVisualStudio2005和SQLServer2005能够实现本系统。1.2.2经济可行性分析网上开票系统降低了征纳成本,强化了税源监控,使开发票便利、快捷,不必再多次外出审批。更重要的是它有效地遏制了利用一般发票进行偷骗税的行为,而且开发成本及环境要求不高。所以,本系统在经济上是可行的。1.3系统逻辑模型本系统的逻辑模型以系统的数据流程图和数据字典为主要的描述工具。数据流程图开票单位推断登录信息是否有效重新输入开票单位推断登录信息是否有效重新输入发票开具登录信息发票信息表商品开票信息表不存在存在发票信息商品开票信息图1.3.1发票开具流程图登录表●数据流表1-1登录信息流数据流名:登录信息数据流名:登录信息组成:用户编号+密码+行业来源:开票单位去向:登录表表1-2发票信息流数据流名:发票信息数据流名:发票信息组成:发票编号+开票单位+购货单位来源:开票单位去向:发票信息表表1-3商品开票信息流数据流名:商品开票信息信息数据流名:商品开票信息信息组成:商品名称+销售单位+购买单位来源:开票单位去向:商品开票信息表●加工表1-4验证登录信息加工名:登录验证加工名:登录验证输入数据:登录信息输出数据:验证信息流量:随机加工逻辑:验证用户登录信息表1-5发票开具加工名:加工名:发票开具输入数据:购方信息输出数据:发票信息流量:随机加工逻辑:生成发票并入库●数据存储表1-6登录表名称:名称:登录表组成:用户编号+密码+行业存储频率:随机表1-7发票信息表名称:名称:发票信息表组成:发票号码+发票类别+销售单位+开具时间+收款人+核对人+开票人+购货单位+总金额+是否废除+废除时间存储频率:随机表1-8商品开票信息表名称:名称:商品开票信息表组成:发票号码+商品名+规格+计量单位+单价+数量+金额+销售单位编号+购买单位编号存储频率:随机1.4系统与数据库连接分析本系统是通过VisualStudio2005自带的sqlConnection控件访问SQLServer2005数据库的。在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功能结构模块图用户登录模块:该模块用于验证用户的身份和权限,只有进行登录并通过身份验证的用户,才可以进入系统。一般用户可以进行开票等常规操作,本地管理员可对本地数据库中的商品信息表等信息进行维护,税务端管理员才可以对开票单位信息和客户信息进行维护。本系统通过对数据库中的登录表进行查询来推断用户是否合法,所运用的SQL语句为:selectcount(*)from登录表where单位编号='"+textBox1.Text+"'and密码='"+textBox2.Text+"'and行业类别='"+comboBox1.Text+"'。假如返回不为空,则说明用户合法,登录胜利。该模块流程图如下:用户登录信息完整用户登录信息完整N用户验证YYY登录胜利起先出错提示N图2-2用户注册过程流程图2.3.2发票开具模块:在该模块中,用户可以开具工业、商业等行业的统一发票,每张发票都通过税务端数据库的验证,在用户登录时,用户编码已被记录,如工业单位只能开具工业发票,且发票的开票单位信息依据登录用户编码自动生成;客户信息中只有客户名可选,其它信息也依据客户名自动生成。以上各种验证手段使发票的真实有效性给到保证。这是本系统中最关键的一部分,整个系统的核心所在。验证并自动生成购买单位信息的部分代码如下:privatevoidcomboBox4_SelectedIndexChanged(objectsender,EventArgse){if(comboBox4.Text!=null){intk;sqlConnection2.Open();sqlCommand2.CommandText="selectcount(*)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+"'";DataTabled2=newDataTable();sqlDataAdapter2.Fill(d2);textBox8.Text=d2.Rows[0][0].ToString();sqlCommand2.CommandText="select地址from客户信息表where客户名称='"+comboBox4.Text+"'";DataTabled3=newDataTable();sqlDataAdapter2.Fill(d3);textBox5.Text=d3.Rows[0][0].ToString();sqlCommand2.CommandText="select开户银行及账号from客户信息表where客户名称='"+comboBox4.Text+"'";DataTabled4=newDataTable();sqlDataAdapter2.Fill(d4);textBox10.Text=d4.Rows[0][0].ToString();}sqlConnection2.Close();};}发票废除模块:该模块用于废除已开具的发票,依据输入的发票编码废除相应的发票,后台数据库中该发票被标识已废除。2.3.4信息查询模块:包括商品信息、发票信息等的查询。2.3.5数据维护模块:包括各种信息的添加、修改和删除功能,维护权限在登录时验证。2.3.6系统维护模块:用户信息的更新。2.4数据库的设计说明 本系统采纳了SQLServer2005数据库管理系统,运用的数据库名为网上开票(本地)和网上开票(远程)。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+"'";DataSetd1=newDataSet();sqlDataAdapter1.Fill(d1);dataGridView1.DataSource=d1.Tables[0];sqlConnection1.Close();2.6系统外观设计为了使网页界面更加美观,在系统中设置了背景图片。做了简洁的美化。3.系统实现3.1软件开发工具3.1.1前台开发工具的选择当下流行的开发工具主要有Eclipse,JBuilder,NetBeans等,我选择了VisualStudio2005。当Microsoft首先发布VisualBasic之时,就通过降低其困难度从而使Windows软件开发得以广泛应用。利用VisualBasic6.0,Microsoft让数以百万计的开发人员能够快速开发客户端/服务器应用程序。最近,利用VisualStudio.NET,Microsoft又为开发人员供应了轻松开发分布式应用程序的工具与技术。通过VisualStudio2005TeamSystem,Microsoft正在解决日益增加的应用程序困难性及其设计、开发和部署所必需的生命周期问题。这一点是通过供应必需的工具和指导从而能够预见、重复结果(无需付诞生产效率和创新的代价)实现的。VisualStudioTeamSystem设计基础是扩展性模型。Microsoft供应的SDLC工具利用与第三方可用的扩展性功能相同的扩展性功能。当下流行的开发语言有Java、C#、C++等,我选择了C#。C#编程语言是由微软公司的AndersHejlsberg和ScottWillamette领导的开发小组特地为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广阔的程序员来说是比较简洁的,因为C#从C,C++和Java发展而来,它采纳了这三种语言最优秀的特点,并加入了它自己的特性。C#是事务的驱动的,完全面对对象的可视化编程语言,我们可以运用集成开发环境来编写C#程序。运用IDE,程序员可以便利的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间削减到不用IDE开发时所用时间的一小部分。运用IDE快速建立一个应用程序的过程称为快速反映开发。3.1.2后台开发工具的选择SQLServer2005DeveloperEdition(32位和64位)使开发人员可以在SQLServer上生成任何类型的应用程序。它包括SQLServer2005EnterpriseEdition的全部功能,但有许可限制,只能用于开发和测试系统,而不能用作生产服务器。DeveloperEdition是独立软件供应商(ISV)、询问人员、系统集成商、解决方案供应商以及创建和测试应用程序的企业开发人员的志向选择。DeveloperEdition可以依据生产须要升级至SQLServer2005EnterpriseEdition。SQLServer2005通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQLServer2005能够把关键的信息刚好的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从CEO到信息工作者,员工可以快速的、简洁的处理数据,以更快更好的做出决策。SQLServer2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。3.1.3软件开发平台的选择基于VisualStudio2005和MicrosoftSQLServer2005对运行环境的要求,并依据所运用电脑的实际状况,我选择了WindowsXP作为系统开发、测试和运行的平台。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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论