收藏 分销(赏)

中国移动营改增报账平台公共服务包设计说明书样本.docx

上传人:快乐****生活 文档编号:3667295 上传时间:2024-07-12 格式:DOCX 页数:36 大小:471.62KB
下载 相关 举报
中国移动营改增报账平台公共服务包设计说明书样本.docx_第1页
第1页 / 共36页
中国移动营改增报账平台公共服务包设计说明书样本.docx_第2页
第2页 / 共36页
中国移动营改增报账平台公共服务包设计说明书样本.docx_第3页
第3页 / 共36页
中国移动营改增报账平台公共服务包设计说明书样本.docx_第4页
第4页 / 共36页
中国移动营改增报账平台公共服务包设计说明书样本.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、中国移动“营改增”报账平台改造公共服务包设计说明书中国移动通信7月V0.1目录1概述11.1本文档适用范围11.2参考文件11.3术语和定义11.3.1符号和缩略语11.3.2表单图例21.4背景情况21.4.1报账平台建设历程及现实状况21.4.2营改增业务要求及影响31.5总体说明31.5.1系统改造目标31.5.2系统改造范围31.5.3系统改造要求42功效改造52.1提交报账单验证52.2数据库脚本62.3相关表类及hbm文件更新62.4进项抵扣凭证Tab页实现82.5税率字段页面展示92.6初核会计步骤增加提交税务会计认证132.7导入类接口增加返回消息日志统计172.8增加测试用w

2、ebservice项目192.9增加营改增系统开关242.10视同销售导入应付和总账261 概述1.1 本文档适用范围为规范营业税改征增值税(简称“营改增”)所需系统改造,根据省企业层面“营改增”现有基础代码,特制订本说明书。1.2 参考文件1.3 术语和定义名词解释报账平台各企业所属市/县企业和企业本部进行财务报销、报账系统平台。该系统平台提供了报账信息采集、审批、传输和财务审核功效;经过预定义报账信息和财务信息间关系自动生成会计凭证信息,为ERP系统核实处理和凭证归档提供支持;并能提升财务集中核实和结算正确性和效率ERP接口平台实现财务集中管理相关应用和其它ERP扩展应用和ERP关键系统之

3、间步骤耦合和数据交互系统平台进项抵扣凭证增值税进项抵扣凭证包含增值税专用发票、货物运输业增值税专用发票、进口海关增值税专用缴款书、税收通用缴款书、购置免税农产品一般发票、公路内河货物运输业统一发票、机动车销售统一发票、铁路货票等。进项税额转出企业购进货物发生很损失(非经营性损失),和将购进货物改变用途(如用于非应税项目、集体福利或个人消费等),其抵扣进项税额应经过“应交税费应交增值税(进项税额转出)”科目转入相关科目,不给予抵扣。1.3.1 符号和缩略语缩写英文描述汉字描述ERPEnterprise resource planning特指中国移动ORACLE ERP系统BOSSBusiness

4、&Operation Support System特指中国移动业务运行支撑系统OAOffice Automation特指中国移动统一信息平台系统COAChart of Account特指中国移动会计科目1.3.2 表单图例表单图例说明表示必填项,无此标识为非必填项表示条形码表示默认值或由系统自动生成表示复选框表示值列表表示动作按钮表示滚动条1.4 背景情况1.4.1 报账平台建设历程及现实状况中国移动于开启报账平台试点省份建设,并于进行了全国推广,开启集团总部、管理学院、研究院报账平台建设。后续,各省结合集团报账规范和本省报账业务对报账平台进行多轮扩展建设。,为配合”全方面预算系统”建设,全国

5、各省及集团总部报账平台进行了相关改造,实现了和全方面预算系统对接。,报账业务扩展到”薪酬管理”领域,全国各省及集团总部报账平台和薪酬管理系统进行对接。,报账平台进行了”渠道酬金”相关报账建设改造及和BOSS侧CRM系统对接,实现了对渠道酬金报账业务支撑。此次为适应“营改增”政策,将对报账平台进行新一轮改造建设,以满足“营改增”业务需求,计划全国各省按集团要求,在9月、10月分批完成改造并上线。1.4.2 营改增业务要求及影响9月北京、江苏等8省市分批试点营改增业务,估计邮电通信行业也将纳入试点,到国家税务总局提出十二五时期要进行全方面实施改革,完整运行增值税链条机制。增值税链条机制要求价税分离

