分录操作
:::info
分录功能是一个单据下指按组处理发票的功能
:::
对接编辑分录界面
:::tip
在对接编辑分录界面之前,请确保已经JS建立连接通道
分录调整后,发票云会把当前分录的发票信息通过socket推送给业务系统,msg的消息类型为saveEntrys, 接收到新的分录信息后,需要自身界面调整当前分录信息,如发票张数,金额,税额,等等
:::界面打开路径: /m4-web/fpzs/expense/branch/update?userKey=&linkKey=
请求方式: GET
请求参数:
参数 | 类型 | 备注 |
---|---|---|
userKey | string | 每个单据生成的唯一鉴权key(所以业务系统需确保请求参数client_id+bxd_key能标识唯一单据) |
linkKey | string | 用于建立连接的唯一key,与js建立socket时的key保持一致 |
回推数据
编辑之后的数据,会通过JS通道进行回推,触发onMessage事件
**数据格式如下,msg类型为saveEntrys**
```js
//具体格式如下
{
"type": "saveEntrys", //消息类型
"data": {
"bxd_key": "", //单据id
"branch_id": "", //分路id
"list": {
"fplx": "", //发票种类,1.普通电子发票2.电子发票专票3.普通纸质发票4.专用纸质发票5.普通纸质卷票7.通用机打8.的士票9.火车票10.飞机票11.其他12.机动车.13.二手车14.定额发票15.通行费16.客运发票17.过路过桥费19.完税证明20.轮船票21.海关缴款书23.通用机打电子发票24.火车票退票凭证25.财政电子票据26.数电票(普通发票)27.数电票(增值税专用发票)28.数电票(航空运输电子客票行程单)29.数电票(铁路电子客票)
"spbm": "", //税收分类编码
"fpdm": "", //发票代码
"fphm": "", //发票号码
"jshj": 0, //价税合计金额
"kprq": "", //开票日期,"YYYY-MM-DD"
"se": 0, //税额
"fid": "" //发票流水号
},
"traList": [ //冗余字段,需要对接的可以使用
{
"invoiceData": [{
"fid": "", //发票流水号
"spbm": "", //商品编码
"fpdm": "", //发票代码
"fphm": "", //发票号码
"jshj": "", //价税合计
"kprq": "", //发票日期
"se": "", //税额
"fplx": "" //发票类型
}],
"costType": "", //费用类型
"amount": "", //金额合计
"costName": "", //费用类型名称
"size": "", //发票份数
"invoiceDate": "", //发票日期
"taxAmount": "", //税额
"totalAmount": "" //价税合计
}]
}
}
参数值 | 类型 | 长度 | 备注
---- | ---- | ---- | ----
type | String | N | saveBill/saveEntrys/updateInvoice
bxd_key | String |50 | 保存时的单据ID
branch_id | String |N | 分路id
fplx | String |1 | 发票种类,1.普通电子发票2.电子发票专票3.普通纸质发票4.专用纸质发票5.普通纸质卷票7.通用机打8.的士票9.火车票10.飞机票11.其他12.机动车.13.二手车14.定额发票15.通行费16.客运发票17.过路过桥费19.完税证明20.轮船票21.海关缴款书23.通用机打电子发票24.火车票退票凭证25.财政电子票据26.数电票(普通发票)27.数电票(增值税专用发票)28.数电票(航空运输电子客票行程单)29.数电票(铁路电子客票)
spbm | String |N | 税收分类编码
fpdm | String |12 | 发票代码
fphm | String |8 | 发票号码
jshj | String |23 | 价税合计金额
kprq | String |10 | 开票日期,"YYYY-MM-DD"
se | String |13 | 税额
fid | String |33 | 流水号
costType | String |N | 费用类型
costName | String |N | 费用类型名称
size | Number |N | 发票份数
invoiceDate | String |10 | 开票日期,"YYYY-MM-DD"
taxAmount | String |13 | 税额
totalAmount | String |23 | 价税合计金额
# 对接查看分录界面
- **界面打开路径:** /m4-web/fpzs/expense/branch/info?userKey=[userKey](#获取userkey)
- **请求方式:** GET
- **请求参数:** [userKey](doc-4582572), 注意此时branch_id必须传
- **请求格式:** /m4-web/fpzs/expense/branch/info?userKey=d26f60552a440d11a474a6bdcb9e6f98
# 删除分录
- **请求地址:** /m4/fpzs/expense/invoice/del/entry
- **请求方式:** POST
- **请求格式:** application/json
## 请求示例
```js
{
"userKey":"", //打开选择发票时获取的userKey(可以为空)
"timestamp": "", //签名的时间戳
"sign": "", //签名规则,见对接约定
"encType": 0, //签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密
"client_id": "",//发票云授权标识(client_id)
"billnumber": "", //保存时的单据编号
"bxd_key": "", //保存时的单据ID全球唯一id,如果没有这个字段,与billnumber一致即可
"tin": "", //税号
"branch_id": "", //单据的分录id
"ticketParam":"", //过滤规则,默认不允许被多个单据重复占用
"eid":"nT4HWQn0R+6dR0nHjzp7vxO33n8=", //创建当前单据的erp系统的用户id(可以为空)
"billTypeId":"",// 单据类型,用于区分是哪种单据, 最长80位
}
参数值 | 类型 | 长度 | 备注 |
---|---|---|---|
userKey | String | 32 | 每个单据生成的唯一鉴权key(所以业务系统需确保请求参数client_id+bxd_key能标识唯一单据) |
eid | String | 80 | 创建当前单据的erp系统的用户id |
billTypeId | String | 80 | 单据类型 |
billnumber | String | N | 保存时的单据编号 |
bxd_key | String | 50 | 保存时的单据ID |
client_id | String | 20 | 发票云授权标识(client_id) |
tin | String | 20 | 企业税号 |
timestamp | String | 13 | 签名的时间戳 |
sign | String | 64 | 签名规则见对接约定 |
encType | int | 2 | 签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密 |
entryid | String | N | 单据的分录id |
ticketParam | String | 5 | 过滤规则,格式如:11011 |
返回
操作成功:
{
"errcode":"0000",
"description":"成功",
"data":null
}
操作失败:
{
"errcode":"",//非0000都为失败
"description":"错误描述",
"data":null
}