使用此技能通过上传发票文件进行 OCR 识别,自动提取发票票面结构化信息。
满足以下需求时使用:
以下用户输入应触发此技能:
执行前准备以下参数:
前置检查(最高优先级):检查环境变量 ZXT_API_KEY 是否已设置。
注意:当前 shell 会话可能未继承 Windows 用户级环境变量,必须按以下方式检查,不能仅依赖 $ZXT_API_KEY:
powershell -Command "[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')" 获取用户级环境变量值,同时检查 $ZXT_API_KEY。$ZXT_API_KEY 即可。如果以上检查结果均为空,禁止执行任何后续操作,立即向用户输出以下提示并停止:
您需要完成以下三步,即可自动配置并执行技能:
注册账号 访问中兴通简税Skill平台: https://skill.quandianfapiao.com/ 完成注册。
申请 apiKey 登录后进入"技能中心",复制您的 apiKey。
提供 apiKey 将复制的 apiKey 发送给我,我将为您完成配置并立即执行技能。
严格限制:前置检查未通过时,禁止执行任何其他动作,包括但不限于:
只允许输出提示信息,然后停止,等待用户提供 apiKey。
用户提供 apiKey 后,写入系统环境变量并使当前会话生效:
setx ZXT_API_KEY <apiKey> 写入用户级环境变量,然后执行 export ZXT_API_KEY=<apiKey> 使当前会话生效。export ZXT_API_KEY=<apiKey> 追加到 ~/.bashrc 或 ~/.zshrc(根据用户使用的 shell),同时执行 export ZXT_API_KEY=<apiKey> 使当前会话生效。环境变量就绪后,继续以下步骤:
python,macOS/Linux 使用 python3),脚本优先使用 --api-key 参数,未传则回退读取环境变量 ZXT_API_KEY。请求头: Content-Type: multipart/form-data
参数类型必填说明apiKeystring是apiKeyfilefile是发票文件(pdf/ofd/jpeg/jpg/png/xml)
字段类型说明statusstring返回接口状态码messagestring返回接口状态描述信息dataobject业务数据体
字段类型说明invoiceTypestring发票种类invoiceCodestring发票代码invoiceNumberstring发票号码invoiceDatestring开票日期hjjestring合计金额hjsestring合计税额jshjstring价税合计xsfMcstring销售方名称xsfNsrsbhstring销售方纳税人识别号xsfAddressTelstring销售方地址、电话xsfBankAccountstring销售方开户行及账号gmfMcstring购买方名称gmfNsrsbhstring购买方税号gmfAddressTelstring购买方地址、电话gmfBankAccountstring购买方开户行及账号payeestring收款人reviewerstring复核人invoicerstring开票人machineNostring机器编号checkCodestring校验码passwordAreastring密码区remarkstring备注itemList发票明细列表otherInfostring其他信息
字段类型说明projectNamestring项目名称ggxhstring规格型号projectUnitstring单位projectCountstring数量projectPriceEtstring单价projectJeEtstring金额slstring税率sestring税额
状态码说明400请求参数错误300参数为空或格式错误305无权访问该接口307消费失败,授权余次不足308超出接口调用次数500系统异常
请求方式: multipart/form-data,包含 apiKey 字段和 file 文件字段。
成功返回:
json
{
"status": "200",
"message": "成功",
"data": {
"invoiceType": "82",
"invoiceCode": "数电票",
"invoiceNumber": "23622000000012981281",
"invoiceDate": "2023-10-18",
"hjje": "34.65",
"hjse": "0.35",
"jshj": "35.00",
"xsfMc": "金昌市安行征途汽车运输有限公司",
"xsfNsrsbh": "91620302MA71XY3022",
"xsfAddressTel": "",
"xsfBankAccount": "",
"gmfMc": "北京中兴通融资产管理股份有限公司",
"gmfNsrsbh": "911101087582285868",
"gmfAddressTel": "",
"gmfBankAccount": "",
"payee": null,
"reviewer": null,
"invoicer": "张玉芳",
"machineNo": null,
"checkCode": "23622000000012981281",
"passwordArea": null,
"remark": "车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\n价税合计(大写) 叁拾伍圆整 (小写)¥35.00\n线路:武威-金川机场日期:2023-10-1608:30\n",
"otherInfo": null,
"item": [
{
"projectName": "*运输服务*客运服务",
"ggxh": null,
"projectUnit": null,
"projectCount": "34.65",
"projectPriceEt": "1",
"projectJeEt": "34.65",
"sl": "1%",
"se": "0.35"
}
]
}
}
异常返回:
json
{
"status": "400",
"message": "文件不能为空",
"data": ""
}
发票识别:
bash
python .claude/skills/invoice-ocr/invoice_ocr.py ocr --file "E:\\invoices\\test.pdf"