Install
openclaw skills install financial-statement-check企业财报三表(资产负债表 / 利润表 / 纳税申报表)勾稽检查技能包。当用户上传财报PDF/图片、或要求进行财报审核、三表勾稽校验时,应自动调用此技能。支持从财报PDF/图片中结构化抽取三表关键数据,自动统一单位(万元)与币种(必要时按实时汇率折算为CNY),执行时间一致性/字段完整性/核心税会差异/跨表校验,并按规则输出标准审核报告。适用于银行信贷审批、企业财报初审、财务尽调等场景。
openclaw skills install financial-statement-check对企业财报(PDF/图片)进行结构化抽取与三表勾稽校验,帮助银行/风控/财务人员加速财报初审。
核心能力:
references/cross-check-rules.md — 时间检查 / 字段完整性 / 原始指标 / 核心指标 / 跨表校验 / 用户自定义检查 的规则与输出条件references/field-mapping.md — 三表科目字段映射、必填字段清单、单位与币种统一规则、报告期与申报类型识别scripts/table_ocr.py — 腾讯云表格OCR识别脚本,支持PDF/图片输入,返回结构化表格数据当用户提出以下需求时触发此技能:
当检测到以下信号时,应自动调用此技能:
tencentcloud-sdk-python(pip install tencentcloud-sdk-python)PyMuPDF(pip install PyMuPDF)TENCENTCLOUD_SECRET_ID:腾讯云API密钥IDTENCENTCLOUD_SECRET_KEY:腾讯云API密钥Key用户上传财报 PDF / 图片
│
▼
Step 0: 【智能页码定位】用 PyMuPDF 提取PDF全文文本
│ 根据关键词定位 资产负债表 / 利润表 / 纳税申报表 所在页码(~2秒,无需OCR)
▼
Step 1: 调用 scripts/table_ocr.py --pdf --pdf-pages 并行表格OCR
▼
Step 2: 获取结构化表格数据(HTML/JSON)
▼
Step 3: 大模型根据 field-mapping.md 识别三表类型、映射标准字段名
▼
Step 4: 数值提取 + 单位统一(万元) + 币种一致性检查与汇率折算(必要时)
▼
Step 5: 按 cross-check-rules.md 执行:
① 时间检查(必输出)
② 字段完整性检查(仅异常时输出)
③ 原始指标输出(必输出)
④ 核心指标检查(仅异常时输出)
⑤ 跨表校验(仅异常时输出)
⑥ 用户自定义检查项(如有)
▼
Step 6: 按"输出格式"章节模板生成审核报告
对PDF文件必须先执行此步骤以减少不必要的OCR调用。
import fitz # PyMuPDF
doc = fitz.open("/path/to/report.pdf")
for page_num in range(len(doc)):
text = doc[page_num].get_text()
print(f"--- 第{page_num + 1}页 ---")
print(text[:500])
doc.close()
页码定位关键词:
💡 大模型应分析每页文本,判断哪些页包含三表数据,仅将这些页码传给 Step 1。对于图片输入,跳过此步骤。
# 【推荐】识别PDF指定页码(内置PDF→PNG + 并行OCR)
python scripts/table_ocr.py --pdf /path/to/report.pdf --pdf-pages 6,7,8,9
# 识别页码范围 / 混合指定
python scripts/table_ocr.py --pdf /path/to/report.pdf --pdf-pages 1-5
python scripts/table_ocr.py --pdf /path/to/report.pdf --pdf-pages 1,3-5,8
# 识别图片
python scripts/table_ocr.py --image-url "https://example.com/financial_report.jpg"
python scripts/table_ocr.py --image-base64 ./financial_report.jpg
加载 references/field-mapping.md 参考文档,按以下 Prompt 完成:
你是一位资深财务审计专家,精通中国会计准则(CAS)与税法。
请根据以下OCR识别出的财报表格数据,完成三表识别、字段映射、单位/币种统一。
## 三表范围
- 资产负债表(Balance Sheet)
- 利润表(Income Statement)
- 纳税申报表(增值税 / 企业所得税 Tax Return)
## 任务要求
1. 三表识别:根据表头/关键词判定每个表格归属
2. 字段映射:参考 field-mapping.md 的映射表,将 OCR 科目名称统一映射为标准字段名
3. 数值提取 & 单位统一:统一为"万元"(保留2位小数);括号视为负数;去千分位逗号
4. 币种一致性:
- 识别三表币种
- 若不一致:按当前实时汇率将非CNY科目折算为CNY,**并在输出时标注币种与汇率**
5. 报告期识别:
- 发生时间窗口(起止日)
- 是否与自然年错位
- 申报类型(月度/季度/年度,依据税款所属期跨度)
6. 空值处理:"—"/空白 → null,"0" → 0
## OCR表格数据
---
{ocr_tables_data}
---
## 字段映射参考
---
{field_mapping_content}
---
请以 JSON 输出抽取结果。
加载 references/cross-check-rules.md,按其中定义执行六类检查。区分必输出项与仅异常时输出项。
按下方"输出格式"章节模板输出给用户。
{
"meta": {
"report_period": "2024-01-01 ~ 2024-12-31",
"is_fiscal_year_aligned": true,
"declaration_type": "年度",
"unit": "万元",
"currency": "CNY",
"currency_conversion_note": null
},
"balance_sheet": {
"total_assets": 100000.00,
"total_liabilities": 60000.00,
"owners_equity": 40000.00,
"current_liabilities": 35000.00,
"cash_and_equivalents": 12000.00,
"short_term_borrowings": 10000.00,
"revenue": 80000.00
},
"income_statement": {
"revenue": 80000.00,
"revenue_last_period": 72000.00,
"operating_cost": 50000.00,
"operating_profit": 18000.00,
"total_profit": 17000.00,
"net_profit": 14000.00,
"accounting_depreciation": 3000.00,
"actual_employee_compensation": 6000.00
},
"tax_return": {
"taxable_sales": 82000.00,
"output_tax": 10660.00,
"input_tax": 8500.00,
"vat_payable": 2160.00,
"vat_paid": 2150.00,
"tax_revenue": 80000.00,
"tax_total_profit": 17000.00,
"tax_adjustment_increase": 500.00,
"taxable_income": 17500.00,
"income_tax_payable": 4375.00,
"income_tax_paid": 4300.00,
"tax_depreciation": 3100.00,
"deductible_employee_compensation": 5900.00
}
}
注意:以下区块按条件输出。带 ⭐"必输出"的区块始终展示;其余区块仅在存在异常/用户提问时展示。
# 📊 企业财报三表勾稽检查报告
---
## ⏱ 一、时间检查 ⭐必输出
| 项目 | 内容 |
|------|------|
| 发生时间窗口 | 2024-01-01 ~ 2024-12-31 |
| 三表时间一致性 | 一致 / 不一致 |
| 是否与自然年错位 | 错位 / 无错位 |
| 申报类型 | 月度 / 季度 / 年度 |
---
## ❗ 二、字段完整性检查(仅异常时输出)
> 本区块仅在存在缺失字段时展示。
| 报表 | 缺失字段 | 说明(≤50字) | 查验引导 |
|------|---------|--------------|----------|
| 资产负债表 | 货币资金 | 未识别到该科目金额 | 资产负债表·流动资产首行,PDF第3页 |
---
## 📑 三、原始指标输出 ⭐必输出
> 金额单位:**万元**,币种:**CNY**(若存在折算,此处会注明"已由XXX按汇率X.XX折算为CNY")
### 3.1 资产负债表
| 类目 | 金额(万元) |
|------|------------|
| 【负债表】总资产 | 100,000.00 |
| 【负债表】总负债 | 60,000.00 |
| 【负债表】流动负债合计 | 35,000.00 |
### 3.2 利润表 — 经营结果
| 类目 | 金额(万元) |
|------|------------|
| 【利润表】本期营业收入 | 80,000.00 |
| 【利润表】上期营业收入 | 72,000.00 |
| 【利润表】营业成本 | 50,000.00 |
| 【利润表】利润总额 | 17,000.00 |
| 【利润表】净利润 | 14,000.00 |
### 3.3 利润表 — 税务指标
| 类目 | 金额(万元) |
|------|------------|
| 【利润表】应税销售额 | 82,000.00 |
| 【利润表】实缴增值税额 | 2,150.00 |
| 【利润表】企业应纳税所得额 | 17,500.00 |
| 【利润表】实缴企业所得税额 | 4,300.00 |
| 【利润表】企业纳税调增金额 | 500.00 |
> 未识别/未匹配的科目,金额栏标注:⚠️ 异常(未识别/未匹配)
---
## 🔍 四、核心指标检查(仅异常时输出)
> 本区块仅在下列任一项结果为"否/异常"时展示。
| # | 检查项 | 结果 | 说明(≤50字) | 查验引导 |
|---|--------|------|--------------|----------|
| C-01 | 增值税应税收入 = 会计收入? | 否 | 应税收入较会计收入低12%,疑漏申报 | 增值税申报表主表第1行 / 利润表第1行 |
| C-02 | 应纳税所得额 = 利润总额? | 否 | 差异属正常税会调整,请核对调整明细 | A105000 纳税调整明细表 |
| C-03 | 税法折旧 ?= 会计折旧? | 否 | 差异来自加速折旧优惠 | 附注·固定资产 / A105080 |
| C-04 | 税表可扣除职工薪酬 = 实际计提? | 否 | 税前扣除低于实际计提,存在调增 | A105050 职工薪酬扣除明细 |
---
## 🔗 五、跨表校验(仅异常时输出)
> 本区块仅在下列任一项结果为"异常/否"时展示。
| # | 校验项 | 结果 | 说明(≤50字) | 查验引导 |
|---|--------|------|--------------|----------|
| X-01 | 增值税应税销售额 ≥ 营业收入 且差异 ≤ ±10% | 符合预期 / 异常 | 差异幅度 15%,建议核对视同销售与价外费用 | 增值税申报表 / 利润表 |
| X-02a | 所得税申报表营业收入 ≈ 利润表营业收入 | 是 / 否 | —— | A100000 与 利润表第1行 |
| X-02b | 所得税申报表利润总额 ≈ 利润表利润总额 | 是 / 否 | —— | A100000 与 利润表 |
| X-03 | 应纳所得税额 ≈ 利润总额 × 法定税率 - 减免 - 抵免 | 是 / 否 | 偏离显著,建议核对税率适用与优惠 | A100000 主表 |
---
## 📝 六、补充分析(用户自定义检查项,可选)
> 本区块仅在用户调用时附带了其他问题时展示,以自然语言形式作为补充。
---
> ⚠️ **免责声明**:本报告基于OCR识别结果自动生成,仅供初审参考,不构成审计或税务意见。最终结论以人工审核为准。
在购买页面中选择 表格识别(高精度版) 完成购买。
Linux / macOS:
export TENCENTCLOUD_SECRET_ID="你的SecretId"
export TENCENTCLOUD_SECRET_KEY="你的SecretKey"
Windows (PowerShell):
$env:TENCENTCLOUD_SECRET_ID = "你的SecretId"
$env:TENCENTCLOUD_SECRET_KEY = "你的SecretKey"