接入文档
接入文档 /发票开具/修改发票

修改发票

修改一张尚未开具的发票申请(例如待审核、审核驳回、开票失败的记录)。参数与 开具发票 基本一致,修改后不会自动重新开票,需要再调用 重试开票 或在控制台操作。

PUT/invoice/{id}

路径参数

参数 类型 必填 说明
id int 必填 发票 ID(invoiceId),通过 查询发票 获取;必须属于当前企业

请求参数

请求体为 JSON,字段含义见 开具发票 - 请求参数。与开票接口的差异:

参数 类型 必填 说明
appKey string 条件必填 服务密钥 Key,与 appSecret 成对使用;传了 accessToken 时可不传
appSecret string 条件必填 服务密钥 Secret
accessToken string 条件必填 访问令牌,通过 获取访问令牌 接口获取;传了 accessToken 则无需 appKey / appSecret
taxNumber string 必填 企业纳税人识别号,指定本次操作的开票企业;必须是该密钥已关联的企业
outOrderNo string 必填 外部订单号
type string 必填 抬头类型:个人、企业
category string 必填 发票类型
purchaserName string 条件必填 企业抬头时必填
purchaserTaxpayerNumber string 条件必填 企业抬头时必填
items array 必填 商品明细;未传 sum 时 price 与 number 都必填
其他字段 - 选填 同开票接口(购买方信息、交付信息、备注、特定业务、扩展信息等)

请求示例

json
{
  "appKey": "你的appKey",
  "appSecret": "你的appSecret",
  "taxNumber": "91320211MA1WML8X6T",
  "outOrderNo": "ORDER20260101001",
  "type": "企业",
  "category": "全电电子普通发票",
  "purchaserName": "深圳市腾讯计算机系统有限公司",
  "purchaserTaxpayerNumber": "91440300708461136T",
  "email": "finance@example.com",
  "items": [
    {
      "name": "技术服务费",
      "no": "3040201010000000000",
      "taxRate": 0.06,
      "number": 1,
      "price": 1200,
      "sum": 1200
    }
  ]
}

响应示例

content 为更新后的发票记录:

json
{
  "code": 1,
  "message": "更新成功",
  "content": {
    "id": 10001,
    "outOrderNo": "ORDER20260101001",
    "category": "全电电子普通发票",
    "state": -1,
    "price": 1200,
    "purchaserName": "深圳市腾讯计算机系统有限公司",
    "...": "其他字段"
  }
}

错误信息

message 说明
非法发票ID参数 id 不属于当前企业
非法主键参数 id 不存在
缺少外部订单号 / 请选择个人或企业 / 非法发票类型category 必填项缺失
请输入抬头税号 企业抬头缺少名称或税号
缺少数量 参数:number 未传 sum 时必须同时传 price 和 number
其他 同 开具发票 - 错误信息