Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Design & media
发票识别
Try it面向上市公司的发票识别与自动入账技能包,通过 OCR 拍照/截图提取发票数据, 自动分类并匹配入账。支持增值税专用发票、普通发票、全电发票、机动车发票、 通行费、火车票机票等全类型发票,实现发票验真、自动分类、三单匹配和台账管理。
What it does
本技能包专为上市公司财务部门设计,实现发票全生命周期管理:从 OCR 识别提取数据 → 发票验真 → 自动分类入账 → 台账管理 → 与进销存系统联动。
The skill document
发票识别技能包 (finance-invoice-ocr)
概述
本技能包专为上市公司财务部门设计,实现发票全生命周期管理:从 OCR 识别提取数据 → 发票验真 → 自动分类入账 → 台账管理 → 与进销存系统联动。
一、支持的发票类型
1.1 增值税发票
| 发票类型 | 代码规则 | 特点 |
|---|---|---|
| 增值税专用发票(纸质) | 10位或12位 | 需认证抵扣 |
| 增值税专用发票(电子) | 20位 | 全电票前身 |
| 全电发票(数电发票) | 20位,格式:XX+两位年份+8位号码 | 无需打印 |
| 增值税普通发票(纸质) | 12位 | 不可抵扣 |
| 增值税普通发票(电子) | 20位 | 不可抵扣 |
1.2 其他发票类型
| 类型 | 票面特征 | 用途 |
|---|---|---|
| 机动车销售统一发票 | 机动车二维码 | 车辆采购入账 |
| 通行费发票(ETC/高速) | 抬头+金额+日期 | 费用报销 |
| 火车票 | 姓名+身份证+金额 | 出差费用 |
| 机票行程单 | 电子客票号+乘客 | 差旅费用 |
| 出租车发票 | 金额+时间+车牌 | 市内交通 |
| 通用机打发票 | 各省市格式不一 | 餐饮/住宿等 |
二、OCR 提取字段规范
2.1 核心字段(必须提取)
发票代码 / Invoice Code
发票号码 / Invoice Number
开票日期 / Invoice Date
购买方名称 / Buyer Name
购买方纳税人识别号 / Buyer Tax ID
销售方名称 / Seller Name
销售方纳税人识别号 / Seller Tax ID
2.2 金额字段
不含税金额 / Amount Excluding Tax
税率 / Tax Rate
税额 / Tax Amount
价税合计 / Total Amount (含税)
2.3 商品明细字段
商品名称 / Product Name
商品规格型号 / Specification
计量单位 / Unit
数量 / Quantity
单价 / Unit Price
金额 / Line Amount
税率 / Tax Rate
税额 / Line Tax Amount
2.4 特殊字段
校验码(后6位)/ Check Code (Last 6 digits)
收款人 / Payee
复核人 / Reviewer
开票人 / Issuer
备注 / Remarks
2.5 OCR 识别公式
字段完整性校验公式:
完整性得分 = (已识别字段数 / 总字段数) × 100%
阈值:≥85% 为合格,<85% 需人工复核
金额勾稽公式:
价税合计 = 不含税金额 + 税额
税额 = 不含税金额 × 税率
验证结果 = (价税合计 == 不含税金额 + 税额) ? 通过 : 异常
三、发票验真流程
3.1 查验平台
- 国家税务总局全国增值税发票查验平台:https://inv-veri.chinatax.gov.cn
- API 接口:支持批量查验,每张发票每天最多查验 5 次
3.2 验真规则
1. 发票状态检查:
- 正常 / 作废 / 红冲 / 失控 / 异常
2. 票面信息一致性:
发票号码 + 发票代码 + 开票日期 + 金额(开票日期起5日内有效)
3. 校验码规则(增值税普通发票):
纸票:验证码后6位
电子票:完整20位验证码
3.3 异常状态处理
| 状态 | 处理方式 |
|---|---|
| 作废发票 | 标记作废,不予报销入账 |
| 红冲发票 | 通知原报销人冲减,原件存档 |
| 失控发票 | 立即停止报销,通知税务部门 |
| 查无此票 | 要求重新取得有效发票 |
| 不一致 | 退回报销人核对修正 |
3.4 验真自动化流程图
┌─────────────┐
│ 拍照/截图 │
└──────┬──────┘
▼
┌─────────────┐
│ OCR 识别 │──── 字段提取
└──────┬──────┘
▼
┌─────────────┐
│ 字段校验 │──── 完整性 ≥85%?
└──────┬──────┘
▼ (通过)
┌─────────────┐
│ 金额勾稽 │──── 价税合计=不含税+税额?
└──────┬──────┘
▼ (通过)
┌─────────────┐
│ 查验平台 │──── 查询发票状态
│ API 调用 │
└──────┬──────┘
▼
┌─────────────┐
│ 状态判定 │
│ 正常/异常 │
└─────────────┘
四、自动入账流程
4.1 入账方向判定
判断逻辑:
IF 购买方 == 本公司:
入账类型 = 进项发票(采购/资产/费用)
入账方向 = 借:相关成本/费用科目
贷:应付账款/银行存款
ELSE IF 销售方 == 本公司:
入账类型 = 销项发票(收入确认)
入账方向 = 借:应收账款/银行存款
贷:主营业务收入
应交税费-应交增值税(销项税额)
4.2 进项发票分类入账
| 发票类型 | 用途 | 借方科目 | 贷方科目 |
|---|---|---|---|
| 采购原材料 | 生产领用 | 原材料 / 在途物资 | 应付账款 |
| 采购商品 | 对外销售 | 库存商品 | 应付账款 |
| 购置固定资产 | 自用 | 固定资产 / 在建工程 | 银行存款 |
| 办公费用 | 行政管理 | 管理费用-办公费 | 银行存款 |
| 广告宣传 | 市场营销 | 销售费用-广告费 | 银行存款 |
| 咨询顾问 | 专业服务 | 管理费用-咨询费 | 银行存款 |
| 差旅交通 | 员工报销 | 差旅费 / 交通费 | 其他应收款 |
4.3 销项发票入账
销售商品/服务:
借:应收账款 / 银行存款
应交税费-应交增值税(销项税额)
贷:主营业务收入 / 其他业务收入
特殊处理:
- 视同销售:需计算销项税额
- 不开票收入:申报未开票收入
4.4 自动入账流程
┌─────────────────┐
│ 发票验真通过 │
└────────┬────────┘
▼
┌─────────────────┐
│ 识别发票类型 │
│ 进项/销项判定 │
└────────┬────────┘
▼
┌─────────────────┐
│ 匹配业务单据 │
│ 采购单/销售合同 │
└────────┬────────┘
▼
┌────┴────┐
│ 匹配成功? │
└────┬────┘
是/ \否
▼ ▼
┌───────┐ ┌───────────┐
│三单匹配│ │ 标记待确认 │
│自动入账│ │ 推送人工 │
└───┬───┘ └───────────┘
▼
┌─────────────────┐
│ 生成凭证号 │
│ 更新台账 │
└─────────────────┘
五、发票台账管理
5.1 进项发票台账结构
| 字段 | 说明 |
|---|---|
| 入账日期 | 系统自动记录 |
| 发票代码 | 10/12/20位 |
| 发票号码 | 8位 |
| 发票类型 | 专票/普票/全电 |
| 开票日期 | 票面日期 |
| 销售方名称 | 销售方公司名 |
| 销售方税号 | 统一社会信用代码 |
| 不含税金额 | 金额字段 |
| 税额 | 税额字段 |
| 价税合计 | 价税合计字段 |
| 认证状态 | 已认证/未认证/逾期 |
| 认证日期 | 认证当月 |
| 抵扣用途 | 生产用/集体福利/简易计税 |
| 对应采购单号 | 关联业务单据 |
| 入账凭证号 | 会计凭证号 |
| 备注 | 异常说明 |
5.2 销项发票台账结构
| 字段 | 说明 |
|---|---|
| 开具日期 | 开票日期 |
| 发票代码/号码 | 票面信息 |
| 购买方名称 | 客户名称 |
| 购买方税号 | 客户税号 |
| 商品服务名称 | 编码+名称 |
| 不含税金额 | 销售额 |
| 税率 | 适用税率 |
| 税额 | 销项税额 |
| 价税合计 | 总金额 |
| 发票状态 | 正常/作废/红冲 |
| 对应销售单号 | 关联订单 |
| 凭证号 | 记账凭证 |
| 申报状态 | 已申报/未申报 |
| 申报属期 | 增值税申报表所属期 |
5.3 认证期限提醒规则
政策依据:《增值税暂行条例》及实施细则
- 增值税专用发票:开票之日起360天内认证(2017年7月前为180天)
- 全电发票:用途确认无期限限制,但建议及时处理
提醒机制:
认证到期前 30/15/7/3/1 天提醒
逾期未认证标记为"逾期待处理"
5.4 作废处理流程
进项发票作废:
1. 购方尚未认证抵扣 → 销售方自行作废
2. 购方已认证未抵扣 → 购方需开红字信息表
3. 已抵扣入账 → 需做进项税额转出
操作步骤:
原发票标记"已作废"
关联凭证标记"已冲销"
创建新合规发票(若需)
台账备注变更原因
六、与进销存系统联动
6.1 Excel 进销存结构
Sheet1: 进项发票
| 入账日期 | 发票代码 | 发票号码 | 商品名称 | 规格型号 | 数量 | 单价 | 金额 | 税额 | 价税合计 | 供应商 | 采购单号 | 仓库 | 状态 |
Sheet2: 销项发票
| 开具日期 | 发票代码 | 发票号码 | 商品名称 | 数量 | 单价 | 金额 | 税率 | 税额 | 价税合计 | 客户 | 销售单号 | 仓库 | 状态 |
Sheet3: 库存台账
| 日期 | 单据类型 | 单据号 | 商品编码 | 商品名称 | 规格 | 单位 | 期初库存 | 入库数量 | 出库数量 | 期末库存 | 仓库 |
Sheet4: 三单匹配查询
| 采购单号 | 采购合同号 | 供应商 | 发票号码 | 发票金额 | 入库单号 | 入库金额 | 匹配状态 | 差异金额 |
6.2 三单匹配规则
匹配公式:
发票金额 = 入库单金额 = 采购订单金额 → 完全匹配 ✓
差异容差:±0.01元(四舍五入误差)
存在差异 → 标记"差异待处理"
匹配状态枚举:
0: 未匹配
1: 部分匹配
2: 完全匹配
3: 差异处理中
4: 匹配异常
6.3 联动写入示例
# 写入进项发票到 Excel
def write_purchase_invoice(invoice_data: dict, excel_path: str):
"""
invoice_data: OCR识别的发票数据字典
excel_path: 进销存Excel文件路径
"""
from openpyxl import load_workbook
wb = load_workbook(excel_path)
ws = wb['进项发票']
# 找到最后一行
last_row = ws.max_row + 1
# 写入数据
ws[f'A{last_row}'] = invoice_data.get('entry_date', date.today())
ws[f'B{last_row}'] = invoice_data.get('invoice_code')
ws[f'C{last_row}'] = invoice_data.get('invoice_number')
ws[f'D{last_row}'] = invoice_data.get('product_name')
ws[f'E{last_row}'] = invoice_data.get('spec')
ws[f'F{last_row}'] = invoice_data.get('quantity')
ws[f'G{last_row}'] = invoice_data.get('unit_price')
ws[f'H{last_row}'] = invoice_data.get('amount')
ws[f'I{last_row}'] = invoice_data.get('tax_amount')
ws[f'J{last_row}'] = invoice_data.get('total_amount')
ws[f'K{last_row}'] = invoice_data.get('seller_name')
ws[f'L{last_row}'] = invoice_data.get('purchase_order_no')
ws[f'M{last_row}'] = '已入账'
wb.save(excel_path)
return last_row
七、使用示例
7.1 拍照识别发票
用户:请帮我识别这张发票并入账
[上传发票图片]
系统处理:
1. OCR识别完成
- 发票类型:增值税专用发票(电子)
- 发票代码:144031900110
- 发票号码:12345678
- 开票日期:2024-01-15
- 销售方:深圳市XX科技有限公司
- 购买方:贵公司
- 不含税金额:¥10,000.00
- 税率:13%
- 税额:¥1,300.00
- 价税合计:¥11,300.00
2. 发票验真:通过 ✓
状态:正常发票
3. 入账建议:
借:管理费用-办公费 ¥10,000.00
应交税费-应交增值税(进项税额) ¥1,300.00
贷:应付账款 ¥11,300.00
是否确认入账?
7.2 批量验真查询
用户:帮我查询这批发票的验真状态
[提交发票列表]
系统返回:
| 发票号码 | 开票日期 | 金额 | 验真状态 | 操作建议 |
|---------|---------|------|---------|---------|
| 12345678 | 2024-01-10 | ¥5,000 | ✓ 正常 | 可入账 |
| 87654321 | 2024-01-11 | ¥8,000 | ✗ 作废 | 勿入账 |
| 11223344 | 2024-01-12 | ¥3,500 | ✓ 正常 | 可入账 |
| 55667788 | 2024-01-13 | ¥6,000 | ? 查无此票 | 重新获取 |
八、注意事项
8.1 政策合规
- 本技能包仅辅助发票管理,最终入账以财务人员确认为准
- 发票验真结果仅供参考,以主管税务机关认定为准
- 增值税申报以纳税申报表为准
8.2 数据安全
- 发票数据涉及商业机密,请妥善保管
- 建议设置数据访问权限
- 定期备份发票台账
8.3 常见问题
| 问题 | 解决方案 |
|---|---|
| OCR识别不完整 | 重新拍照,确保光线充足、图片清晰 |
| 发票验真失败 | 检查发票代码号码是否正确,确认开票日期5日内 |
| 金额不一致 | 核对票面金额与系统金额,以票面为准 |
| 供应商信息缺失 | 手动补录或联系开票方核实 |
本技能包由 @AOLIKEJI 创建,版本 1.0.0
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Site audit, content writing, and competitor analysis for organic search rankings.
More from aolikeji
Browse all skillsOpenClaw 财务能力终极扩展包 - 覆盖财报分析、杜邦拆解、风险识别、财务报告生成、现金流分析、税务管理等企业级财务工作流。适用于投资分析、尽职调查、财务尽调、预算管理等场景。
万能财务会计技能包 — 基于进销存收支记账一体化系统设计,涵盖账务处理、分录生成、凭证审核、发票管理、银行对账、税务计算、财务报表编制、Excel自动化操作。适用于上市公司或中小企业的日常财务核算、报表分析、税务申报、往来管理、库存成本核算。
企业成本核算技能包 — 面向上市公司成本会计,覆盖材料成本、人工成本、制造费用、 在产品/产成品成本结转、标准成本法、作业成本法、成本差异分析、降本增效等全流程。 支持品种法/分批法/分步法/作业成本法等多种成本核算方法,提供公式、示例和Excel自动化模板。
上市公司税务计算技能包 — 覆盖增值税(一般纳税人/小规模)、企业所得税(季度预缴/年度汇算)、个人所得税(累计预扣法/综合所得)、附加税费、税务申报逻辑与税负预警。适用于企业税务核算、申报辅助、财税合规检查。
上市公司财务文件归档与整理技能包,自动整理凭证、合同、附件,按标准目录结构归档,支持PDF处理、批量重命名、MD5查重、会计档案保管期限管理及审计支持。
上市公司审计追踪与风险检测技能包,自动化分析往来账龄、标记异常交易、检测重复付款、监控大额异常预警。适用于财务审计、内控合规、风险预警、税务风险检测等场景。当用户提到审计追踪、账龄分析、异常交易检测、重复付款、大额预警、风险检测、内控审计、应收账款、应付账款、银行对账、费用审计、税务风险等关键词时触发。