Skip to content

发票管理 API

1. 接口概述

发票管理API用于管理系统中的发票信息,支持获取发票列表、更新纸质发票的打印信息和获取开票结果列表等功能。

2. 接口列表

接口名方法功能描述
invoice.getInvoicePOST获取发票信息
invoice.getInvoiceListPOST获取发票列表
invoice.updatePOST更新纸质发票的打印信息
invoice.getResultListPOST获取开票结果列表

3. 系统级参数

系统级参数是调用所有接口都必须提供的参数:

参数名类型必填名称描述
flagstring应用标识用于标识调用方身份
methodstring接口方法名例如:invoice.getInvoice
vernumber版本号固定为1
charsetstring字符集固定为utf-8
typestring返回格式固定为json
timestampstring时间戳格式:yyyyMMddHHmmss
signstring签名用于验证请求的合法性

4. 接口详细说明

4.1 获取发票信息

请求参数

参数名类型必填描述
invoice_bnstring发票编号

响应参数

参数名类型描述
invoice_bnstring发票编号
invoice_typestring发票类型
invoice_statusstring发票状态
tax_nostring税号
company_namestring公司名称
amountdecimal金额
tax_amountdecimal税额
total_amountdecimal价税合计
issue_datestring开票日期
itemsarray发票明细

items 数组中的每个对象包含以下字段:

参数名类型描述
item_namestring项目名称
specstring规格
unitstring单位
quantitydecimal数量
pricedecimal单价
amountdecimal金额

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "invoice_bn": "FP20240101001",
  "invoice_type": "增值税专用发票",
  "invoice_status": "已开票",
  "tax_no": "91110105MA00123456",
  "company_name": "测试科技有限公司",
  "amount": 10000.00,
  "tax_amount": 1300.00,
  "total_amount": 11300.00,
  "issue_date": "2024-01-01",
  "items": [
    {
      "item_name": "测试产品",
      "spec": "标准规格",
      "unit": "个",
      "quantity": 100,
      "price": 100.00,
      "amount": 10000.00
    }
  ]
}

4.2 获取发票列表

请求参数

参数名类型必填描述
start_datestring开始日期(格式:yyyy-MM-dd)
end_datestring结束日期(格式:yyyy-MM-dd)
invoice_typestring发票类型
invoice_statusstring发票状态
page_noint页码,默认1
page_sizeint每页条数,默认50,最大1000

响应参数

参数名类型描述
countint总记录数
listsarray发票列表

lists 数组中的每个对象包含以下字段:

参数名类型描述
invoice_bnstring发票编号
invoice_typestring发票类型
invoice_statusstring发票状态
company_namestring公司名称
total_amountdecimal价税合计
issue_datestring开票日期

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "count": 100,
  "lists": [
    {
      "invoice_bn": "FP20240101001",
      "invoice_type": "增值税专用发票",
      "invoice_status": "已开票",
      "company_name": "测试科技有限公司",
      "total_amount": 11300.00,
      "issue_date": "2024-01-01"
    },
    {
      "invoice_bn": "FP20240101002",
      "invoice_type": "增值税普通发票",
      "invoice_status": "已开票",
      "company_name": "测试贸易有限公司",
      "total_amount": 5650.00,
      "issue_date": "2024-01-01"
    }
  ]
}

5. 错误码说明

错误码错误信息解决方案
0成功-
1参数错误检查参数格式是否正确,所有必填参数是否都已提供
400参数错误检查参数格式是否正确,所有必填参数是否都已提供
401未授权访问检查flag和sign是否正确
403禁止访问联系管理员获取权限
500服务器内部错误检查请求参数或联系技术支持
1001非法的flag请检查flag是否正确
1002请求已过期请检查timestamp是否正确,请求有效期为5分钟
1003签名错误请检查签名算法和参数是否正确
1004不支持的type格式请使用json格式
2001缺少必要的参数请检查请求参数是否完整
2002非法的请求参数请检查参数格式和范围是否正确
2003接口不存在请检查接口方法名是否正确

6. 注意事项

  1. 日期格式必须为 yyyy-MM-dd,否则可能导致查询失败。
  2. page_size 参数最大支持 1000,默认50,超过100将被限制为 100。
  3. 对于大数据量的查询,建议使用日期范围进行精确筛选,以提高查询效率。
  4. 时间戳必须与服务器时间保持同步,误差不超过3600秒。
  5. 每个请求必须生成唯一的签名,避免重复提交。
  6. 请妥善保管接口密钥,避免泄露。
  7. 所有请求参数中的特殊字符必须进行 URL 编码,特别是在使用 GET 方法时。
  8. 请确保在请求头中设置正确的 Content-Type,对于 POST 请求建议使用 application/json。
  9. 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
  10. 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。