Install
openclaw skills install invoice-discern使用慧穗云发票识别 API,通过上传发票影像文件(图片、PDF、OFD、ZIP)自动识别发票信息。
openclaw skills install invoice-discern基于慧穗云官方 API 的发票识别技能,支持通过上传发票影像文件自动识别发票信息,包括增值税发票、机动车发票、火车票、飞机票等多种票据类型。
# Linux / macOS
export HSY_API_URL="https://huisuiyun.com"
export HSY_AK="your_ak_here"
export HSY_SK="your_sk_here"
export HSY_TYPE="2" # 1: ISV等级AKSK, 2: 慧穗云等级AKSK
# Windows PowerShell
$env:HSY_API_URL="https://huisuiyun.com"
$env:HSY_AK="your_ak_here"
$env:HSY_SK="your_sk_here"
$env:HSY_TYPE="2"
获取 AK/SK:
注意: 如果未配置环境变量,脚本会返回包含配置链接的错误信息,方便用户快速获取秘钥。
脚本文件:skills/invoice-discern/invoice-discern.py
通过 /api/v2/agent/cdk/invoice/discern 接口识别发票影像文件
python3 skills/invoice-discern/invoice-discern.py discern /path/to/invoice.jpg
| 票种名称 | 票种代码 |
|---|---|
| 增值税专用发票 | 01 |
| 机动车销售统一发票 | 03 |
| 增值税普通发票 | 04 |
| 增值税专用电子发票 | 08 |
| 增值税电子普通发票 | 10 |
| 增值税普通发票(卷票) | 11 |
| 通行费增值税电子普通发票 | 14 |
| 二手车销售统一发票 | 15 |
| 全电发票(普通发票) | 90 |
| 全电发票(增值税专用发票) | 09 |
| 全电纸质发票(增值税专用发票) | 85 |
| 全电纸票发票(普通发票) | 86 |
| 全电发票(铁路电子客票) | 51 |
| 全电发票(航空运输电子客票行程单) | 61 |
| 机打发票 | 199 |
| 定额发票 | 200 |
| 火车票 | 201 |
| 航空运输电子客票行程单 | 202 |
| 客运汽车 | 203 |
| 过路费 | 205 |
| 船票 | 204 |
| 出租车发票 | 207 |
| 电子医疗票据 | 209 |
| 滴滴出行行程单 | 210 |
| 非税收入类票据 | 211 |
{
"code": "200",
"message": "OK",
"serialNo": "635436126077288448",
"data": {
"invoiceList": [
{
"invoiceType": "01",
"invoiceCode": "3100212130",
"invoiceNo": "37243570",
"drewDate": "2021-10-27",
"amount": 2990.25,
"amountWithTax": 3378.98,
"taxAmount": 388.73,
"purchaserName": "慧穗数字科技****",
"purchaserTaxNo": "9131011****",
"sellerName": "上海京东鸿为****",
"sellerTaxNo": "91310107M****",
"filePath": "http://...",
"items": [
{
"goodsName": "*电子计算机*笔记本电脑",
"amount": "3538.94",
"taxRate": "13%",
"taxAmount": "460.06"
}
]
}
],
"nonVatInvoiceList": [
{
"invoiceType": "201",
"invoiceNo": "Z106J018400",
"drewDate": "2019-11-18",
"amountWithTax": "73.00",
"stationGetOn": "杭州东",
"stationGetOff": "上海虹桥",
"passengerName": "张三",
"trainNumber": "G7510"
}
]
}
}
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | String | 返回状态码:200-成功 |
| serialNo | String | 返回流水号 |
| message | String | 返回信息 |
| data | Object | 识别的发票信息集合 |
| data.invoiceList | Array | 增值税发票信息列表 |
| data.nonVatInvoiceList | Array | 非增值税发票信息列表 |
| 字段名 | 类型 | 说明 |
|---|---|---|
| invoiceType | String | 发票类型(见票种码值表) |
| invoiceCode | String | 发票代码(全电发票为空) |
| invoiceNo | String | 发票号码 |
| drewDate | String | 开票日期 |
| amount | BigDecimal | 不含税金额 |
| amountWithTax | BigDecimal | 含税金额 |
| taxAmount | BigDecimal | 税额 |
| purchaserName | String | 购方名称 |
| purchaserTaxNo | String | 购方税号 |
| sellerName | String | 销方名称 |
| sellerTaxNo | String | 销方税号 |
| filePath | String | 文件下载地址 |
| items | Array | 商品明细列表 |
| 错误码 | 说明 |
|---|---|
| 200 | 识别成功 |
| 501 | 连接超时,请稍后重试 |
| 其他 | 详见接口返回的 message |
python3 skills/invoice-discern/invoice-discern.py discern <file_path>