SAP、百望,进项发票一体化对接
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
SAP、SRM-百望接口
SAP、SRM相关页面中加按钮‘导入发票号’,实现单点登录百望界面,百望开发选择发票号界面,选择完成后调用接口,实现保存发票号,对SAP中参照、分配等进行赋值或对srm相关字段进行赋值。 SAP中发票预制凭证导入功能,同时保存进百望系统。
SRM相关页面
百望反馈: 根据以上说明,先整理以下:
1.指定单点登录规则,校验身份的方式,和SAP提供的接口。 a)如何获取校验身份的token b)SAP提供接口,根据返回字段标明身份验证成功或失败
2.百望提供页面: a)百望提供页面url b)参数:购方名称,发票时间范围起和止,其他参数? c)页面:发票需要显示哪些列?实际业务中,最多可能有多少张发票?默认是否是都打勾?默认根据开票日期排序?是否需要分页?显示合计信息:发票张数,金额之和,税额之和? d)点击确定按钮之后,通过何种方式将这些发票信息传给SAP?通过js传递给父窗口,还是在后台通过接口传递?
效果图:
百望进项标准版 对接服务接口文档说明 一、进项介绍百望进项管理系统是百望开发的为企业管理进项发票的系统,从发票的入库、查验、认证都进行数字化管控,大大增加了企业内部发票流转的效率,提高财税人员的工作效率。 本接口文档是百望进项标准版接口文档,客户入驻标准版本后,都可使用本接口跟百望进项标准版进行交互,系统根据税号为客户提供进项数据接口服务。 二、加密规则每个接入用户提供一个用户名AccessKeyID、秘钥AccessKeySecret;使用秘钥基于HMC-SHA1算法进行请求内容的加密和解密; 三、URL生成调用URL地址: 1> 2> 3>版本号,默认为1.0(参考文档版本的前两位数字) 4> URL字符说明: Ÿ对于字符 A-Z、a-z、0-9 以及字符“-”、“_”、“.”、“~”不编码; Ÿ对于其他字符编码成 “%XY” 的格式 Ÿ对于扩展的 UTF-8 字符,编码成 “%XY%ZA…” 的格式 Ÿ需要说明的是英文空格( )要被编码是 %20,而不是加号(+) Ÿ时间类型"yyyy-MM-dd'T'HH:mm:ss'Z'" ŸSignatureNonce为32位随机数UUID,时效为10分钟。
5> Signature生成规则: Ÿ连接内容排序:将本URL中,除Signature外其他所有参数,按照参数名称的字典顺序 Ÿ使用AccessKeySecret基于HMC-SHA1算法加密 Ÿ对加密结果用MD5加密
举例参数: ŸAccessKeyID=userid ŸAccessKeySecret=password ŸTimeStamp=2016-02-23 12:46:24 ŸSignatureNonce=123456 Ÿ根据参数名排序后: AccessKeyID=userid&SignatureNonce=123456&TimeStamp=2016-02-23T12:46:24 Ÿ使用AccessKeySecret基于HMC-SHA1算法加密及MD5加密算法示范:
Ÿ输出结果:D29569843EB9DFA0F59E921F32D24973
四、标准接口列表(一)初始化数据说明: 初始化发票数据,当前申报期内可认证所有发票状态改成“未同步”。
入参说明
JSON入参说明: { “TaxNo”:”” //初始化发票的税号 }
JSON出参说明: 成功: { "model": { Success:"", //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:"" //返回码对应信息(见附表一) }, "request_id": "b560f311-4e29-48b9-9bc1-f378bca02516", "message": { "success_message": "调用[初始化]接口成功!" }, "success": true }
失败: { "request_id": "0bac9791-178f-4d93-871e-14757043a27e", --请求ID,用于定位问题 "message": { "error_code": "", --失败的CODE "error_message": "" --失败提示语 }, "success": false --失败标志 }
出参说明:
(二)取数说明: 获取任务结果,一次最多返回一千条发票;每天调用一次、初始化成功后调用。可获取当前申报期内可认证的所有发票。
入参说明
JSON入参说明: { “TaxNo”:”” //取数税号 }
JSON出参说明: 成功: { "model": { TaskNo:””, //任务编号 InvoiceQuantity:””, //发票数量 PeriodYear:””, //当前税款所属期年份 PeriodMonth:””, //当前税款所属期月份 OperationDateBegin:””, //当前可操作时间起(YYYY-MM-DD) OperationDateEnd:””, //当前可操作时间止(YYYY-MM-DD) DateFrameBegin:“”, //当前可操作时间范围起(YYYY-MM-DD) DateFrameEnd:“”, //当前可操作时间范围止(YYYY-MM-DD) FollowTask:””, //是否有后续任务true/false;无后续任务则不需要再次获取 Success:””, //调用API是否成功:true/false Code:“”, //返回码(见附表一) Message:””, //返回码对应信息(见附表一) InvoiceList:[ //发票列表 { No:””, //序号 InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 InvoiceType:””, //发票种类01-增值税专用发票 02-货运运输业增值税专用发票 03-机动车销售统一发票 14-通行费增值税电子普通发票 BillingDate:" ", //开票日期:YYYY-MM-DD State:"1", //发票状态(0-正常1-失控 2-作废 3-红冲 4-异常) PurchaserTaxNo:"", //购方税号 TotalAmount:””, //合计金额 TotalTax:””, //合计税额 SalesTaxNo:"", //销方税号 SalesTaxName:"", //销方名称 Deductible:””, //是否认证 0-未认证 1-已认证 DeductibleDate:””, //认证日期 如果已认证则为YYYY-MM-DD,未认证则为空 DeductiblePeriod:””,//税款所属期 如果已认证则为YYYYMM,未认证则为空 "IsAgencyRebate": "0", // 是否代办退税(1为是,0为否) "CertificationType":"1"//认证类型 1为抵扣,2为出口退税,3为代理出口退税 }, ]
}, "request_id": "", "message": { "success_message": "调用[取数]接口成功!" }, "success": true }
失败: { "request_id": "", --请求ID,用于定位问题 "message": { "error_code": "", --失败的CODE "error_message": "" --失败提示语 }, "success": false --失败标志 } 出参说明:
(三)取数任务接收成功反馈说明: 当前任务号获取成功
入参说明:
JSON入参说明: { “TaxNo”:””, //通知取数成功税号 “TaskNo”:””, //任务号 }
JSON出参说明: 成功: { "model": { Success:"", //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:"" //返回码对应信息(见附表一) }, "request_id": "b560f311-4e29-48b9-9bc1-f378bca02516", "message": { "success_message": "调用[取数成功反馈]接口成功!" }, "success": true }
失败: { "request_id": "0bac9791-178f-4d93-871e-14757043a27e", --请求ID,用于定位问题 "message": { "error_code": "", --失败的CODE "error_message": "" --失败提示语 }, "success": false --失败标志 } 出参说明:
(四)认证抵扣申请说明: 确认当前税款所属期抵扣,申请提交后,接口会根据web端设置的一步认证标识进行判断,如为开启状态,则直接提交税局认证。如为关闭状态,则本接口中的发票进入待认证列表,需要去web端进行确认后完成认证。
入参说明:
JSON入参说明:(JSON串) { “TaxNo”:””, //税号 “Period”:””, //税控所属期 (YYYYMM) “InvoiceList”:[ { InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 PurchaserTaxNo:"", //购方税号 CertificationType:"" //认证类型 1为抵扣,2为出口退税,3为代理出口退税 } ] }
JSON出参说明: 成功: { "model": { TaskList:[ { InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 TaskNo:"" //任务号 }, ] Success:””, //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:”” //返回码对应信息(见附表一) }, "request_id": "b560f311-4e29-48b9-9bc1-f378bca02516", "message": { "success_message": "调用[申请抵扣]接口成功!" }, "success": true }
失败: { "request_id": "0bac9791-178f-4d93-871e-14757043a27e", --请求ID,用于定位问题 "message": { "error_code": "", --失败的CODE "error_message": "" --失败提示语 }, "success": false --失败标志 } 出参说明:
(五)认证抵扣结果同步说明: 获取抵扣结果
入参说明
JSON入参说明:(JSON串) { “TaxNo”:””, //税号 “InvoiceCode”:"", //发票代码 “InvoiceNumber”:"", //发票号码 “TaskNo”:”” //任务号 }
JSON出参说明: 成功: { "model": { TaxNo:””, //税号 Success: ””, //调用API是否成功:true/false Code: ””, //返回码(见附表一) Message: ””, //返回码对应信息(见附表一) InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 TaskNo: ””, //任务号 ResultCode: ””, //处理结果 1-成功 2-无此票 3-该票异常无法认证 4-该票已经认证 5-该票已经逾期无法认证 6-该票已经申请认证 7-申请认证月份已过期 8-其它异常 11-该票已作废 12 –该发票已红冲 13-未到申报期 14-该发票税号不匹配 15-红字发票不可认证 16-认证类型错误0-任务执行中 DeductibleDate: ””, //认证日期 如果已认证则为YYYY-MM-DD,未认证则为空 DeductiblePeriod: ””,//税款所属期 如果已认证则为YYYYMM,未认证则为空 CertificationType:"" //认证类型 1为抵扣,2为出口退税,3为代理出口退税 }, "request_id": "b560f311-4e29-48b9-9bc1-f378bca02516", "message": { "success_message": "调用[获取抵扣结果]接口成功!" }, "success": true }
失败: { "request_id": "0bac9791-178f-4d93-871e-14757043a27e", --请求ID,用于定位问题 "message": { "error_code": "", --失败的CODE "error_message": "" --失败提示语 }, "success": false --失败标志 } 出参说明
(六)发票查验
入参说明
JSON入参说明: { “TaxNo”:””, //税号 “InvoiceCode”:””, //发票代码 “InvoiceNumber”:””, //发票号码 “BillingDate”:””, //开票日期:YYYY-MM-DD “CheckCode_6”:””, //校验码后6位(普票、电子普票、卷式普票必填) “TotalAmount”:”” //合计金额,必须精确到两位小数(专票、货运专票、机动车专票必填) }
JSON出参说明: 成功: { "model": //1、增值税专用发票 { InvoiceType:"01", //增值税专用发票 Data: { AdministrativeDivisionNo:””,//所属行政区编码 AdministrativeDivisionName:””,//所属行政区名称 InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 BillingDate:"", //开票日期:YYYY-MM-DD PurchaserName:"", //购方名称 PurchaserTaxNo:"", //购方税号 PurchaserBank:"", //购方开户行账户 PurchaserAddressPhone:"",//购方地址电话 SalesName:"", //销方名称 SalesTaxNo:"", //销方税号 SalesAddressPhone:"", //销方地址电话 SalesBank:"", //销方开户行账户 TotalAmount:"", //合计金额 TotalTax:"", //合计税额 AmountTax:"", //价税合计 AmountTaxCN:"", //价税合计_中文 Remarks:"", //备注 MachineCode:"", //机器编码 CheckCode:"", //校验码 State:"", //发票状态(1:正常;2:作废;) InvoiceList:[ //发票详细信息列表 { RowNo:"", //行号(从1开始) CommodityCode:"", //商品编码 CommodityName:"", //货物或应税劳务名称 SpecificationModel:"", //规格型号 Unit:"", //单位 Quantity:"", //数量 UnitPrice:"", //单价 Amount:"", //金额 TaxRate:"", //税率 Tax:"" //税额 }, ] }, Success:"", //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:"" //返回码对应信息(见附表一) }
//2、货运运输业增值税专用发票 { InvoiceType:"02", //货运运输业增值税专用发票 Data: { AdministrativeDivisionNo:””,//所属行政区编码 AdministrativeDivisionName:””,//所属行政区名称 InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 BillingDate:"", //开票日期:YYYY-MM-DD CarrierName:"", //承运人名称 CarrierTaxNo:"", //承运人识别号 DraweeName:"", //受票方名称 DraweeTaxNo:"", //受票方识别号 PurchaserName:"", //收货人名称 PurchaserTaxNo:"", //收货人识别号 SalesName:"", //发货人名称 SalesTaxNo:"", //发货人识别号 TotalAmount:"", //合计金额 CargoInformation:"", //运输货物信息 TransportRoute:"", //起运地、经由、到达地 TaxRate:"", //税率 TotalTax:"", //合计税额 MachineCode:"", //税控盘号 AmountTax:"", //价税合计 AmountTaxCN:"", //价税合计_中文 AutomobileType:"", //车种车号 Tonnage:"", //车船吨位 TaxAuthorityNo:"", //主管税务机关 TaxAuthorityName:"", //主管税务名称 Remarks:"", //备注 State:"", //发票状态(1:正常;2:作废;) InvoiceList:[ { RowNo:"", //行号(从1开始)\ CommodityCode:"", //商品编码 CommodityName:"", //费用项目 Amount:"" //金额 }, ] }, Success:"", //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:"" //返回码对应信息(见附表一) }
//3、机动车销售统一发票 { InvoiceType:"03", //机动车销售统一发票 Data: { AdministrativeDivisionNo:””,//所属行政区编码 AdministrativeDivisionName:””,//所属行政区名称 InvoiceCode:"", //发票代码 InvoiceNumber:"", //发票号码 BillingDate:"", //开票日期:YYYY-MM-DD MachineCode:"", //机器编码 PurchaserName:"", //购方名称 IDCardNo:"", //身份证号码/组织机构代码 PurchaserTaxNo:"", //购方税号 VehicleType:"", //车辆类型 BrandModel:"", //厂牌型号 OriginPlace:"", //产地 CertificateNo:"", //合格证号 Amount:"", //不含税价 InspectionListNo:"", //商检单号 EngineNo:"", //发动机号 VehicleNo:"", //车辆识别代号/车架号码 ImportCertificateNo:"", //进口证明书号 SalesName:"", //销方名称 SalesPhone:"", //销方地址电话 SalesTaxNo:"", //销方税号 SalesBankNo:"", //账号 SalesAddress:"", //销方地址 SalesBank:"", //销方开户行账户 TaxRate:"", //税率 Tax:"" //税额 TaxAuthorityNo:"", //主管税务机关 AmountTax:"", //价税合计 AmountTaxCN:"", //价税合计_中文 PaymentVoucherNo:"", //完税凭证号码 Tonnage:"", //吨位 PassengersLimited:"", //限乘人数 State:"", //发票状态(1:正常;2:作废;) TaxAuthorityName:"", //主管税务名称 }, Success:"", //调用API是否成功:true/false Code:"", //返回码(见附表一) Message:"" //返回码对应信息(见附表一) } |