360 Secure SkillHub
360 安全技能中心

Invoice Contract Data Extraction

读取 PDF/PNG/JPG 格式的发票、收据与合同,提取金额、日期、供应商、条款和签字等信息,执行金额与日期校验,并输出结构化 JSON、可读报告和批量汇总表。适用于财务、法务与运营场景,数据按声明在本地处理。

sh2601393743-png
sh2601393743-png
热度 9.17
最近更新 2026-07-22 05:57:25
分类:数据依赖:读写文件 / 内部调用大模型应用场景:财务 / 法律文档 / 数据处理 / 报告撰写 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add invoice-contract-extract
Metadata
name
invoice-contract-extract
description
发票与合同数据提取技能。读取 PDF/图片格式的发票、收据、合同文件, 自动提取关键字段(金额、日期、供应商、条款、签字方), 输出结构化 JSON 数据和可读报告。 适用于财务团队、法务团队、运营自动化场景。
version
1.0.0
author
AgentSkills Factory
tags
["data-extraction","invoice","contract","ocr","finance","automation"]
platforms
["claude-code","cursor","codex-cli","openclaw"]
license
commercial
price
49

发票与合同数据提取

这个技能做什么

读取发票、收据、合同文件,自动提取结构化数据:

  1. 发票/收据提取:供应商、金额、税额、日期、明细行项目
  2. 合同提取:合同方、生效日期、到期日、金额、关键条款、签字信息
  3. 数据校验:金额计算核对、日期合理性检查
  4. 结构化输出:JSON 格式 + 人类可读报告
  5. 批量处理:支持一次处理多个文件

触发条件

  • 提到"发票""invoice""收据""receipt""合同""contract""提取""extract"
  • 使用 /extract-invoice 或 /extract-contract 命令
  • 提供PDF/图片文件并要求提取数据

示例:

  • "提取这个发票的信息:invoice.pdf"
  • "/extract-invoice ./receipts/"
  • "从这个合同里提取关键条款"

工作流

步骤 1:确认输入

必需信息:

  • 文件路径(PDF/图片)或文件目录(批量)

可选信息:

  • 文件类型(发票/收据/合同,默认自动检测)
  • 输出格式(JSON/报告/两者,默认两者)
  • 特定字段需求(如"只提取金额和日期")

步骤 2:文件读取与检测

读取文件内容:

  • PDF 文件:使用 Read 工具读取(支持PDF)
  • 图片文件:使用 Read 工具读取(支持图片OCR)
  • 判断文件类型:发票/收据/合同

步骤 3:数据提取

3.1 发票/收据提取

提取字段:

字段 说明 必填
发票编号 Invoice Number ✅
开票日期 Issue Date ✅
到期日期 Due Date ⬜
供应商名称 Vendor/Supplier Name ✅
供应商地址 Vendor Address ⬜
供应商税号 Vendor Tax ID ⬜
客户名称 Bill To ✅
客户地址 Customer Address ⬜
明细行项目 Line Items(描述+数量+单价+金额) ✅
小计 Subtotal ✅
税率 Tax Rate ⬜
税额 Tax Amount ✅
总计 Total ✅
货币 Currency ✅
支付条款 Payment Terms ⬜
备注 Notes ⬜

3.2 合同提取

提取字段:

字段 说明 必填
合同标题 Contract Title ✅
合同编号 Contract Number ⬜
合同类型 Type(NDA/服务/采购/雇佣等) ✅
生效日期 Effective Date ✅
到期日期 Expiration Date ✅
甲方 Party A(名称+地址) ✅
乙方 Party B(名称+地址) ✅
合同金额 Contract Value ⬜
付款条款 Payment Terms ⬜
关键义务 Key Obligations(双方) ✅
终止条款 Termination Clause ✅
保密条款 Confidentiality ⬜
争议解决 Dispute Resolution ⬜
签字方 Signatories(姓名+职位+日期) ✅
签字日期 Signature Date ✅

步骤 4:数据校验

提取后执行以下校验:

发票校验:

  • 小计 + 税额 = 总计?(误差<0.01)
  • 明细行项目金额之和 = 小计?
  • 日期格式合理?(开票日期 ≤ 到期日期)
  • 金额为正数?
  • 货币符号与金额匹配?

合同校验:

  • 生效日期 ≤ 到期日期?
  • 甲乙方信息完整?
  • 关键条款是否有明显缺失?
  • 签字信息完整?

校验不通过的字段,标注 ⚠️ 并说明问题。

步骤 5:输出

输出 1:JSON 结构化数据

{
  "file": "invoice_001.pdf",
  "type": "invoice",
  "extractedAt": "2026-07-22",
  "fields": {
    "invoiceNumber": "INV-2026-0042",
    "issueDate": "2026-07-15",
    "dueDate": "2026-08-15",
    "vendor": {
      "name": "Acme Corp",
      "address": "123 Main St, San Francisco, CA",
      "taxId": "US123456789"
    },
    "customer": {
      "name": "TechStart Inc"
    },
    "lineItems": [
      {
        "description": "Consulting service - July",
        "quantity": 40,
        "unitPrice": 150.00,
        "amount": 6000.00
      }
    ],
    "subtotal": 6000.00,
    "taxRate": 0.0875,
    "taxAmount": 525.00,
    "total": 6525.00,
    "currency": "USD"
  },
  "validation": {
    "passed": true,
    "warnings": []
  }
}

输出 2:可读报告


📄 数据提取报告

文件:{文件名} 类型:{发票/收据/合同} 提取日期:{日期}

提取结果

字段 值 状态
发票编号 {值} ✅/⚠️
开票日期 {值} ✅
供应商 {值} ✅
客户 {值} ✅
总计 {值} ✅

明细行项目

# 描述 数量 单价 金额
1 {描述} {数量} {单价} {金额}

校验结果

  • [✅] 小计 + 税额 = 总计
  • [✅] 明细金额之和 = 小计
  • [⚠️] 到期日期为空(可能需要人工确认)

原文对照

{关键区域的原文截图或引用,方便人工核对}


步骤 6:批量处理模式

如果输入是目录,对每个文件:

  1. 逐个提取
  2. 汇总到一张表格
  3. 输出合并的 JSON 数组
  4. 标注提取失败或校验不通过的文件

批量汇总表:

文件名 类型 供应商/甲方 金额 日期 校验
{文件1} 发票 {名称} {金额} {日期} ✅
{文件2} 合同 {名称} {金额} {日期} ⚠️

步骤 7:质量自检

  • 所有必填字段已提取或标注"未找到"
  • 金额校验已执行
  • 日期校验已执行
  • JSON 格式有效
  • 可读报告包含原文对照
  • 批量模式下汇总表完整

使用示例

示例 1:单发票

提取 invoice_2026_07.pdf 的数据

示例 2:批量

/extract-invoice ./receipts/ --format=json

示例 3:合同

从这份合同里提取关键条款和签字信息:contract.pdf

注意事项

  1. 准确性:金额和日期是关键字段,如有不确定标注"需人工确认"
  2. 多语言:支持中英文发票和合同
  3. 多格式:PDF、PNG、JPG 均可
  4. 隐私:提取的数据不发送到外部,本地处理
  5. 不替代专业判断:合同条款解读仅供参考,重要合同需法务审核

技能边界

不做:

  • 不做财务记账(只提取数据,不入账)
  • 不做法律建议
  • 不验证发票真伪
  • 不处理加密/密码保护的文件(提示用户提供解密版本)

AgentSkills Factory 出品 | 版本 1.0.0 | 适用于 Claude Code / Cursor / Codex CLI / OpenClaw