提交开票申请
## 提交待开申请-带订单
- 用户已完成订购/消费,通过合作方页面提交补开发票的请求,需填写抬头等信息,而合作方需要传入开票明细内容(订单内容)
### 请求URL
- ` /openapi/invoice/application/add`
### 请求方式
- POST
### 请求参数说明
| 名称 | 类型 | 必填 | 最大长度|说明 |
| ------------ | ------- | ---- |--- | ------------------------- |
| applicationNo | String | 是 |30 |申请单号。要求唯一,否则发票管家会进行拦截|
| storeNo | String | 是 |30 | 合作方的门店编号 |
| invoiceType| String|是 | 5 |s 纸质专票; c 普通纸票; ce 普通电票; se 电子专票|
| purchaserName | String | 是 |100 | 购方名称 |
| purchaserTaxNo | String | 专票必填 |30 | 购方税号 |
| purchaserAddress | String | 专票必填 |70 | 购方地址 |
| purchaserTel | String | 专票必填 |30 | 购方电话 |
| purchaserBankName | String | 专票必填 |50 | 购方开户行名称 |
| purchaserBankAccount | String | 专票必填 |50 | 购方开户行账号 |
| receiveMail | String | 否 |50 | 接受发票的(电票PDF/OFD)邮箱(发票类型为电票时与receivePhone至少填其一) |
| receivePhone | String | 否 |20 | 接受发票的(电票PDF/OFD)手机(发票类型为电票时与receiveMail至少填其一)|
|invoiceDate |String|否 ||预约取票时间。格式:yyyy-MM-dd HH:mm:ss |
| autoDeal | Boolean | 否 || 是否系统自动开具,并推送给用户,目前只有电票(`invoiceType` = `ce`) 才支持自动开具。不填则取门店配置项,true-自动开具,false-不自动开具 |
| extension| object| 否 || 拓展字段,便于进行后续的搜索等逻辑,如需其他拓展字段,请提前联系发票管家的研发人员进行配置 |
| extension.phone| string| 否 |30| 拓展字段-手机号,便于进行后续的搜索等逻辑 |
| extension.name| string| 否 |20| 拓展字段-姓名,便于进行后续的搜索等逻辑 |
| extension.roomNum| string| 否 |50| 拓展字段-房间号,便于进行后续的搜索等逻辑 |
|invoicerName|String|否 |20|开票人:只有自动开票时才会用到[但也是选填]。如果第三方不知道开票人、收款人和复核人信息,则不需要填写|
|cashierName|String|否 |20|收款人:只有自动开票时才会用到[但也是选填]|
|checkerName|String|否 |20|复核人:只有自动开票时才会用到[但也是选填]。要求:开票人、收款人、复核人不能相同并且选填其一时开票人必填|
| remark | String | 否 |100| 发票备注 |
| expireTime| String | 否 | | 过期时间。不填则永不过期,格式:yyyy-MM-dd HH:mm:ss |
|hasOrders|boolean|是 ||是否包含订单,如果包含订单,则orderList不能为空|
| orderList|List<Order>|否 ||订单列表|
| orderList[#].orderNo|String|否 |100|合作方订单号|
| orderList[#].erpOrderNo|String|否 |100|erp订单号(与渠道订单号选填其一)|
| orderList[#].orderPrice|String|是 |20|订单金额,精确到小数点后2位,值必须大于0,不超过999999999。eg:12.05|
| orderList[#].items|List<Item>|是 ||订单商品列表|
| orderList[#].items[#].identifier |String|否 |100|商品唯一识别编码,name和identifier选填其一。需提前在商户后台上维护,且保证在商户下唯一,后续无法变更。如,酒店行业约定以“ZSF0000001”作为住宿费这一商品的唯一识别码。如果identifier和name同时存在,则报错拦截|
| orderList[#].items[#].name|String|否 |100|商品名称,name和identifier选填其一。如果商户在发票管家不存在该商品,则web页面展示"未知商品",需要商家维护好之后才能开票;如果发票管家商品表存在name唯一匹配的数据,则web页面默认显示当前商品;如果name完全匹配多条数据,则web页面仍显示"未知商品",需要商家手动确认后完成开具|
| orderList[#].items[#].quantity|String|否 |10|数量,精度最多到小数点后8位,不超过999999999|
| orderList[#].items[#].unitPrice|String|否 |10|单价(含税),精度最多到小数点后8位,不超过999999999|
|orderList[#].items[#].discountPrice|string|否|10|大于等于0,精度到小数点后2位,discountPrice不能超过totalPrice。如有折扣则发票上会有一条负数折扣行|
| orderList[#].items[#].totalPrice|String|是 |20|总价(含税)。注:若单价、数量、均不为空,则要求:总价=单价*数量|
### 请求示例
- 提交开票申请(包含订单-传identifier)
```json
{
"applicationNo":"test131244",
"invoicePointName":"TEST10105700144_机号1",
"storeNo": "123",
"applyType": 1,
"invoiceType":"ce",
"purchaserTaxNo":"131245812547125",
"purchaserName":"姓名",
"purchaserAddress":"上海市浦东区",
"purchaserBankName":"ICBC",
"purchaserBankAccount":"12312415125",
"purchaserTel":"021-10103030",
"purchaserMail":"a@qq.com",
"receivePhone":"1308888888",
"autoDeal":false,
"expireTime":"2020-09-01 12:00:00",
"extension":{
"phone":"18776218762",
"name":"张三",
"roomNum":"702"
},
"hasOrders":true,
"orderList":[
{
"orderNo":"order1223124",
"erpOrderNo":"erp1223124",
"orderPrice":"14.8",
"items":[
{
"identifier":"ZSF0000001",
"quantity":"2",
"unitPrice":"12.4",
"discountPrice":"10",
"totalPrice":"24.8"
}
]
}
]
}
```
- 提交开票申请(包含订单-传商品名称)
```json
{
"applicationNo":"test131244",
"invoicePointName":"TEST10105700144_机号1",
"storeNo": "123",
"applyType": 1,
"invoiceType":"ce",
"purchaserTaxNo":"131245812547125",
"purchaserName":"姓名",
"purchaserAddress":"上海市浦东区",
"purchaserBankName":"ICBC",
"purchaserBankAccount":"12312415125",
"purchaserTel":"021-10103030",
"purchaserMail":"a@qq.com",
"receivePhone":"1308888888",
"autoDeal":false,
"expireTime":"2020-09-01 12:00:00",
"extension":{
"phone":"18776218762",
"name":"张三",
"roomNum":"702"
},
"hasOrders":true,
"orderList":[
{
"orderNo":"order1223124",
"erpOrderNo":"erp1223124",
"orderPrice":"14.8",
"items":[
{
"name":"住宿费",
"quantity":"2",
"unitPrice":"12.4",
"discountPrice":"10",
"totalPrice":"24.8"
}
]
}
]
}
```
- 提交开票申请(只有抬头)
```json
{
"applicationNo":"test131244",
"storeId": 123,
"invoiceType":"ce",
"purchaserTaxNo":"131245812547125",
"purchaserName":"姓名",
"purchaserAddress":"上海市浦东区",
"purchaserBankName":"ICBC",
"purchaserBankAccount":"12312415125",
"purchaserTel":"021-10103030",
"purchaserMail":"123123@abc.com",
"receivePhone":"1308888888",
"expireTime":"2020-09-01 12:00:00",
"extension":{
"phone":"18776218762",
"name":"张三",
"roomNum":"702"
},
"hasOrders":false
}
```
### 返回参数说明
| 字段名 | 类型 | 说明 |
| ------------ | ------------ | ------------ |
| code | Integer | 处理结果 |
| message | String | 结果描述 |
### 返回示例
- 成功示例
```json
{
"code":0
}
```
- 失败示例
```json
{
"code":-1,
"message":"申请单号重复!",
}
```