6、,商品价格和税金分离,收入、成本费用、资本开支、利润全部将受到影响。基于上述情况,报账平台需要进行对应改造以满足营改增业务需求。1.5 总体说明1.5.1 系统改造目标报账平台“营改增”改造,其目标是满足“营改增”报账业务需求,具体建设目标以下: 实现报账价税分离实现报账单据价税分离,使其能够统计进项抵扣凭证信息、价税分离数据,并依据价税分离信息进行相关控制和自动入账。 实现“发票信息”录入和“发票认证结果”查看在报账单中录入统计发票信息,实现对发票信息和报账信息一体化管理,报账系统从集团统一建设发票管理模块同时发票认证状态,进行查看。1.5.2 系统改造范围 支出类报账单全部包含通常纳税人供

7、给商付款业务报账单均需要“营改增”改造,需要对报账单模板、校验逻辑进行调整。 收入类报账单对于需要开具增值税销项发票收款业务,其报账单均需要进行“营改增”改造,需要对报账单模板、校验逻辑进行调整。 支出类报账步骤对于上述包含“营改增”改造支出类报账单,其报账步骤需要进行对应改造。 相关系统接口为满足“营改增”业务,ERP、发票、预算、协议、采购、SOA接口平台等相关系统均需要进行改造,并由集团统一新建发票管理模块,报账平台和上述相关系统接口也需要进行新增或调整,增加价税分离数据项、发票信息传输和相关控制逻辑。1.5.3 系统改造要求 统一规范各省企业根据集团统一“营改增”业务规范和系统改造方案

8、,对报账平台进行改造建设。 时间进度要求为满足“营改增”实施时间要求,各省企业需要在7月底以前完成报账平台开发,按统一时间安排并完成和相关系统调整对接及上线。 业务兼容性要求各省报账平台能够同时满足增值税业务和非增值税业务功效要求。2 功效改造2.1 提交报账单验证整体思绪:定义统一验证接口,将验证按功效实现为一个单独验证器类。因为各省情况不一,此次只将营改增部分抽出实现。提议各省在以后将原有验证方法按功效全部实现为一个个单独验证器类。统一验证接口及营改增部分验证器:描述文件com.ibm.org.reimbursement.service.validator:验证器类src/spring-c

