同步与上传票IN发票

SKILLAI 工具

原名 piaoin-invoice

AI 工具 未标注权限 许可证不明确
安装这个技能

对接票IN开放接口,把已归集的发票下载保存到本地并同步结构化数据,也能把本地发票图片或 PDF 上传回去,还可查看识别与验真结果。

一句话选型结论

按资料字段整理

同步与上传票IN发票是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_d41634b1/piaoin-invoice
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_d41634b1仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量9.4 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
下载同步归集发票批量导出租赁发票上传本地发票文件

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
同步与上传票IN发票当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

9.4 KB
模型实际读到的说明书原文,来自技能仓库

票IN 发票

使用本技能从本地项目或线上 Agent 调用票IN PAT开放接口。票IN是一个多途径归集发票的小程序,支持手机拍照OCR、邮箱采集、短信开票链接提取、自动分类、自动验真和简单初审。本技能聚焦发票已进入票IN后的两个工作流:把发票记录和文件下载/同步到本地,以及把本地发票文件上传到票IN。

核心规则

  • 将 X-API-Key 当作敏感信息处理。不要完整打印密钥;展示时掩码为 py_...abcd。
  • 除非用户指定其他目录,否则使用当前项目根目录作为本地状态目录。
  • 在项目根目录用 .piaoin_evn 保存本地状态。仅在用户已有 .piaoin_env 时作为兼容/迁移读取。
  • 每次执行时记录当前运行环境到 .piaoin_evn,至少包含 RUNTIME_MODE 和 LAST_RUNTIME。
  • 下载的发票文件和结构化数据保存到 piaoin_invoice/YYYY-MM/。
  • 调用列表接口且 allTenant=true 前,必须确认下载范围。
  • 只有用户明确要下载整个租户/企业/公司发票,并且当前角色明确为 tenantAdmin 时,才使用 allTenant=true。
  • 如果用户是普通用户或角色未知,默认只下载当前用户自己的发票。若用户要求下载企业全部发票,先确认其为租户管理员,并将 USER_ROLE=tenantAdmin 写入本地状态。
  • 上传时 file 与 fileUrl 二选一,绝不能同时发送。
  • 记住列表接口只返回正常发票(invoice_state=1)。上传接口返回的重复或异常发票,后续可能不会出现在列表结果中。
  • 如果缺少 API key,不要继续调用接口;用“缺少秘钥时的用户提示”中的 Markdown 图片和步骤引导用户创建秘钥。
  • 每次下载/查询完成后,都要给用户一个 Markdown 表格汇总。表格至少包含发票类型、开票日期、发票号码、发票代码、金额、明细汇总、上传日期;如果查询的是全企业/全租户,还要包含发票用户名。

执行方式选择

按当前运行环境降级选择执行方式:

  1. 线上 Agent 或有 HTTP 请求工具:优先使用可用的请求工具直接调用 PAT 接口,并把运行方式记录为 RUNTIME_MODE=request-tool。不要假设能写入本地文件;如果不能落盘,只返回接口结果和可下载链接。
  2. 本地有 Python 环境:优先使用 scripts/piaoin_invoice.py,记录为 RUNTIME_MODE=python-cli。这是最完整模式,支持分页同步、下载文件、上传文件、更新 .piaoin_evn。
  3. 没有 Python 但有 curl:使用 curl 调接口,记录为 RUNTIME_MODE=curl。下载文件可用 curl -L -o;结构化数据可保存为 JSON 文件。
  4. Windows 无 Python 但有 PowerShell:使用 Invoke-RestMethod 和 Invoke-WebRequest,记录为 RUNTIME_MODE=powershell。
  5. 如果既没有请求工具,也没有可用命令行 HTTP 客户端,只生成可执行请求命令和参数说明,不声称已同步或上传。

运行环境记录建议:

RUNTIME_MODE=python-cli
LAST_RUNTIME=2026-07-01T12:34:56+08:00; os=Windows; shell=PowerShell; python=3.12.0

如果当前环境不能写文件,在最终回复中说明“无法写入 .piaoin_evn,本次运行环境为 ...”。

Python 快速开始

使用 scripts/piaoin_invoice.py 执行稳定的本地操作:

python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py config --api-key py_xxx --role user
python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py download --scope own --since-last
python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py download --scope tenant --page-size 50
python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py upload ./invoice.pdf
python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py upload-url https://example.com/invoice.pdf

从用户项目根目录运行命令,这样 .piaoin_evn 和 piaoin_invoice/ 会创建在该项目中。PowerShell 可以直接使用绝对路径:

python C:\Users\jakyo\.codex\skills\piaoin-invoice\scripts\piaoin_invoice.py download --scope own

无 Python 降级示例

curl 查询自己的发票:

curl "https://admin.piaoin.cn/api/v1/pat/invoices/list?pageNum=1&pageSize=50&allTenant=false" \
  -H "X-API-Key: $PAT"

curl 上传本地 PDF:

curl -X POST "https://admin.piaoin.cn/api/v1/pat/invoices/upload" \
  -H "X-API-Key: $PAT" \
  -F "file=@./invoice.pdf"

PowerShell 查询自己的发票:

