3.开票接口文档

## 3.1 个体户开票申请 >d 该接口用于个体户开票申请,获取开票的订单号开票金额等信息 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 注意 >d 1.在调用开票申请接口前,需要调用 [个体户信息查询接口](https://easydoc.net/doc/38214856/sLYGhH4w/zozXPLbL)查询 返回的taxStatus - 税务状态的状态变更为“已实名”,只有变更后,才能提交该个体户的开票申请;仅限新注册的个体户。 >2. 如果是老的个体户只需调用一次,保存在本地,后续可以不需要再去查询该个体户的税务状态信息。 #### 接口地址: /open/api/v1/qs/invoice/selfInvoicesApply #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |idCard|个体户身份证号|String| 是|示例:4104221993XXXX1278| |invoiceClassification| 开票类型|int| 是|0.普票 1.专票| |mainstayId|主体id|int| 否|示例:1| |remark| 备注|String| 否|示例:"XX"| #### 接口响应参数data字段解密后的参数说明: >d 注意:该接口响应参数是list集合数据 |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |allTotalInvoiceAmount|开票金额(汇总)|BigDecimal| 是|此参数与list为同级| |allShouldInvoiceAmount|应开票金额(汇总)|BigDecimal| 是|此参数与list为同级| |nonInvoicedAmount|不可开票金额|BigDecimal| 是|此参数与list为同级| |provisionalInvoiceNo|确认号|String| 是|该参数用于下个确认接口,此参数与list为同级| |list|开票信息集合|List<QsOpenApiSelfInvoicesApply>|是| #### QsOpenApiSelfInvoicesApply: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |invoiceAmount|开票金额|BigDecimal| 是|示例:11.05| |totalIncomeTaxAmount|个体户已缴纳个税|BigDecimal| 是|示例:1.05| |totalTaxableAmount|应纳税金额|BigDecimal| 是|示例:11.05| |totalInvoiceAmount|发放前开票金额|BigDecimal| 是|示例:2.05| |invoiceStatus|开票状态|Integer| 是|参看[系统编码 - 开票状态码](https://easydoc.net/doc/75132717/8V9YDbr8/6Riyzg63)| |name|个体户姓名|String| 是|示例:"王某某"| |idCard|个体户身份证号|String| 是|示例:"4104221993XXXX1278"| |mainstayId|主体id|Integer| 是|示例:1| |invoiceContent|发票内容|String| 是|示例:"信息技术服务*技术服务费"| |purchaserInvoiceTitle|购买方发票抬头|String| 是|示例:"xx"| |purchaserTaxNumber|购买方税号|String| 是|示例:"91990512MA2B6AME1N"| |purchaserAddressPhone|购买方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |purchaserBankAccount|购买方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| |sellerInvoiceTitle|销售方发票抬头|String| 是|示例:"xx"| |sellerTaxNumber|销售方税号|String| 是|示例:"4104221993XXXX1278"| |sellerAddressPhone|销售方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |sellerBankAccount|销售方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| ## 3.2 个体户开票申请确认 >d 该接口用于个体户开票申请后查看信息无误后确认开票 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/qs/invoice/selfInvoicesApplyConfirm #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |provisionalInvoiceNo|确认号,上个接口获取|String| 是|示例:"20211515151515151"| |settlementCertUrl|结算单证明链接|String| 否|| |settlementCertCustomUrl|自定义模板链接|String| 否|直营模式:(1)结算前配置:结算时必填,开票申请时就非必填(2)开票前配置:开票申请时必填,结算时非必填| #### 接口响应参数data字段解密后的参数说明: >d 注意:该接口响应参数是list集合数据 |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |invoiceBillNo|成功开票订单编号|String| 是|| |invoiceStatus|发票状态|Integer| 是|参看[开票状态码](doc:jcSiyTv1),如果是待审核中状态说明已成功提交| ## 3.3.1 服务费开票申请 >d 该接口用于商户服务费开票申请,获取开票的订单号开票金额等信息 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/qs/invoice/serviceInvoicesApply #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |mainstayId|主体id|int| 否|该参数在商户合作模式为众包模式的时候为必填选项| |invoiceCode|发票code|String| 否|该参数在商户合作模式为众包模式的时候为必填选项| |invoiceClassification| 开票类型|int| 是|0.普票 1.专票| |remark| 备注|String| 否|示例:"XX"| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |provisionalInvoiceNo|确认单号|String| 是|示例:"2020091720135423517696",下个确认接口需要用到| |invoiceAmount|开票金额|BigDecimal| 是|示例:11.05| |mainstayId|主体id|Integer| 是|示例:1| |invoiceContent|发票内容|String| 是|示例:"信息技术服务*技术服务费"| |purchaserInvoiceTitle|购买方发票抬头|String| 是|示例:"xx"| |purchaserTaxNumber|购买方税号|String| 是|示例:"91990512MA2B6AME1N"| |purchaserAddressPhone|购买方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |purchaserBankAccount|购买方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| |sellerInvoiceTitle|销售方发票抬头|String| 是|示例:"xx"| |sellerTaxNumber|销售方税号|String| 是|示例:"4104221993XXXX1278"| |sellerAddressPhone|销售方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |sellerBankAccount|销售方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| ## 3.3.2 服务费开票申请(批量订单号) >d 需保证同一批订单号对应订单的“主体”与“开票类目”一致 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/qs/invoice/serviceInvoices/applyByBillNo #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |thirdOrderNos|商户订单号集合|List<String>(50)|是|| |invoiceClassification| 开票类型|Integer(2)| 是|0.普票 1.专票| |remark| 备注|String(64)| 否|示例:"XX"| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |provisionalInvoiceNo|确认单号|String| 是|示例:"2020091720135423517696",下个确认接口需要用到| |invoiceAmount|开票金额|BigDecimal| 是|示例:11.05| |mainstayId|主体id|Integer| 是|示例:1| |invoiceContent|发票内容|String| 是|示例:"信息技术服务*技术服务费"| |purchaserInvoiceTitle|购买方发票抬头|String| 是|示例:"xx"| |purchaserTaxNumber|购买方税号|String| 是|示例:"91990512MA2B6AME1N"| |purchaserAddressPhone|购买方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |purchaserBankAccount|购买方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| |sellerInvoiceTitle|销售方发票抬头|String| 是|示例:"xx"| |sellerTaxNumber|销售方税号|String| 是|示例:"4104221993XXXX1278"| |sellerAddressPhone|销售方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |sellerBankAccount|销售方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| ## 3.4 服务费开票申请确认 >d 该接口用于商户服务费开票申请后查看信息无误后确认开票 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/qs/invoice/serviceInvoicesApplyConfirm #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |provisionalInvoiceNo|确认单号|String| 是|示例:"2020092115145251556096"| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |invoiceBillNo|发票单号|String| 是|| |invoiceStatus|发票状态|Integer| 是|参看[系统编码 - 开票状态码](https://easydoc.net/doc/75132717/8V9YDbr8/6Riyzg63),如果是待审核中状态说明已成功提交,等待审核即可| ## 3.5 开票结果查询 >d 该接口用于个体户开票和服务费开票结果查询 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/qs/invoice/queryServiceInvoicesResult #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |invoiceBillNo|开票订单号|String| 是|示例:"2020092115145251556096"| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |invoiceBillNo|开票订单编号|String| 是|示例:"2020091720135423517696"| |invoiceClassification| 开票类型|Integer| 是|0.普票 1.专票| |invoiceStatus|开票状态|Integer| 是|参看[5.开票状态码](https://easydoc.net/doc/75132717/8V9YDbr8/6Riyzg63)| |mainstayId|主体id|Integer| 是|示例:1| |invoiceAmount|开票金额|BigDecimal| 是|示例:11.05| |invoiceContent|发票内容|String| 是|示例:"信息技术服务*技术服务费"| |remark| 备注|String| 否|示例:"XX"| |purchaserInvoiceTitle|购买方发票抬头|String| 是|示例:"xx"| |purchaserTaxNumber|购买方税号|String| 是|示例:"91990512MA2B6AME1N"| |purchaserAddressPhone|购买方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |purchaserBankAccount|购买方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| |addressee| 收件人|String| 是|示例:"王某某"| |phone| 联系电话|String| 是|示例:"1862687xxxx"| |area| 所在地区|String| 是|所在地区(省市县\区) 示例:"浙江省绍兴市"| |detailAddress| 详细地址|String| 是|示例:"浙江省绍兴市XX区XX街道XX小区XX单元XX楼"| |email| 电子邮件|String| 是|示例:"2411XX429@qq.com"| |sellerInvoiceTitle|销售方发票抬头|String| 是|示例:"xx"| |sellerTaxNumber|销售方税号|String| 是|示例:"4104221993XXXX1278"| |sellerAddressPhone|销售方地址、电话|String| 是|示例:"xx省xx市xx县xx区xx路 xx号xx大厦 xx 楼 xx 层 xx 室 17794xx5001"| |sellerBankAccount|销售方开户行及账号|String| 是|示例:"xx银行xx分行xx部 15000xx8626431"| |settlementCertUrl|结算单证明|String| 是|示例:"https://xxxx/xxxx.pdf"| |settlementCertCustomUrl|自定义证明|String| 是|示例:"https://xxxx/xxxx.pdf"| |expressCompany|快递公司|String| 是|示例:"xx物流有限公司"| |expressNo|快递单号|String| 是|示例:"2020221993XXXX1278"| |postStatus|邮寄状态0:未邮寄 1.已邮寄|Integer| 是|示例:1| |failReason|失败原因|String| 否|示例:"xx"| |invoiceDetailList|发票明细列表|List<InvoiceDetail>| 否|注意:已发票审核状态变为:(已开票)后的发票订单明细详情为准| #### InvoiceDetail发票明细列表字段: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |requestNo|明细订单编号|String| 是|示例:"xx"| |parentRequestNo|关联作废订单的明细编号|String| 否|只有在有已作废订单时才会有| |invoiceCode|发票代码|String| 否|示例:"xx"| |invoiceNumber|发票号码|String| 否|示例:"xx"| |billingTime|开票时间|Date| 是|示例:"yyyy-MM-dd HH:mm:ss"| |invoiceAmount|汇总开票金额(含税金额)|BigDecimal| 是|示例:101| |totalAmount|不含税金额|BigDecimal| 是|示例:100| |taxRate|税率|BigDecimal| 是|示例:0.1| |taxAmount|税额|BigDecimal| 是|示例:1| |drawer|开票人|String| 否|示例:"xx"| |operator|收款人|String| 否|示例:"xx"| |reviewer|复核人|String| 否|示例:"xx"| |invoiceStatus|发票状态 -1:已作废 0:未开票 1:已开票|Integer| 是|示例:"xx"| |invoiceContent|开票内容|String| 是|示例:"xx"| |purchaserInvoiceTitle|购买方发票抬头|String| 是|示例:"xx"| |purchaserTaxNumber|购买方税号|String| 是|示例:"xx"| |purchaserAddressPhone|购买方地址、电话|String| 是|示例:"xx"| |purchaserBankAccount|购买方开户行及账号|String| 是|示例:"xx"| |sellerInvoiceTitle|销售方发票抬头|String| 是|示例:"xx"| |sellerTaxNumber|销售方税号|String| 是|示例:"xx"| |sellerAddressPhone|销售方地址、电话|String| 是|示例:"xx"| |sellerBankAccount|销售方开户行及账号|String| 是|示例:"xx"| ## 3.6.个体工商户完税证明接口 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com >d 注意:个体工商户完税是按季度申报的,在获取的时候是在次季度第一个月的20号左右(遇到节假日时间会顺延)才能获取到上一个季度的完税证明 #### 接口地址:/open/api/v1/qs/invoice/queryServiceInvoicesEndResultDetails #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|数据类型|是否必填|参数备注| |-|-|-|-|-| |idCard|个体户身份证号|String|是|| |mainstayId|主体ID|String|是|该参数值由[4.4 查询发票信息与主体信息接口](https://easydoc.net/doc/75132717/8V9YDbr8/isqoAlKW)| #### 接口响应参数说明: >d 响应的data是一个数组 ```json [ { "incomeFromProductionAndOperation":"***.jpg", "selfEmployedId":***, "taxCycle":"2021.04~2021.06", "valueAddedTax":"***.jpg" }, ... ] ``` >d 注意:selfEmployedId(个体工商户ID)是为了区分已注销后又注册的个体工商户的完税信息; 同一个注册地、同一个身份证信息,注销后又注册,这里的个体工商户的id就会有两个; |参数名称|参数含义| 数据类型|是否必有|参数备注| |-|-|-|-|-| |selfEmployedId|个体工商户ID|String|是|个体工商户的id是为了区分已注销后又注册的个体工商户的信息| |taxCycle|报税周期|String|是|例:2021.04~2021.06| |incomeFromProductionAndOperation|个税URL|String|是|例:***.jpg| |valueAddedTax|增值税附加税URL|String|是|例:***.jpg|