侧边栏壁纸
博主头像
极简笔记博主等级

极简笔记,书写你的精彩程序人生!

  • 累计撰写 147 篇文章
  • 累计创建 24 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

百旺云平台-发票查询接口文档

极简笔记
2022-06-29 / 0 评论 / 0 点赞 / 6,371 阅读 / 3,788 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

baiwang.output.invoice.query

(此文档内容适用于SDK版本为3.4.234及以上版本)

接口简介

已开发票查询2.0企业系统可以通过调用此接口查询已开发票的信息。可以根据企业税号、开票流水号、发票代码、发票号码、发票类型代码、开票日期起止等条件进行组合查询。

一、公共参数

名称 类型 是否必须 描述
method String 接口名称。
appKey String 给开发者颁发的 key。
sign String 请求签名,使用MD5,用于安全控制。
token String token 用于调用接口前授权检查。
timestamp String Unix时间戳,例如:1506304524。
format String 响应格式。默认为json格式,可选值:xml,json。
version String API协议版本,当前版本号6.0。
type String 请求类型,默认 sync,可选值asyn,sync。
requestId String 请求唯一标识,标识唯一请求,默认UUID。

二、请求业务参数

ID 类型 长度 是否必须 描述
taxNo String 20 销方机构税号
orgCode String 64 组织机构编码,可以查询对应税号下该组织机构编码的发票数据
data Object ~ 集合
└ queryAll Object 5 是否查询税号下所有发票(如果机构代码为空且该字段为true,则查询税号下所有符合条件的发票)
└ serialNo String 50 开票流水号
└ invoiceCode String 12 发票代码
└ invoiceNo String 8 发票号码
└ invoiceTypeCode String 3 发票类型代码 004:增值税专用发票;007:增值税普通发票;026:增值税电子发票;025:增值税卷式发票;028:增值税电子专用发票 005 机动车发票 006 二手车发票
└ invoiceTerminalCode String 30 开票终端代码
└ sourceMark String 80 来源标志 01 接口开具 02已开上传 03 开票申请单 04 流水单 05 接口待开上传 06 销方待开导入 07 购方待开导入 08 非百望云开具 17 历史发票管理
└ invoiceSpecialMark String 2 特殊票种标志, 00:普通发票;01:农产品销售;02:农产品收购;08:成品油 12 机动车
└ buyerTaxNo String 20 购方税号
└ buyerName String 80 购方单位名称
└ printStatus String 1 打印状态 0,1
└ invoiceStatus String 2 发票状态:发票状态默认为空,00开具成功 02空白发票作废 03:已开发票作废 05:正票已红冲
└ invoiceType String 1 开票类型:0:正数 1:负数
└ invoiceStartDate String 14 开票日期起,格式:yyyy-MM-dd
└ invoiceEndDate String 14 开票日期止,格式:yyyy-MM-dd
└ expressNo String 50 快递单号
└ contractNo String 50 保单号
└ orderNo String 50 业务请求流水号
└ taxationMethod String 1 征收方式 0:普通征收 2:差额征收
└ invoiceListMark String 1 清单标志 0:非请单 1:清单
└ machineNo String 10 机器编号
└ systemName String 150 第三方系统名称
└ systemId String 50 第三方系统id
└ invoiceCheckMark String 3 验签状态(N00 未签名,Y00 已签名,未上传 Y11,验签成功 Y10 验签失败)
└ pageNo Integer 5 页码
└ pageSize Integer 3 每页条数 最多100条
└ ext Map ~ Map<String, Object>, 扩展字段
└ updateTimeStart String 10 更新开始时间,格式:yyyy-MM-dd
└ updateTimeEnd String 10 更新终止时间,格式:yyyy-MM-dd

备注:用 └ 标识层级关系

三、响应公共参数