$headers = @{ "X-API-Key" = $env:PAT }
Invoke-RestMethod -Uri "https://admin.piaoin.cn/api/v1/pat/invoices/list?pageNum=1&pageSize=50&allTenant=false" -Headers $headers

PowerShell 上传本地文件时,优先使用系统已有 curl:

curl.exe -X POST "https://admin.piaoin.cn/api/v1/pat/invoices/upload" -H "X-API-Key: $env:PAT" -F "file=@./invoice.pdf"

本地状态

.piaoin_evn 使用简单的 KEY=VALUE 格式:

API_KEY=py_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BASE_URL=https://admin.piaoin.cn
USER_ROLE=user
LAST_SYNC_DATE=2026-06-01
RUNTIME_MODE=python-cli
LAST_RUNTIME=2026-07-01T12:34:56+08:00; os=Windows; shell=PowerShell; python=3.12.0

USER_ROLE 可选值:

  • tenantAdmin:允许请求 --scope tenant,即全租户/全企业范围。
  • user:只允许请求 --scope own,即当前用户自己的发票。
  • unknown:角色未知,按普通用户处理,直到用户明确说明。

生产环境使用 https://admin.piaoin.cn,测试环境使用 https://admintest.piaoin.cn。

缺少秘钥时的用户提示

当 .piaoin_evn / .piaoin_env / 环境变量中都没有可用的 API_KEY、PIAOIN_API_KEY 或 PAT 时,停止当前下载/上传动作,并用 Markdown 向用户展示下面的参考图片和操作顺序:

当前还没有票IN API 秘钥,暂时不能下载或上传发票。

![票IN秘钥创建参考图](https://wiseai-prod.obs.cn-north-1.myhuaweicloud.com/2026/07/01/da2dbc3922694ada8c721179d208a1ff.png)

请按下面顺序创建并复制秘钥:

1. 打开票In小程序或 App。
2. 进入“我的”菜单。
3. 点击“个人信息”。
4. 滑到最下面,在“秘钥”位置点击“创建”。
5. 复制生成的秘钥并发给我。

注意:秘钥仅展示一次,请创建后立刻复制保存。

拿到秘钥后,优先写入 .piaoin_evn:

python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py config --api-key py_xxx --role user

如果没有 Python 环境,提示用户可临时设置环境变量 PAT / PIAOIN_API_KEY 后使用 curl 或请求工具。

下载流程

  1. 读取 .piaoin_evn。如果没有 API key,按“缺少秘钥时的用户提示”展示参考图片和操作顺序,等待用户提供秘钥。
  2. 判断下载范围:
    - “我的发票”“个人发票”或未明确说明范围:使用 --scope own,接口参数为 allTenant=false。
    - “企业全部”“租户全部”“全公司发票”:使用 --scope tenant,接口参数为 allTenant=true,且要求 USER_ROLE=tenantAdmin。
  3. 用户要求增量同步时使用 --since-last。如果存在 LAST_SYNC_DATE,脚本会发送 startDate=LAST_SYNC_DATE。
  4. 分页调用 /api/v1/pat/invoices/list,直到 pageNum >= totalPage。
  5. 按 createTime 或 invoiceDate 的月份,把每条记录追加保存为 JSONL。
  6. 当返回 invoiceUrl 时下载文件,并尽量保留合适扩展名。文件名应尽量包含发票日期、发票号码/ID、销售方。
  7. 将 LAST_SYNC_DATE 更新为本次结果中最大的 createTime 日期。
  8. 生成并展示 Markdown 汇总表;Python CLI 会在 piaoin_invoice/summary_YYYYMMDD_HHMMSS.md 保存本次汇总。

下载/查询汇总表字段:

字段 来源
发票用户名 仅全企业/全租户查询时展示,取 userName
发票类型 invoiceTypeName
开票日期 invoiceDate
发票号码 invoiceNumber
发票代码 invoiceCode
金额 优先 invoiceAmount
明细汇总 优先发票明细数组/明细字段;如果接口未返回明细,使用销售方到购买方的简要说明
上传日期 createTime

如果接口返回 无权限:仅租户管理员可查询全部发票,说明该 API key 对应用户不是租户管理员。除非用户提供管理员 PAT,否则改为只同步自己的发票。

上传流程

上传本地文件:

python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py upload ./path/to/invoice.pdf

上传远程文件 URL:

python ~/.codex/skills/piaoin-invoice/scripts/piaoin_invoice.py upload-url https://example.com/invoice.pdf

支持 jpg、jpeg、png、pdf。接口是同步处理:OCR、查重、验真、入库和初审完成后返回批次号和发票结果数组。对异常发票重点说明 invoiceStateName、isVerification 和 checkResultInfo。

参考资料

需要查看接口路径、响应字段、枚举含义、错误处理或 curl 示例时,读取 references/pat-api.md。

常见问题

5 问
答案由本站依据条目字段整理
同步与上传票IN发票怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_d41634b1/piaoin-invoice。安装方式为未标注。装完刷新技能列表或重开客户端。

同步与上传票IN发票支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

同步与上传票IN发票权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

同步与上传票IN发票收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

同步与上传票IN发票用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。