发票云(标准版)API文档
旗舰版标准版智能特性
旗舰版标准版智能特性
🤖 AI Support​​
  1. 报销
  • 整体介绍
  • 对接约定
  • 授权
    • 获取AccessToken
      POST
  • 开票
    • 产品介绍
    • 开发指南
    • 税控&数电同步开票
      • 业务场景下接口调用顺序
      • 1.01.读取税盘信息(czlx-7)
      • 1.02 .读取票种信息(czlx-30)
      • 1.03.发票开具(czlx-3)
      • 1.04.发票作废(czlx-6)
      • 1.05.发票查询(czlx-5)
      • 1.06.发票打印(czlx-4)
      • 1.07.专用发票申请红字信息表(czlx-20)
      • 1.08.查询专用发票申请红字信息表(czlx-18)
      • 1.09.批量打印(czlx-32)
      • 1.11.机动车销售统一发票开具(czlx-40)
      • 1.12.机动车销售统一发票查询(czlx-41)
      • 1.13.机动车销售统一发票红冲(czlx-42)
      • 1.15.核定票种查询(czlx-51)
      • 1.21.二手车-发票开具(czlx-43)
      • 1.22.二手车-发票查询(czlx-44)
      • 1.23.二手车-发票红冲(czlx-45)
      • 1.30 .查询授信额度接口(czlx-122)
      • 2.01.电子发票开具(czlx-110) ,【注】开数电票请对接:1.03.发票开具(czlx-3)
      • 2.02.电子发票信息查询(czlx-113)
      • 2.03.电子发票红冲 (只支持全额红冲)(czlx-114)
      • 2.04.刷新PDF(czlx-115)
      • 2.05.查询电子发票余量(czlx-116)
      • 3.01.查询税收分类编码信息(czlx-504)
      • 3.03.获取打印机列表(czlx-901)
    • 数电异步开票
      • 异步开票-v4
      • 查询异步开票结果-v4
    • 扫码开票
      • 上传销售单模式扫码开票
        • 接入指南
        • 1.token获取
        • 2.上传发票销售单接口
        • 3.回推接口地址
      • 自定义扫码开票
        • 接入指南
        • 1.对接方按规则组装二维码链接
        • 2.查询开票明细
        • 3.回推接口地址
    • 企业级-发票云销项查询
      • 根据业务条件查询当前企业的销项发票
  • 收票
    • 开发指南
    • 发票数据规范
    • 发票数据
      • 机动车发票数据
      • 火车票数据
      • 火车票退票凭证数据
      • 财政电子票据数据
      • 客运票/轮船票数据
      • 其他发票数据
      • 完税证明数据
      • 飞机票数据
      • 数电票(铁路电子客票)数据
      • 数电票(航空运输电子客票行程单)数据
      • 数电票(专票/普票)数据
      • 的士票数据
      • 定额发票数据
      • 通用机打(纸质/电子)发票数据
      • 过路过桥费数据
      • 二手车票数据
      • 专票和普票数据
      • 通行费发票数据
      • 海关缴款书数据
      • 发票文件数据
    • 企业级-发票云进项查询
      • 根据业务条件查询当前企业采集的发票
      • 根据代码号码查询当前企业采集的发票
      • 根据开票时间范围和采集时间范围查询当前企业采集的发票
      • 根据发票流水号或者发票代码号码查询当前企业采集的发票
      • 根据业务条件查询指定用户采集的发票
    • 税盘&数电票下载
      • 开发指南
      • 1、获取税款所属期信息
      • 2、进项发票表头采集
      • 3、发票不抵扣勾选
      • 4、海关缴款书抵扣勾选(税盘模式不支持)
      • 5、海关缴款书不抵扣勾选(税盘模式不支持)
      • 6、海关缴款书表头采集(税盘模式不支持)
      • 7、全量发票查询
      • 8、当前统计查询
      • 9、历史统计查询
      • 10、生成统计表
      • 11、撤销统计表
      • 12、确认统计表
      • 13、获取当前已勾选或往期已认证发票(税盘模式不支持)
      • 14、当期已勾选或往期已认证缴款书(税盘模式不支持)
      • 15、发票抵扣勾选
    • 电子凭证解析
      • billTypeCode表
      • 解析 + 验签 指定文件的xbrl信息
      • xbrl字符串转json
      • json转xbrl字符串
    • 发票异步下载
      • 进项全量发票采集-异步申请
      • 进项全量发票采集-异步结果查询
    • 发票数据规范
  • 查验识别
    • 开发指南
    • 发票查验(单张)
    • 发票查验(多张异步)
    • 发票识别+查验(单张)
    • 发票识别(多张)
    • 发票识别+查验(多张)
    • 数电票文件识别+查验
    • 返回状态码
  • 报销
    • 发票助手移动端-h5对接
    • 发票助手移动端-小程序对接
    • 第三方发票报销查询
    • 发票助手PC端对接
      • 对接流程
      • JS建立连接通道
      • 采集发票
      • 后端建立通道
      • 查看发票
      • 编辑单张发票
      • 分录操作
      • 常见问题
      • 获取userKey
      • 获取linkKey
      • 缓存单据
      • 保存单据
      • 更新单据状态
      • 根据发票流水号获取发票详细数据
      • 根据userkey查询单据下所有发票列表
      • 删除单据
      • 再次查验
      • 回写入账信息
      • 删除入账信息
  • 影像
    • 开发指南
    • 对接约定
    • 影像系统对接
    • 授权
      • 获取AccessToken(影像系统)
  • 档案
    • 异构系统接口定义
    • 发票返结构体
  1. 报销

