接口说明
具备诺税通saas资质的企业用户(集团总公司可查验子公司的发票)支持企业通过接口对接实现增值税发票真伪的查验
API 方法名:nuonuo.OpeMplatform.invoiceInspection 版本:V2.0
请求地址
| 环境 | 请求地址 |
|---|
| 正式环境 | https://sdk.nuonuo.com/open/v1/services |
| 沙箱环境 | https://sandbox.nuonuocs.cn/open/v1/services |
公共请求参数(消息头)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| Content-type | String | 否 | - | MIME类型【消息头】 | - |
公共请求参数(消息体)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| senid | String | 否 | - | 唯一标识,由企业自己生成32位随机码【消息体】 | - |
私有请求参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| taxNo | String | 是 | 20 | 企业税号 | - |
| invoiceCode | String | 是 | 12 | 发票代码(数电票为空) | - |
| invoiceNo | String | 否 | 20 | 发票号码(数电票为20位) | 26937904830200034286 |
| invoiceDate | String | 否 | 10 | 开票日期 (格式:yyyy-MM-dd) | 2026-02-04 |
| optionField | String | 否 | 12 | 电专/纸专/数电纸专/机动车销售统一发票/数电纸(机动车):不含税金额; 电普/纸普/普通发票(卷票)/普通发票(通行费):校验码(后6位); 二手车销售统一发票/数电票(二手车)/数电纸(二手车):车价合计; 数电电专/数电电普/数电票(航空)/数电票(铁路)/数电票(通行费)/数电票(机动车):价税合计;数电纸普:数电票号码后六位 | 49.2 |
| checkChannel | String | 是 | - | 查验通道:0-诺诺 1-乐企 | 0 |
| invoiceType | String | 是 | - | 发票种类, 查验通道乐企时必传 p:普通发票(电子) c:普通发票(纸质) s:专用发票(纸质) b:专用发票(电子) r:普通发票(卷式) t:增值税电子通行费发票 j:机动车销售统一发票 u二手车发票 bs-电子发票(增值税专用发票) pc-电子发票(增值税普通发票) hk数电票(航空) tl(数电铁路票) dj:数电机动车发票(电子) sj:数电机动车发票(纸质) du:数电二手车发票(电子) su:数电二手车发票(纸质) | p |
响应参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| code | String | 否 | - | | JH200 |
| describe | String | 否 | - | | 请求成功 |
| result | Object | 否 | - | | - |
| └ invoiceCode | String | 否 | - | 发票代码 | 033001800111 |
| └ invoiceNo | String | 否 | - | 发票号码 | 04296740 |
| └ elecInvoiceNumber | String | 否 | - | 数电票号码 | - |
| └ invoiceDate | String | 否 | - | 开票日期(格式:yyyy-MM-dd) | 2018-12-03 |
| └ payerName | String | 否 | - | 付款方名称(购方名称) | 徐伟伟 (E41280303) |
| └ payerTaxNo | String | 否 | - | 付款方税号(购方税号) | - |
| └ checkNumber | String | 否 | - | 查验次数 | 1 |
| └ payerAddressTel | String | 否 | - | 付款方地址电话(购方地址电话) | - |
| └ payerBankAccount | String | 否 | - | 付款方银行账号(购方银行账号) | - |
| └ payeeName | String | 否 | - | 收款方名称(销方名称) | 绍兴华虞大药房有限公司 |
| └ payeeTaxNo | String | 否 | - | 收款方税号(销方税号) | 913306045528580051 |
| └ payeeAddressTel | String | 否 | - | 收款方地址电话(销方地址电话) | 上虞市百官街道恒利路461号0575-82120132 |
| └ payeeBankAccount | String | 否 | - | 收款方银行账号(销方银行账号) | - |
| └ remark | String | 否 | - | 备注 | 总额:25.00 自理自费:25.00 个账支付:25.00 个账余额:1081.42 统筹:0.00 现金:0.00 公补:0.00 |
| └ deviceCode | String | 否 | - | 机器编码(设备编码) | 661616265777 |
| └ checkCode | String | 否 | - | 校验码 | 57237632691927891976 |
| └ invoiceKind | String | 否 | - | 发票种类 (01-专用发票 03-机动车 04-普通发票 08-电子专用发票 10-电子发票 11-卷式发票 14-通行费 15-二手车,18-电子发票(增值税专用发票),19-电子发票(增值税普通发票)),20-全电纸专,21-全电纸普,51-铁路电子客票,61-数电航空票,83-数电机动车(电子),84-数电二手车(电子),87-数电机动车(纸质),88-数电二手车(纸质) | 10 |
| └ invalidFlag | String | 否 | - | 作废标志(0 正常,2 作废,3 红冲,8 部分红冲,9 全额红冲) | N |
| └ taxAmount | String | 否 | - | 税额 | 3.45 |
| └ sumAmount | String | 否 | - | 含税金额(价税合计金额/车价合计) | 25.00 |
| └ exTaxAmount | String | 否 | - | 不含税金额 | 21.55 |
| └ specialInvoiceType | String | 否 | - | 特定业务类型 01-成品油发票,02-稀土发票,103-建筑服务发票,04-货物运输服务发票,05-不动产销售服务发票,06-不动产经营租赁服务,07-代收车船税,08-通行费,09-旅客运输服务发票,10-医疗服务(住院)发票,11-医疗服务(门诊)发票,12-自产农产品销售发票,13-拖拉机和联合收割机发票,03-机动车,15-二手车,16-农产品收购发票,17-光伏收购发票,18-卷烟发票,19-出口发票,20-农产品,21-铁路电子客票,22-航空运输电子客票行程单,31-建安发票 | 01 |
| └ url | String | 否 | - | ofd版式文件地址 | - |
| └ backupurl | String | 否 | - | ofd转为pdf文件地址 | - |
| └ taxAuthority | String | 否 | - | 【机动车/通行费发票】税局 | - |
| └ payerID | String | 否 | - | 【机动车/二手车发票】付款方身份 ID(购方单位代码/身份证号) | - |
| └ payeeID | String | 否 | - | 【机动车/二手车发票】收款方身份 ID(销方单位代码/身份证 号) | - |
| └ payeeTel | String | 否 | - | 【机动车/二手车发票】收款方电话(销方电话) | - |
| └ payeeAccount | String | 否 | - | 【机动车发票】收款方银行账号(销方银行账号) | - |
| └ payeeBank | String | 否 | - | 【机动车发票】收款方开户行(销方开户行) | - |
| └ payeeAddress | String | 否 | - | 【机动车/二手车发票】收款方地址(销方地址) | - |
| └ vehicleType | String | 否 | - | 【机动车/二手车发票】车辆类型 | - |
| └ vehicleBrandModel | String | 否 | - | 【机动车/二手车发票】车辆品牌型号(车牌型号/厂牌号) | - |
| └ producingArea | String | 否 | - | 【机动车发票】产地 | - |
| └ certificateNo | String | 否 | - | 【机动车发票】合格证号 | - |
| └ commodityInspectionNo | String | 否 | - | 【机动车发票】商检单号 | - |
| └ engineNo | String | 否 | - | 【机动车发票】发动机号码(引擎号) | - |
| └ vin | String | 否 | - | 【机动车/二手车发票】车辆识别代号 | - |
| └ importCertificateNo | String | 否 | - | 【机动车发票】进口证明书号 | - |
| └ taxAuthorityCode | String | 否 | - | 【机动车发票】主管税务机关代码 | - |
| └ taxAuthorityName | String | 否 | - | 【机动车发票】主管税务机关名称 | - |
| └ taxPaymentCertificateNo | String | 否 | - | 【机动车发票】完税凭证号码 | - |
| └ tonnage | String | 否 | - | 【机动车发票】吨位 | - |
| └ limitedNumber | String | 否 | - | 【机动车发票】限乘人数 | - |
| └ licensePlateNo | String | 否 | - | 【二手车发票】车牌号(车牌照号) | - |
| └ vehicleRegisterNo | String | 否 | - | 【二手车发票】车辆登记证书号(登记证号) | - |
| └ intoVehicleManagementSta | String | 否 | - | 【二手车发票】转入地车辆管理所名称 | - |
| └ auctionCompany | String | 否 | - | 【二手车发票】经营、拍卖单位 | - |
| └ auctionCompanyAddress | String | 否 | - | 【二手车发票】经营、拍卖单位地址 | - |
| └ auctionCompanyTaxNo | String | 否 | - | 【二手车发票】经营、拍卖单位税号 | - |
| └ auctionCompanyBankAccoun | String | 否 | - | 【二手车发票】经营、拍卖单位开户行账号 | - |
| └ auctionCompanyTel | String | 否 | - | 【二手车发票】经营、拍卖单位电话 | - |
| └ usedCarCompany | String | 否 | - | 【二手车发票】二手车市场 | - |
| └ usedCarCompanyAddress | String | 否 | - | 【二手车发票】二手车市场地址 | - |
| └ usedCarCompanyTaxNo | String | 否 | - | 【二手车发票】二手车经营公司税号 | - |
| └ usedCarCompanyBankAccoun | String | 否 | - | 【二手车发票】二手车经营公司开户行账号 | - |
| └ usedCarCompanyTel | String | 否 | - | 【二手车发票】二手车经营公司电话 | - |
| └ itemInfos | Array | 否 | - | 发票明细 | - |
| └ itemExTaxAmount | String | 否 | - | 不含税金额 | 21.55 |
| └ itemExTaxPrice | String | 否 | - | 不含税单价(卷票时,该字段返回为含税单价) | 21.55172414 |
| └ itemName | String | 否 | - | 项目名称(商品名称) | *中成药*#伤风停胶囊 |
| └ itemNo | String | 否 | - | 项目序号(商品序号) | 1 |
| └ itemQuantity | String | 否 | - | 数量 | 1 |
| └ itemSpec | String | 否 | - | 规格型号 | 0.35g*24粒 |
| └ itemTaxAmount | String | 否 | - | 税额 | 3.45 |
| └ itemTaxRate | String | 否 | - | 税率 | 6% |
| └ itemUtil | String | 否 | - | 单位 | 盒 |
| └ licensePlateNo | String | 否 | - | 【通行费发票】车牌号 | 车牌号 |
| └ vehicleType | String | 否 | - | 【通行费发票】车辆类型(类型) | - |
| └ transitDateStart | String | 否 | - | 【通行费发票】通行日期起 | 通行日期起 |
| └ transitDateEnd | String | 否 | - | 【通行费发票】通行日期止 | 通行日期止 |
| └ airTicketItems | Array | 否 | - | 航空电子客票特定业务信息 | - |
| └ gpOrderNum | String | 否 | - | GP单号 | - |
| └ internationalSign | String | 否 | - | 国内国际标识0国内 1国际 | 0 |
| └ passengerName | String | 否 | - | 旅客姓名 | 某某某 |
| └ ticketNum | String | 否 | - | 电子客票号码 | 7842352311111 |
| └ valididNum | String | 否 | - | 有效身份证件号码 | 222114******111212 |
| └ ticketDetailItems | Array | 否 | - | 航空票航段信息 | - |
| └ carrier | String | 否 | - | 承运人 | 南航 |
| └ carrierDate | String | 否 | - | 承运日期 | 2023-10-11 |
| └ departureStation | String | 否 | - | 始发站 | HGH 杭州 |
| └ departureTime | String | 否 | - | 起飞时间 | 10:10 |
| └ destinationStation | String | 否 | - | 目的地 | SZX 深圳 |
| └ detailIndex | Number | 否 | - | 序号 | 1 |
| └ fareBasis | String | 否 | - | 客票级别/客票类别 | ECP0WNNP |
| └ flight | String | 否 | - | 航班号 | CZ6850 |
| └ flightSegment | String | 否 | - | 航段 | 1 |
| └ seatClass | String | 否 | - | 座位等级 | E |
| └ railwayTicketItems | Array | 否 | - | 铁路电子客票特定业务要素 | - |
| └ traveller | String | 否 | - | 出行人 | - |
| └ cardNo | String | 否 | - | 有效身份证号 | - |
| └ departure | String | 否 | - | 出发地 | - |
| └ destination | String | 否 | - | 到达地 | - |
| └ toolsNumber | String | 否 | - | 出行车次 | - |
| └ boardingDate | String | 否 | - | 乘车日期(格式:yyyy-MM-dd) | - |
| └ departureTime | String | 否 | - | 出发时间 | - |
| └ carriage | String | 否 | - | 车厢 | - |
| └ ticketNo | String | 否 | - | 电子客票号 | - |
| └ airFeatures | String | 否 | - | 空调特征 | - |
| └ seatType | String | 否 | - | 席别 | - |
| └ seat | String | 否 | - | 席位 | - |
| └ bizType | String | 否 | - | 业务类型:1-售,2-退 | - |
请求报文示例
NNOpenSDK sdk = NNOpenSDK.getIntance();
String taxnum = "23***789"; // 授权企业税号
String appKey = "Hn***XL";
String appSecret = "F65***65F";
String method = "nuonuo.OpeMplatform.invoiceInspection"; // API方法名
String token = "2d484e**************pdui"; // 访问令牌
String content = "{
\"checkChannel\": \"0\",
\"optionField\": \"49.2\",
\"invoiceType\": \"p\",
\"taxNo\": \"\",
\"invoiceNo\": \"26937904830200034286\",
\"invoiceDate\": \"2026-02-04\",
\"invoiceCode\": \"\"
}";
String url = "https://sdk.nuonuo.com/open/v1/services"; // SDK请求地址
String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
System.out.println(result);
返回码说明
| 返回码 | 说明 | 处理建议 |
|---|
0000 | 查验成功 | |
0001 | 查验次数超出,不能查验 | 购买查验次数 |
0002 | 查验异常稍后再试! | 查验异常稍后再试! |
0003 | 无法处理的发票类型 | 联系诺诺运维排查是发票问题还是接口问题 |
0004 | 查验数据解析异常 | 联系诺诺运维排查是发票问题还是接口问题 |
002 | 超过该张票当天查验次数 | 同一张票一天最多查询5次 |
005 | 请求不合法 | |
006 | 查验成功发票不一致 | |
009 | 所查发票不存在 | |