9、laim-validator.xml1. 在SubmitClaimService.java注入validatorSet并增加validateForVAT方法/验证列表protected LinkedHashSetvalidatorSet;public void setValidatorSet(LinkedHashSetvalidatorSet) this.validatorSet = validatorSet;/* * 营改增通用提交步骤验证 * return true or false */protected booleanvalidateForVAT(IMessageObjectmo, V

10、alidateErrors errors)/验证IteratorvalidatorIt=validatorSet.iterator();while(validatorIt.hasNext()IValidator validator=validatorIt.next();if(validator.validate(mo, errors)=false)return errors.isNoError();return errors.isNoError();2. 修改需要进行营改增报账单提交类,在提交类中validate方法中调用validateForVAT方法。3.public boolean va

11、lidate(IMessageObjectmo, ValidateErrors errors) 此处省略原有验证代码validateForVAT(mo, errors);return errors.isNoError();4. 修改spring配置文件l 在AppBeanContext.xml最终增加l 在AppBeanContext.xmlsessionFactory Bean中新增hibernatehbm文件/com/ibm/org/reimbursement/pojo/hbm/TVatInvoiceauth.hbm.xmll 在需要进行营改增报账单提交类配置中增加:蓝色部分为验证器类,现

12、在中央组统一给出四个验证器实现,vatDaysValidator验证器:实现增值税发票期限120天限制,当开票日期超出120天时不许可提交。purchaseOrderValidator验证器:实现含有增值税发票采购订单报账单必需选择含进项抵扣凭证。contractAmountValidator验证器:实现协议价款、税款、累计价款、累计税款、报账金额之间关系验证。businessActivityValidator验证器:实现依据业务小类控制是否必填必需填写进项抵扣凭证。2.2 数据库脚本V0.8有变更2.3 相关表类及hbm文件更新l BaseTRmbsClaim.java/营改增增加字段/*

13、是否含进项抵扣凭证 */private java.lang.StringisHasVoucher;/* 协议价款 */private java.math.BigDecimalcontractPriceAmount;/* 协议税款 */private java.math.BigDecimalcontractTaxAmount;/* 协议累计价款 */private java.math.BigDecimalcontractAccumPriceAmount;/* 协议累计税款 */private java.math.BigDecimalcontractAccumTaxAmount;/* 供给商税务资

14、质 */private java.lang.StringvendorTaxQuality;/* 价款 */private java.math.BigDecimalpriceAmount;/* 进项税款 */private java.math.BigDecimalinputTaxAmount;/* 销项税额 */private java.math.BigDecimaloutputTaxAmount;/* 认证状态,0-未认证,1-认证成功,2-认证不成功(含部分成功) */private java.lang.StringinvoiceAuthState;l TRmbsClaim.hbm.xml是

15、否有进项抵扣凭证,0-没有,1-有协议价款协议税款协议累计价款协议累计税款供给商税务资质价款进项税款销项税额认证状态,0-未认证,1-认证成功,2-认证不成功(含部分成功)l BaseTRmbsClaimLine.java/营改增增加字段/* 进项抵扣凭证种类 */private java.lang.StringvoucherCategory;/* 进项税率 */private java.math.BigDecimalinputTaxRate;/* 进项税款 */private java.math.BigDecimalinputTaxAmount;/* 价款 */private java.ma

16、th.BigDecimalpriceAmount;/* 是否视同销售,1-视同销售 */private java.lang.StringisEquateSale;/* 销项税率 */private java.math.BigDecimaloutputTaxRate;/* 销项税额 */private java.math.BigDecimaloutputTaxAmount;l TRmbsClaimLine.hbm.xml进项抵扣凭证种类进项税率进项税款价款是否视同销售,1-视同销售销项税率销项税款2.4 进项抵扣凭证Tab页实现描述文件com.ibm.org.reimbursement.serv

17、ice.tvatinvoice:抵扣联凭证serviceWebRoot/templates/tvatinvoice:抵扣联凭证页面WebRoot/rmbs/claimprint/paste.jsp:抵扣联附件src/com/ibm/org/reimbursement/pojo/hbm/TVatInvoiceauth.hbm.xml:抵扣发票联hbmsrc/com/ibm/org/reimbursement/pojo/TVatInvoiceauth.java:抵扣发票联pojo2.5 税率字段页面展示为了实现税率字段页面以百分数显示(),数据库使用小数保留。需要根据步骤操作:1. 在src/co

18、m/ibm/org/reimbursement/util/下新增加一个类。2. 修改类src/com/ibm/org/reimbursement/util/ActionXMLTransformer.javafldType2ForegroundVarType方法,增加蓝色部分代码以下:/* * 将字段类型转换为前台XML类型。 * param fldType * return */private String fldType2ForegroundVarType(String fldType)TypeConversion tc = new TypeConversion();if( fldType.

19、equals(ItemFldTransformer.FLD_TYPE_INTEGER) /整型return int;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_PERCENT) /百分型return com.ibm.org.reimbursement.util.Percent;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DECIMAL) /浮点型return java.math.BigDecimal;else if(fldType.equals(ItemFldTransforme

20、r.FLD_TYPE_DATE) /日期类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DATETIME) /时间类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_LONG)return java.lang.Long;else /字符串类型return java.lang.String;3. 修改类src/com/ibm/org/reimbursement/util/ClaimRecordPri

21、vilege.javafldType2ForegroundVarType方法,增加蓝色部分代码以下:private String fldType2ForegroundVarType(String fldType)if( fldType.equals(ItemFldTransformer.FLD_TYPE_INTEGER) /整型return int;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_PERCENT) /百分型return com.ibm.org.reimbursement.util.Percent;else if(fldTyp

22、e.equals(ItemFldTransformer.FLD_TYPE_DECIMAL) /浮点型return java.math.BigDecimal;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DATE) /日期类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DATETIME) /时间类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE

23、_LONG)return java.lang.Long;else /字符串类型return java.lang.String;4. 修改类src/com/ibm/org/reimbursement/util/ItemFldTransformer.java增加变量:public static String FLD_TYPE_PERCENT = 7;在方法中增加蓝色代码以下:/* * 将一个字符串类型值,根据字段类型转换成对应类型。 * param strValue * param fldType * return */public static Object convertString2Obje

24、ct(String strValue,String fldType)TypeConversion tc = new TypeConversion();if( fldType.equals(FLD_TYPE_INTEGER) /整型return tc.string2Integer(strValue);else if(fldType.equals(ItemFldTransformer.FLD_TYPE_PERCENT) /百分型return tc.string2Percent(strValue);else if(fldType.equals(FLD_TYPE_DECIMAL) /浮点型return

25、 tc.string2Bigdecimal(strValue);else if(fldType.equals(FLD_TYPE_DATE) /日期类型return tc.string2Date(strValue);else if(fldType.equals(FLD_TYPE_DATETIME) /时间类型return tc.string2Date(strValue);else if(fldType.equals(FLD_TYPE_LONG) /长整型return tc.string2Long(strValue);else /字符串类型return strValue;5. 修改类src/com

26、/ibm/org/reimbursement/util/RecordPrivilege.javafldType2ForegroundVarType方法,增加蓝色部分代码以下:private String fldType2ForegroundVarType(String fldType)TypeConversion tc = new TypeConversion();if( fldType.equals(ItemFldTransformer.FLD_TYPE_INTEGER) /整型return int;else if(fldType.equals(ItemFldTransformer.FLD_

27、TYPE_PERCENT) /百分型return com.ibm.org.reimbursement.util.Percent;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DECIMAL) /浮点型return java.math.BigDecimal;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DATE) /日期类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_DATETIME)

28、 /时间类型return java.util.Date;else if(fldType.equals(ItemFldTransformer.FLD_TYPE_LONG)return java.lang.Long;else /字符串类型return java.lang.String;6. 修改类src/com/ibm/org/reimbursement/util/TypeConversion.javaobject2String和string2Object方法,并增加新方法string2Percent,以下蓝色部分代码:/* * 将对象转换为字符串 * param obj * return */p

29、ublic String object2String(Object obj,String fldType)if( obj = null )return ;if( obj instanceof String)return obj.toString();else if( obj instanceof java.lang.Integer )return obj.toString();else if( obj instanceof java.math.BigInteger )return obj.toString();else if( obj instanceof java.lang.Long )re

30、turn obj.toString();else if(obj instanceof java.math.BigDecimal& fldType!=null & fldType.equals(com.ibm.org.reimbursement.util.Percent)return (new com.ibm.org.reimbursement.util.Percent(java.math.BigDecimal)obj).toPercentString();else if(obj instanceof java.math.BigDecimal& fldType!=null & fldType.e

31、quals(#.#) return (new java.text.DecimalFormat(0.0000).format(obj).toString();else if(obj instanceof java.math.BigDecimal)return (new java.text.DecimalFormat(0.00).format(obj).toString();else if(obj instanceof java.lang.Double)return (new java.text.DecimalFormat(0.00).format(obj).toString();else if(

32、 obj instanceof java.util.Date & fldType!=null & fldType.equals(5)return DateUtil.dateFormat(obj,yyyy-MM-dd HH:mm:ss);else if( obj instanceof java.util.Date)return DateUtil.dateFormat(obj, yyyy-MM-dd);elsereturn obj.toString();/* * 将字符串类型根据类型转换为对应Object * param strValue * param classType * return */

33、public Object string2Object(String strValue,String classType)if( classType = null )return strValue;if( (strValue = null) |( strValue.equals() & (!classType.toLowerCase().equals(java.lang.string)return null; if( classType.toLowerCase().equals(java.lang.integer) | classType.toLowerCase().equals(int)return new java.lang.Integer(strValue);else if(classType.toLowerCase().equals(com.ibm.org.reimbursement.util.percent)return new com.ibm.org.reimbursement.util.Percent(strValue).toBigDecimal();else if(classType.toLowerCase().equals(java.math.bigdecimal)r

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服