发票助手移动端-小程序对接

第三方APP调用小程序授权准备#

1、进入微信开放平台创建企业自己的移动应用:https://open.weixin.qq.com/
image
2、填写基本信息,平台信息需要填写android、ios具体信息
image
image
3、提交审核通过后,进入该应用进行小程序关联
image
4、进行微信认证
image

第三方APP集成拉取小程序SDk#

具体打开方式参考微信官方网站**#

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=&lang=zh_CN

发票云小程序参数说明:#

参数名类型长度是否必须备注值
userNameString15是小程序原始ID生产:gh_bfa83b5cd310 测试:gh_cb39a37583e3
pathString-是跳转小程序路径"pages/index/index?scene=${userKey}&source=app" userKey由下方接口获取
miniprogramTypeint1是小程序模式0

Android开发示例#

开发前需到微信开发平台下载Android开发工具包(SDK),可在“资源中心-开发资源-资源下载-Android资源下载”按照指引操作。
调用接口:WXLaunchMiniProgram
移动应用跳转到小程序示例:
回调说明

iOS开发示例#

开发前需到微信开发平台下载iOS开发工具包(SDK),可在“资源中心-开发资源-资源下载-iOS资源下载”按照指引操作。
移动应用跳转到小程序示例:
回调说明
第三方APP内部是H5页面对接则需要向前端提供js桥方法进行对接,如文档下方“云之家案例”

对接约定#

发票云API采用RESTfull的设计方式,客户端通过HTTP协议的GET、POST(目前主要是这两种)方法请求进行调用。
Restful:参考资料
http://www.infoq.com/cn/articles/designing-restful-http-apps-roth
API的调用地址基本上遵循如下约定的方式:
API地址前缀+ 服务 + 资源+ 参数
测试环境: baseUrl = https://api-dev.piaozone.com/test
正式环境: baseUrl = https://api.piaozone.com
对接过程中需要: 发票云授权标识(client_id)、授权密钥(client_secret)、加密密钥(encrypt_key)进行授权,每个环境的授权不同,获取方式可以找实施人员协助提供
image
接口返回约定: 若无特别说明,接口返回如下

调用小程序前,需要先获取userKey#

获取userKey接口地址: baseUrl/m4/bill/wmp/get/user/key?access_token=${access_token}
请求方式: POST
请求content-type格式: application/json
请求的全部参数:
token的获取方式和其它接口一致
参数名是否必须长度备注
bxd_key是最大长度50报销单ID,如果需要同步附件信息,则必传
timestamp是13用于签名验证
clientId是最大长度30发票云分配的应用clientId
ghf_mc是最大长度100购货方名称(校验发票抬头是否一致时使用)
tin是最大长度20企业税号
cid是最大长度160接入企业的用户ID
sign是32签名, 签名规则见对接约定, clientSecret和clientId由发票云分配
encType否1签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密
random是-随机码
ticketParam是5过滤规则,格式如:1101
salerName否最大长度100单据限制销方名称
salerTaxNo否最大长度20单据限制销方税号
billType否是单据类型
assembleByBillType否-是否按单据类型(billType)组装推送给APP的数据。 1:组装; 其他不组装
optMode否1非必须,操作模式 ,0正常(默认) 1仅附件上传
ticketParam 参数规则顺序: 0 不允许 1 允许
第1位:已报销过的发票是否允许导入
第2位:发票抬头与企业名称不一致的发票是否允许导入
第3位:发票抬头与税号不一致发票是否允许导入
第4位:发票查验不通过的发票是否允许导入
billType参数规则:
参数值备注
Tra智能差旅行程单
Pur智能物品采购报销单
BizOut智能对公报销单
""费用报销单传空字符串
请求的返回值:
导入发票跳转回App或小程序后,再次导发票请重新获取userkey避免失效

获取授权access_token#

