您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 金税防伪开票“升级版”组件接口2.0 软件方案
“升级版”组件接口2.0软件方案(补充稿20150331)一、版本说明该技术方案是7.23版组件接口技术方案的补充部分。版本匹配关系:开票版本(V2.0.10.150211)VS组件接口(V2.0.10.150227)开票版本(V2.0.10.150319)VS组件接口(V2.0.10.150316)二、接口功能1.设置数字证书密码说明:除通过属性方式设置证书密码外,还可以在开票软件Bin目录下创建文件cert.txt,并将证书密码保存在此文件中,组件接口会自动读取文件内容作为证书密码。2.开启金税盘属性名称CertPassWord说明本项功能在开启金税盘前首先调用。如果未设置默认为88888888输入数字证书密码输出无方法名称OpenCard()说明本接口开启并占用金税设备,初始化各项参数,分配软件所需各项资源。如果尚未调用此功能而调用其它功能,则会产生返回码为1的尚未开启金税盘的错误。当数字证书密码错误时,也会导致金税盘开启失败。输入无输出名称说明RetCode1011开启成功;其它为失败RetMsg错误描述信息InvLimit单张增专票的价税合计限额。没有增专授权时,返回0如果没开卡就调用,返回0在150227版本后增加了开票限额,传入发票种类,可获取对应的开票限额。3.查询库存发票4.发票开具方法:Invoice();功能:传入开票数据,将开票数据记入防伪税控开票数据库,并在金税盘中开具此发票。输入:5.1增值税专、普票(1)发票整体信息SellerAddress–当InfoKind=2(普通发票)时:若赋值为“1”表示农产品销售发票,若赋值为“2”表示农产品收购发票,其它表示增值税普通发票(2)发票明细信息注意:支持一票多税率,明细行税率以发票整体信息中的InfoTaxRate当前值为准5.2货物运输业发票(1)发票整体信息传入发票整体信息前调用InvInfoInit()方法初始化发票整体信息各项属性。InvInfoInit();方法名称GetInfo()说明从金税盘读取发票库存数量及其它参数输入名称说明InfoKind发票种类:0增值税专用发票;2增值税普通发票;11货物运输业增值税专用发票;12机动车销售统一发票输出名称说明RetCode3011读取成功;其它为失败RetMsg错误描述信息InfoKind=11;如果是负数票给属性InfoClientAddressPhone传字符串“1”,如:InfoClientAddressPhone=WideString(1).Copy();InfoClientName=实际受票方InfoClientTaxCode=实际受票方纳税人识别号ConsignerName=收货人ConsignerTaxCode=收货人纳税人识别号ShipperName=发货人ShipperTaxCode=发货人纳税人识别号OriginViaArrivalPlace=起运地、经由、到达地InfoListName=运输货物信息InfoTaxRate=税率(5%传5)VehicleKindNo=车种车号VehicleTonnage=车船吨位InfoNotes=备注InfoCashier=收款人InfoChecker=复核人(2)费用项目:情况费用项目列表:ClearInvList();循环调用传入费用项目InvListInit();ListGoodsName=费用项目ListAmount=金额ListPriceKind=是否含税金额ListTaxAmount=税额(如果不传,或传零接口自动计算)AddInvList();5.3机动车销售统一发票InvInfoInit();InfoKind=12;InfoClientAddressPhone=“1”旧版、“2”新版InfoClientTaxCode=纳税人识别号InfoClientName=购货单位IDCard=身份证号码、组织机构代码VehicleKind=车辆类型BrandModel=厂牌型号OriginPlace=产地QualityCertificate=合格证号ImpCertificateNo=进口证明书号CommInspectionNo=商检单号EngineNo=发动机号码VehicleNo=车辆识别代号、车辆号码ManufacturerName=生产厂家名称AmountTaxTotal=价税合计SellerPhone=销货单位电话SellerAccount=销货单位账号SellerAddress=地址SellerBank=开户银行InfoTaxRate=税率(5%传5)Tonnage=吨位PeopleNo=限乘人数InfoNotes=备注(正数票不要传备注,负数票传相应格式的备注)输出:RetCode:4011开票成功;其它失败。RetMsg:错误描述信息5.设置发票上传模式6.发票上传属性名称UploadInvoiceAuto说明设置已开具发票的上传模式0手工上传1自动上传(默认)设置为自动上传后,每次开具成功后自动将发票信息上传到局端数据库,下一张发票开具前自动更新已上传发票的本地状态信息。设置为手工上传时,需要分别调用上传和下载接口完成发票报送。输入0、1输出无方法名称UploadInvoice()说明本项功能在发票开具接口(Invoice)调用成功后调用。若不设置输入参数,则手工将刚刚开具的发票信息上传到局端。若设置输入参数,则将指定的发票数据上传到局端输入名称说明InfoTypeCode要上传的十位发票代码InfoNumber要上传的发票号码7.发票状态更新8.发票打印方法:PrintInv();功能:调用防伪开票标准打印程序,打印指定发票;输入:InfoKind–发票种类(0:专用发票2:普通发票11:货物运输业增值税专用发票12:机动车销售统一发票)InfoTypeCode–要打印发票的十位代码InfoNumber–要打印发票的号码9.已开发票作废方法:CancelInv();功能:在金税卡及防伪开票数据库中作废已开发票;输入:InfoKind–发票种类(0:专用发票;2:普通发票;11:货物运输业增值税专用发票;12:机动车销售统一发票)InfoTypeCode–要作废发票的代码InfoNumber–要作废发票的号码输出:RetCode:6011作废成功;其它失败输出名称说明RetCode8000上传成功;其它为失败RetMsg错误描述信息方法名称UpdateInvoiceStatus()说明本项功能在发票上传接口(UploadInvoice)调用成功后调用。手工更新已成功上传到局端的发票本地状态信息。输入无输出名称说明RetCode8050上传成功;其它为失败RetMsg错误描述信息RetMsg:错误描述信息10.关闭金税卡方法:CloseCard();功能:释放对金税卡的设备占用,释放其它占用的资源;输入:无输出:RetCode:9000调用成功;其它失败RetMsg:错误描述信息11.开启/关闭开票系统手工开票作废功能方法:EnHand();功能:开启/关闭开票系统手工开票作废功能,下次启动开票软件时生效(需在金税盘开启后调用);输入:HandMade–开启/关闭选项(0:开启1:关闭),调用方法前设置此属性值。输出:RetCode:9000调用成功;其它失败RetMsg:错误描述信息12.发票查询方法:QryInv();功能:查询发票信息;输入:InfoBillNumber–销售单据编号或InfoKind–发票种类(0专用发票;2普通发票;11货物运输业增值税专用发票;12机动车销售统一发票)InfoTypeCode–发票代码InfoNumber–发票的号码销售单据编号与发票种类、代码、号码只传入一个即可输出:RetCode:7011查询成功;其它失败RetMsg:错误描述信息InfoKind–发票种类(0专用发票;2普通发票;11货物运输业增值税专用发票;12机动车销售统一发票)InfoTypeCode–发票代码InfoNumber–发票号码InfoBillNumber–销售单据编号InfoAmount–合计不含税金额InfoTaxAmount–合计税额InfoInvDate–开票日期PrintFlag–打印标志(0:已打印1:未打印)UploadFlag–发票报送状态(0:未报送,1:报送成功,2报送失败,3报送中,4验签失败)五、发票填开注意事项1、负数发票开具货物运输发票的负数票需将InfoClientAddressPhone属性赋值为“1”,且备注中注明“开具红字货物运输业增值税专用发票信息表编号XXXXXXXXXXXXXXX”,其中X为信息表编号。开具机动车销售统一发票的负数票需在备注中注明“对应正数发票代码:XXXXXXXXXX号码:YYYYYYYY”字样,其中“X”为发票左上角10位或12位代码数字,“Y”为发票右上角8位号码数字。六、调用方式举例下面仅以C++Build语言为例分几种情况作一举例:1、生成发票的情况1)货物运输发票GoldTax-InvInfoInit();GoldTax-InfoKind=11;if(开具负数发票)GoldTax-InfoClientAddressPhone=WideString(1).Copy();GoldTax-InfoClientName=WideString(sjspf).Copy();实际受票方GoldTax-InfoClientTaxCode=WideString(sjspfnsrsbh).Copy();实际受票方纳税人识别号GoldTax-ConsignerName=WideString(shr).Copy();收货人GoldTax-ConsignerTaxCode=WideString(shrnsrsbh).Copy();收货人纳税人识别号GoldTax-ShipperName=WideString(fhr).Copy();发货人GoldTax-ShipperTaxCode=WideString(fhrnsrsbh).Copy();发货人纳税人识别号GoldTax-OriginViaArrivalPlace=WideString(qydjyddd).Copy();起运地、经由、到达地GoldTax-InfoListName=WideString(yshwxx).Copy();运输货物信息GoldTax-InfoTaxRate=StrToFloat(slv)*100;税率GoldTax-VehicleKindNo=WideString(czch).Copy();车种车号GoldTax-VehicleTonnage=WideString(ccdw).Copy();车船吨位GoldTax-InfoNotes=WideString(bz).Copy();备注GoldTax-InfoCashier=WideString(skr).Copy();收款人GoldTax-InfoChecker=WideString(fhrr).Copy();复核人GoldTax-ClearInvList();tblMxTable-First();while(!tblMxTable-Eof){GoldTax-InvListInit();GoldTax-ListGoodsName=WideString(ListGoodsName).Copy();费用项目GoldTax-ListAmount=atof(ListAmount.c_str());金额(不含说GoldTax-AddInvList();tblMxTable-Next();}GoldTax-CheckEWM=1;(校验填1,开票填0)GoldTax-Invoice();开票成功后获得的一些存库值:开票日期=GoldTax-InfoDate;合计税额=GoldTax-InfoTaxAmount;合计金额=GoldTax-InfoAmount;机器编号=GoldT
本文标题:金税防伪开票“升级版”组件接口2.0 软件方案
链接地址:https://www.777doc.com/doc-1907726 .html