名称 类型 描述
success Boolean 接口调用成功或失败的标志 true:成功,false:失败
method String 接口的唯一标识
requestId String 请求唯一标识, 与调用接口时传入的request_id一致
response 业务接口调用成功后返回的具体响应信息,不同的接口返回的model不同
errorResponse 错误响应信息
└ code String 调用失败后,返回的错误码(开放平台错误码)
└ message String 调用失败后,返回的错误信息(开放平台错误信息)
└ subCode String 调用失败后,返回的错误码(业务端返回错误码——详见【五、错误码】部分)
└ subMessage String 调用失败后,返回的错误信息(业务端返回错误信息——详见【五、错误码】部分)

四、响应业务参数

ID 名称 类型 长度 描述
serialNo 开票流水号 String 50 ~
invoiceCode 发票代码 String 12 ~
invoiceNo 发票号码 String 8 ~
deviceType 设备类型 String ~ 0税控服务器,1税控盘
buyerTaxNo 购方纳税人识别号 String 20 ~
buyerName 购方单位名称 String 20 ~
buyerAddressPhone 购方地址及电话 String 100 ~
buyerBankAccount 购方开户行及账号 String 100 ~
sellerTaxNo 销方单位代码 String 20 ~
sellerName 销方单位名称 String 100 ~
sellerAddressPhone 销方地址及电话 String 100 ~
sellerBankAccount 销方开户行及账号 String 100 ~
invoiceTotalPrice 合计金额,保留两位小数 BigDecimal 13 ~
invoiceTotalTax 合计税额,保留两位小数 BigDecimal 13 ~
invoiceTotalPriceTax 价税合计,保留两位小数 BigDecimal 13 ~
invoiceListMark 清单标志:0:无清单1:带清单 String 1 ~
invoiceTypeCode 发票类型代码 String 3 ~
invoiceType 发票类型:0:正数1:负数 String 1 ~
taxationMethod 征收方式 String 1 ~
invoiceSpecialMark 特殊票种标志 String 2 特殊票种标志, 00:普通发票;01:农产品销售;02:农产品收购;08:成品油 12 机动车(默认是00普通发票)
invoiceTerminalCode 开票点编码 String 30 ~
invoiceDate 开票日期 String 14 yyyy-MM-dd
taxControlCode 税控码 String 22 ~
deductibleAmount 扣除额,保留两位小数 BigDecimal 13 ~
remarks 备注 String 184 ~
drawer 开票人 String 20 ~
checker 复核人 String 16 ~
payee 收款人 String 16 ~
invoiceCheckCode 校验码 String 22 ~
invoiceQrCode 二维码 String 8192 ~
buyerEmail 购方客户邮箱 String 100 ~
buyerPhone 购方客户电话 String 40 ~
eInvoiceUrl 电子发票下载地址 String 150 ~
h5InvoiceUrl 电子发票预览地址 String 150 ~
invoiceInvalidDate 作废日期 String 14 ~
invoiceStatus 发票状态 String 2 ~
invoiceCheckMark 验签标志 String 3 N00 未签名 Y00 已签名,未上传 Y11 验签成功 Y10 验签失败
invoiceUploadMark 上传标志 String ~ 1/0
invoiceSignMark 签名标志 String ~ Y/N
redInfoNo 红字信息表编号 String 20 ~
originalInvoiceCode 原发票代码 String 12 ~
originalInvoiceNo 原发票号码 String 8 ~
systemId 第三方系统id String ~ ~
systemName 第三方系统名称 String 150 ~
sourceMark 来源标志 String 50 来源标志 01 接口开具 02已开上传 03 开票申请单 04 流水单 05 接口待开上传 06 销方待开导入 07 购方待开导入 08 非百望云开具 17 历史发票管理
ext 扩展字段 Map ~ Map<String, Object>
attachInfo 发票附加信息 Object ~ ~
└ formatPushStatus 版式推送状态 String 4 ~
invoiceDetailsList List ~ List
└ goodsLineNo 明细行号 String 4 ~
└ goodsCode 商品编码 String 40 ~
└ goodsName 商品名称 String 92 ~
└ goodsSpecification 规格型号 String 40 ~
└ goodsUnit 计量单位 String 14 ~
└ goodsQuantity 商品数量 BigDecimal 14 ~
└ goodsPrice 商品单价 BigDecimal 13 ~
└ goodsTotalPrice 金额 BigDecimal 13 ~
└ goodsTotalTax 税额 BigDecimal 13 ~
└ goodsTaxRate 税率 BigDecimal 13 ~
└ priceTaxMark 含税标志0:不含税 1:含税 String 1 ~
└ vatSpecialManagement 增值税特殊管理 String 200 ~
└ freeTaxMark 零税率标识 空代表无 String 1 ~
└ preferentialMarkFlag 是否使用优惠政策 0:未使用,1:使用 String 1 ~
└ invoiceLineNature 发票行性质 String 1 ~
└ excludTaxgoodsPrice 不含税商品单价 BigDecimal 13
└ excludTaxgoodsTotalPrice 不含税金额 BigDecimal 13
└ includTaxgoodsPrice 含税商品单价 BigDecimal 13
└ includTaxgoodsTotalPrice 含税金额 BigDecimal 13
invoiceVehicleInfo 商品明细 Object ~ 机动车二手车明细
└ licensePlate 车牌照号 String ~ ~
└ vehicleType 车辆类型 String ~ ~
└ registryNo 登记证号 String ~ ~
└ brandModel 厂牌型号 String ~ ~
└ vehicleAdministration 转入地车辆管理所名称 String ~ ~
└ vehicleNo 车辆识别代号/车架号码 String ~ ~
└ carPaymentVoucherNo 车购税完税凭证号码 String ~ ~
└ invoiceMark 开票标识 String ~ 0未开票、1已开票
└ vatMark 增值税标志 String ~ 0免征增值税、1不征增值税
└ issuedInvoiceCode 已开发票代码 String ~ ~
└ issuedInvoiceNo 已开发票号码 String ~ ~
└ issuedTotalPrice 已开票销售额 BigDecimal ~ ~
└ issuedTotalTax 已开票税额 BigDecimal ~ ~
└ issuedTaxRate 已开票税率 BigDecimal ~ ~
└ paymentVoucherMark 开具完税证明标识 String ~ 0为未开、1为已开
└ paymentVoucherNo 完税凭证号码 String ~ ~
└ paymentVoucherToralPrice 完税凭证销售额 BigDecimal ~ ~
└ paymentVoucherTaxRate 完税凭证税率 BigDecimal ~ ~
└ paymentVoucherTotalTax 完税凭证税额 BigDecimal ~ ~
└ goodsCode 商品编码 String ~ (总局固定19位编码),不能修改 +自行编码,(以2位为一级,共10级,每级可用编码值为00-99 或AA-ZZ)
└ vatSpecialManagement 增值税特殊管理 String ~ ~
└ freeTaxMark 零税率标识 String ~ 空代表无1 出口免税和其他免税优惠政策2 不征增值税3 普通零税率
└ preferentialMarkFlag 优惠政策标识 String ~ 0:未使用,1:使用
└ sellerTaxNo 卖方单位代码 String ~ ~
└ sellerName 卖方单位名称 String ~ ~
└ sellerAddress 卖方单位地址 String ~ ~
└ sellerPhone 卖方单位电话 String ~ ~
└ manufacturingEnterprise 产地 String ~ ~
└ certificateNo 合格证号 String ~ ~
└ importCertificateNo 进口证明书号 String ~ ~
└ inspectionListNo 商检单号 String ~ ~
└ engineNo 发动机号码 String ~ ~
└ tonnage 吨位 String ~ ~
└ passengersLimited 限乘人数 String ~ ~
└ ext 扩展字段 Map ~ Map<String, Object>
└ vehicleSample 机动车新旧规范标识 String 1 机动车新旧规范标识 0 旧规范 1 新规范 默认为0