API地址前缀:基本不变的API访问URL地址,如下:
流程图:
image
接口请求说明:
http请求方式:POST
获取token接口地址: baseUrl/base/oauth/token
请求数据结构
请求参数描述:
参数类型长度是否必须描述
client_idstring最大长度30是发票云授权标识
signString32是签名,签名规则见对接约定
encTypeInt1否签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密
timestamplong13是时间戳
返回参数描述:
参数类型长度描述
access_tokenstring最大长度255用于后续访问的令牌,随机字符串
token_typeString6字符串,令牌类型,可以不用关注, 目前固定bearer
expires_instring-长整型,令牌在多少秒内有效,单位为秒
errcodeString4操作结果码
descriptionstring-操作描述
失败信息:

案例 云之家轻应用#

接口调用代码(js需客户方自己提供....)
参数说明
参数类型长度描述
userNameString15小程序原始ID ("gh_bfa83b5cd310") 注意:每个环境对应的小程序不同,则原始ID要注意更换
pathString-"pages/index/index?scene=${userkey}&source=app";拉起小程序页面路径(app为固定值)
miniprogramTypeInt10 小程序的版本
回调说明

常见的对接问题#

提示二维码失效
注:出现上述图1,图2问题,解决流程如下。
1:先通过图3(我的--新手指导)检查当前环境是什么小程序。
2:检查客户配置(如下图: 苍穹费用报销)的发票云小程序id和小程序模式是否跟图3匹配。
image
参数说明
名称userNameminiprogramType对应环境小程序版本名称
金蝶发票云gh_bfa83b5cd3100生产 api.piaozone.compwy-release x.x.x
票无忧100gh_cb39a37583e30测试 api-dev.piaozome.com/testpwy-test x.x.x
注:
1: 云之家客户仅绑定了一个小程序,因此,切换环境调试时,只需要修改对应的 miniprogramType 值,userName 不变; 对接测试环境时跳转小程序后可能需要给用户添加访问权限
2: 其他App客户如果同时绑定 金蝶发票云 和 票无忧100 了,则只需要调整userName即可切换调试环境

小程序返回App并传递发票,附件数据#

数据接收方式请参考上面android和ios示例中的回调部分
发票云返回的数据格式如下
消息格式: {"type":"selectedInvoices", data: {}}
type为saveBill时为导入时的发票数据
费用单据的数据格式:billType为空字符串
智能差旅行程单的数据数据格式, billType为:Tra
智能物品采购单据-数据数据格式, billType为:Pur
智能对公单据-数据数据格式, billType为:BizOut
以上操作为移动端界面通过小程序采集发票流程

报销单据与发票关系处理(重点)#

请查看接口文档11.0: 发票助手PC web端对接

报销单据上查看关联发票(重点)#

1.1 通过报销单ID查询
接口地址:baseUrl/m4/fpzs/bxdInvoices?bxd_key={报销单ID}&client_id={创建当前报销单的发票云授权标识}&timestamp={时间戳}&sign={签名}
请求方式: GET
参数说明
参数类型长度描述
bxd_keyString最大长度50报销单ID
client_idString最大长度30创建当前报销单的发票云授权标识
timestampString13时间戳
signString32签名规则见对接约定, clientSecret和clientId由发票云分配
encTypeInt1签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密
请求接口参数示例
1.2 单据分录上通过事件代码查询
接口地址:baseUrl/m4/fpzs/expense/invoices/certifacate/query?event_code=${eventCode}
请求方式: GET
参数说明
参数类型长度描述
envent_codeString-事件代码(如下接口获取)
1.2.1获取事件代码eventCode=f2adb2cb45a3ac1b129c581102a0d266
接口地址: baseUrl/base/oauth/eventCode
请求方式: POST
请求content-type格式: application/json
参数说明
参数类型长度描述
client_idString最大长度30创建当前报销单的发票云授权标识
timestampString13时间戳
signString32签名规则见对接约定, clientSecret和clientId由发票云分配
encTypeInt1签名加密类型 0:MD5、1:SHA256、2:HMAC SHA256,不传默认MD5加密
typeString22EXPENSE_SERIALNO_QUERY //固定值
buyerNameString最大长度100购方抬头
buyerTaxNoString最大长度20购方税号
ticketParamString5发票校验过滤规则,格式如:1101
certifacateSerialNosArray-附件流水号
invoiceSerialNosArray-发票流水号
expenseIdString最大长度50报销单ID
请求接口参数示例

小程序跳转小程序对接收票流程#

客户小程序跳转
参数说明
参数类型长度描述
appIdString18目标小程序应用ID(测试环境:wxb5de26c7f5dc89c6 ,生产环境:wxa3a3844ae7205f76 )
userKeyString32由上诉接口获取
客户小程序接收
数据说明
通过流水号获取发票,附件详情
查看文档:发票助手PC web端对接
上一页
发票助手移动端-h5对接
下一页
第三方发票报销查询
Built with