五、错误码

名称 错误描述

六、请求示例

json格式示例

POST http://ip:port/router/rest?method=baiwang.output.invoice.query&version=6.0&appKey=1234567&format=json&timestamp=1656471535610&token=ea867489-671e-4f6d-81df-6350f26027dc&type=sync&requestId=e22a408f-f8a9-45f3-86bb-b01dc4472544&sign=F87B13ABA6D1AFE53831D035DCD53378

{
	"data":{
		"updateTimeEnd":"2021-11-30",
		"expressNo":"",
		"contractNo":"",
		"pageSize":1,
		"queryAll":false,
		"taxationMethod":"",
		"systemName":"",
		"invoiceCheckMark":"",
		"pageNo":1,
		"invoiceTerminalCode":"",
		"invoiceType":"",
		"machineNo":"",
		"invoiceNo":"",
		"invoiceEndDate":"",
		"ext":{},
		"systemId":"",
		"orderNo":"",
		"buyerTaxNo":"",
		"printStatus":"",
		"invoiceSpecialMark":"",
		"buyerName":"",
		"updateTimeStart":"2021-11-01",
		"invoiceCode":"",
		"invoiceStartDate":"",
		"invoiceListMark":"",
		"serialNo":"",
		"sourceMark":"",
		"invoiceTypeCode":"",
		"invoiceStatus":""
	},
	"orgCode":"",
	"taxNo":"512345678900000040"
}

sdk调用示例

String url = "请求地址";
String appKey = "appKey";
String appSecret = "appSecret";
String username = "用户名";
String password = "用户密码";
String userSalt = "用户盐值";  

try {
    String requestId = UUID.randomUUID().toString(); //自定义请求唯一标识
    PasswordLoginConfig loginConfig = new PasswordLoginConfig();
    loginConfig.setUrl(url);
    loginConfig.setClientId(appKey);
    loginConfig.setClientSecret(appSecret);
    loginConfig.setUsername(username);
    loginConfig.setPassword(password);
    loginConfig.setUserSalt(userSalt);
    BopLoginClient loginClient = new PasswordLoginClient(loginConfig);

    // 获取token, token相关说明请参考 文档中心 -> 用户授权说明
    BopLoginResponse loginResponse = loginClient.login();
    // 重载方法,可以传自定义请求唯一标识
    // BopLoginResponse loginResponse = loginClient.login(requestId);
    String token = loginResponse.getResponse().getAccessToken();


    OutputInvoiceQueryRequest request = new OutputInvoiceQueryRequest();
    OutputInvoiceQueryOutputInvoiceQueryParam data = new OutputInvoiceQueryOutputInvoiceQueryParam();
    data.setUpdateTimeEnd("2021-11-30");
    data.setExpressNo("");
    data.setContractNo("");
    data.setPageSize(1);
    data.setQueryAll(false);
    data.setTaxationMethod("");
    data.setSystemName("");
    data.setInvoiceCheckMark("");
    data.setPageNo(1);
    data.setInvoiceTerminalCode("");
    data.setInvoiceType("");
    data.setMachineNo("");
    data.setInvoiceNo("");
    data.setInvoiceEndDate("");
    Map<String, Object> ext = new HashMap<String, Object>();
    data.setExt(ext);
    data.setSystemId("");
    data.setOrderNo("");
    data.setBuyerTaxNo("");
    data.setPrintStatus("");
    data.setInvoiceSpecialMark("");
    data.setBuyerName("");
    data.setUpdateTimeStart("2021-11-01");
    data.setInvoiceCode("");
    data.setInvoiceStartDate("");
    data.setInvoiceListMark("");
    data.setSerialNo("");
    data.setSourceMark("");
    data.setInvoiceTypeCode("");
    data.setInvoiceStatus("");
    request.setData(data);
    request.setOrgCode("");
    request.setTaxNo("512345678900000040");

    IBWClient client = new BWRestClient(url, appKey, appSecret); // 初始化一个客户端
    OutputInvoiceQueryResponse response = client.outputInvoice().query(request, token);
    // 重载方法,可以传自定义请求唯一标识
    // OutputInvoiceQueryResponse response = client.outputInvoice().query(request, token, requestId);
    System.out.println(response);
} catch (BWOpenException e) {
    System.out.println(e.getCode());
    System.out.println(e.getMessage());
    System.out.println(e.getSubCode());
    System.out.println(e.getSubMessage());
}

七、响应示例

成功返回示例

{
	"method":"baiwang.output.invoice.query",
	"success":true,
	"requestId":"e30ef302-1d86-4350-a5b0-abaf9eb279b0",
	"response":[
		{
			"buyerBankAccount":"中国港市荷城支行1103046919208899850",
			"buyerEmail":"chenerjuan@baiwang.com",
			"invoiceTotalTax":0.0,
			"checker":"复核人",
			"taxationMethod":"0",
			"redInfoNo":"",
			"payee":"收款人",
			"systemName":"",
			"invoiceType":"0",
			"invoiceTerminalCode":"ceshi40",
			"invoiceNo":"38098865",
			"deviceType":"0",
			"ext":{},
			"buyerTaxNo":"512345678900000040",
			"invoiceInvalidDate":"",
			"invoiceSignMark":"",
			"originalInvoiceNo":"",
			"invoiceCode":"050003521280",
			"invoiceListMark":"0",
			"serialNo":"20191011057er-1-1",
			"taxControlCode":"03+12*5--/*+7/+<1<44060<8/1/5-071>9*-4*28141302+6051>59036+68905<<-**5<*4+8840<<>>2651165996+2012<3019-+282-3/2>",
			"sellerTaxNo":"512345678900000040",
			"buyerPhone":"15233712912",
			"sourceMark":"",
			"invoiceTotalPrice":9.0,
			"invoiceDetailsList":[
				{
					"priceTaxMark":"0",
					"goodsTaxRate":0.0,
					"invoiceLineNature":"0",
					"excludTaxgoodsTotalPrice":0.0,
					"includTaxgoodsTotalPrice":0.0,
					"goodsTotalPrice":1.0,
					"preferentialMarkFlag":"1",
					"goodsSpecification":"规格型号1",
					"excludTaxgoodsPrice":0.0,
					"goodsPrice":1,
					"freeTaxMark":"",
					"goodsQuantity":1,
					"goodsUnit":"单位",
					"goodsTotalTax":0.0,
					"includTaxgoodsPrice":0.0,
					"goodsCode":"1070601990000000000",
					"goodsName":"*塑料制品*MINI家族A-69U(爱度)车体左护板ABS白件273G1",
					"goodsLineNo":"1",
					"vatSpecialManagement":"100%先征后退"
				}
			],
			"originalInvoiceCode":"",
			"eInvoiceUrl":"",
			"sellerName":"测试40",
			"sellerAddressPhone":"马连坡集团2号街,.,18910673200",
			"invoiceQrCode":"iVBORw0KGgoAAAANSUhEUgAAAJQAAACUCAIAAAD6XpeDAAADDUlEQVR42u3a207DMBAFwP7/T5dXkECQ+Jy1SyePVVqcHaPsxY9H4Xp+un76/Kd7/nL/1e+urPPq2q7+znEXPHjw4L0J3nPhaiy68fCN51r5fGU98ODBgwcvg5dKTFYSkMamadzT3tzw4MGDB+818BqBThX7qcDBgwcPHjx4yeK9UdjuKq7hwYMHD95ZeKnFNZrU7WuywX30VAEePHjw/jFeY+Dp86Ggw4MHCR68YxOByeFqKtE4IYZf1gYPHjx48G6vbVthOHgQqAEzOaC+vFB48ODBg7f94E0qoKkhaiM+qX+MpQkDPHjw4MH7tc5rP8AJSVN7/ZONAnjw4MGDl6/52gVmoxm9kvi0A31E5wUePHjw3gQvNTjd9fCp4j2VQI0mLPDgwYMHL9KATjV5Vx441exuFPuNjXL578KDBw8evAjeK77AJ5OpdmF+uUiHBw8ePHi38RoHinYFpX3AaddGhwcPHjx4mfdf6uHbw9V2c3nyENTSpoEHDx48eLfjM9kUTjXHU2trJyypCx48ePDgXVtzqpnb/m47wakMS8uJITx48ODBy+BVsqBCkd5oDuzaZJdjCw8ePHjw0rEdTVhS90y+71ONZnjw4MGD18VrBOK0pnAqUWrEZ2nN8ODBgwfv9ppTDzP5km83wXfhVSYM8ODBg/fmeO0kZSUZafx+u+Fw3CQdHjx48OBVk4tUIjBZ1E8W/rHhNjx48ODBi7//2i/tBuqu4LYb60uDWXjw4MGDN1YLNpKLRuP7hKFrLPmCBw8ePHhbho3t4WobqdFwjyUp8ODBgwcvgtcuxl9lQzzKFzx48ODB6+I9y9euIKYOKaXW0DhABQ8ePHjwqn3XpRdvY6ibWufkhptMguDBgwcPXiagK4tLHXBqrHkFcnKIDQ8ePHjwMnj1LngheWlspl3F8lKTGh48ePDgbcdLvbQbjfLG8LmxabYlLPDgwYMHL15stn+z3SxuD6vhwYMHD14er9HkbQSxkfg0EpD68BkePHjw4B17AGlyM00mRyc8Fzx48ODB+/bvfgCPdbv3kFpXNQAAAABJRU5ErkJggg==",
			"invoiceCheckMark":"07594433668815072007",
			"invoiceUploadMark":"",
			"buyerAddressPhone":"北京18833670970",
			"systemId":"",
			"deductibleAmount":0,
			"h5InvoiceUrl":"http://mtest.baiwang-inner.com/invoice?param=083BCEDF34361E64A3A4127707D3B8F4D80C02F30A519E2AC411836B076AE123",
			"invoiceVehicleInfo":{
				"invoiceMark":"",
				"paymentVoucherTotalTax":0,
				"sellerName":"",
				"brandModel":"",
				"sellerAddress":"",
				"vehicleSample":"",
				"registryNo":"",
				"paymentVoucherNo":"",
				"licensePlate":"",
				"tonnage":"",
				"paymentVoucherMark":"",
				"vehicleType":"",
				"issuedTotalTax":0,
				"issuedTaxRate":0,
				"paymentVoucherTaxRate":0,
				"ext":{},
				"engineNo":"",
				"paymentVoucherToralPrice":0,
				"passengersLimited":"",
				"sellerPhone":"",
				"carPaymentVoucherNo":"",
				"importCertificateNo":"",
				"certificateNo":"",
				"preferentialMarkFlag":"",
				"vehicleNo":"",
				"sellerTaxNo":"",
				"issuedTotalPrice":0,
				"freeTaxMark":"",
				"manufacturingEnterprise":"",
				"vehicleAdministration":"",
				"issuedInvoiceCode":"",
				"issuedInvoiceNo":"",
				"vatMark":"",
				"goodsCode":"",
				"inspectionListNo":"",
				"vatSpecialManagement":""
			},
			"drawer":"cpy001d",
			"invoiceSpecialMark":"00",
			"buyerName":"测试40",
			"invoiceDate":"2019-10-12",
			"invoiceTotalPriceTax":9.0,
			"invoiceCheckCode":"07594433668815072007",
			"attachInfo":{
				"formatPushStatus":""
			},
			"sellerBankAccount":"即将开机了4132412343124",
			"invoiceTypeCode":"026",
			"invoiceStatus":"00",
			"remarks":"dfggedf"
		}
	]
}

失败返回示例

{
	"success": false,
	"method": "baiwang.output.invoice.query",
	"requestId": "e22a408f-f8a9-45f3-86bb-b01dc4472544",
	"errorResponse": {
		"code": 100002,
		"message": "token不正确",
		"subCode": null,
		"subMessage": null
	}
}

0

评论区