← 返回
未分类

会计档案归档及财报生成

通用会计凭证归档技能。适用于按凭证编号切割总账PDF、重命名凭证PDF、自动切割银行回单匹配、发票/报销附件按拼音首字母命名归档的完整会计档案整理流程。支持会计分录生成(业务决策树+科目模板)。归档完成后自动执行交叉验证(凭证解析与分录规则一致性校验)。可从已归档凭证生成财务报表(利润表+现金流量表+科目明细,HTML格式)。按月批次处理。触发词:"会计归档""凭证归档""账本整理"。需要用户首次使用时配置公司基本信息(公司名称、科目表、银行账户、供应商/客户列表)。
通用会计凭证归档技能。适用于按凭证编号切割总账PDF、重命名凭证PDF、自动切割银行回单匹配、发票/报销附件按拼音首字母命名归档的完整会计档案整理流程。支持会计分录生成(业务决策树+科目模板)。归档完成后自动执行交叉验证(凭证解析与分录规则一致性校验)。可从已归档凭证生成财务报表(利润表+现金流量表+科目明细,HTML格式)。按月批次处理。触发词:"会计归档""凭证归档""账本整理"。需要用户首次使用时配置公司基本信息(公司名称、科目表、银行账户、供应商/客户列表)。
Maza
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 23
下载
💾 0
安装
1
版本
#latest

概述

通用会计归档 v1.0

> 通用会计凭证归档技能,适用于任意中小企业的月度会计凭证归档、附件匹配、分录生成与报表输出。

首次使用:公司配置

首次使用本技能处理某公司账务时,必须先引导用户完成公司配置,保存到 references/company-config.md。配置项:

| 配置项 | 说明 | 示例 |

|--------|------|------|

| 公司全称 | 用于发票购方/销方判断 | XX科技有限公司 |

| 银行存款科目 | 银行账户对应的科目编码 | 如100201=工商银行人民币 |

| 主要供应商列表 | 名称+预付科目+应付科目 | 如供应商A 112301/220201 |

| 主要客户列表 | 名称+合同负债编码 | 如客户甲 220401 |

| 会计制度 | 小企业/企业会计准则 | 企业会计准则 |

| 税率 | 增值税税率 | 13% |

| 特殊政策 | 免退税/一般纳税人等 | 外贸免退税 |

| 发票购方名称 | 销方名称用于判断fp/ckfp | 与公司全称一致 |

配置模板详见 references/company-config-template.md

工作流程

第1步:探索源目录

列出所有文件,按类型分类:

| 类型 | 文件特征 | 处理方式 |

|------|----------|----------|

| 凭证PDF | 含分录表格(摘要/科目/借方/贷方) | 提取编号→重命名 |

| 总账PDF | 多笔凭证合并的连续账簿 | 按凭证编号切割 |

| 银行回单PDF | 含金额/收款人/付款人/用途 | 按金额匹配凭证→切割 |

| 发票PDF | 文件名含dzfp_或发票相关 | 提取金额+购销方→匹配 |

| 报关单PDF | 含RT编号或合同号 | 按编号匹配凭证 |

| 报销附件 | 文件名含"报销"或金额 | 按金额匹配 |

| 合同/其他 | 无明确特征 | 按金额或摘要匹配 |

| JPG/PNG | 图片附件 | view_image识别后归类 |

第2步:总账切割

从总账PDF中按凭证编号切割,每笔凭证独立输出。切割逻辑详见 references/ledger-splitting.md

第3步:凭证重命名

从凭证PDF提取编号和日期,统一重命名为 YYMMNNN.pdf

  1. 提取凭证编号(格式如记-NNN-X/Y
  2. 提取凭证日期(YYYY-MM-DD
  3. 组合为 YYMMNNN.pdf → 输出到目标目录

第4步:银行回单切割匹配

从凭证中提取银行存款科目金额,与回单逐页金额匹配,切割为 YYMMNNNyhls.pdf

详见 references/bank-statement-splitting.md

匹配规则:

  • 单笔相等:回单金额 = 凭证某笔金额
  • 多笔+手续费:货款 + 手续费 = 凭证金额
  • 多笔合计:凭证多笔 = 多笔回单之和
  • 借贷双向:凭证同有借贷(退回+付)

第5步:发票匹配

提取发票金额+购方/销方,判断发票类型后匹配凭证。

详见 references/attachment-matching.md

关键逻辑:

  • 购方 = 公司名 → fp(收到发票/进项)
  • 销方 = 公司名 → ckfp(开具发票/销项)
  • 批量提取 → 统一匹配 → 金额/名称/日期三重验证

第6步:报关单匹配

提取报关单RT编号(文本或view_image),按RT编号匹配凭证 → YYMMNNNgd.pdf

第7步:报销/其他附件

按金额匹配凭证贷方。多笔报销可合计匹配。

第8步:输出汇总

生成汇总表 {N}账本汇总表.xlsx

| 列 | 内容 |

|----|------|

| 凭证编号 | YYMMNNN |

| 文件名 | 完整文件名 |

| 类型 | 凭证/回单/发票/报关单等 |

| 说明 | 业务摘要 |

同时输出文件清单(编号排序 + 总数统计)。

第9步:交叉验证

归档完成后,自动从已归档凭证PDF提取分录,与分录模板规则做一致性校验。

详见 references/cross-validation.md,脚本 scripts/cross-validation.py

第10步:财务报表生成

从已归档凭证PDF提取分录,排除结转凭证,汇总科目发生额,生成利润表+现金流量表+科目明细。

详见 references/financial-report-generation.md,脚本 scripts/financial-report-generation.py

命名规则

| 后缀 | 含义 | 备注 |

|------|------|------|

| (无) | 凭证 | YYMMNNN.pdf |

| yhls | 银行回单 | yhls2/yhls3 = 附加凭证 |

| fp | 收到发票 | 优先fp{金额};金额不可读时用内容缩写 |

| ckfp | 开具发票 | ckfp{金额} |

| fpch | 发票拆分 | 多张发票对应同一凭证时 |

| gd | 报关单 | gd1/gd2 |

| ht | 合同 | — |

关键规则

金额匹配

  • 容差:0.02元(四舍五入差异)
  • 手续费(通常4.5元)紧跟对应转账页合并
  • 汇率尾差异常属正常(外币业务)
  • 金额优先于内容缩写命名附件

附件判断

  • 发票号码 + 日期相同 → 重复文件,删除副本
  • 零散回单与主回单金额一致 → 跳过(已包含)
  • 不认识的文件 → 标"待确认",不得删除

异常处理核心原则

> 宁可多提示待确认,不可错误匹配。

以下情况必须标黄提示"待人工确认":

  1. 多个凭证金额相同,发票无法确定归属
  2. 金额接近但不等(差值在 0.03~1 元之间)
  3. 多张发票总额接近但无法精确匹配
  4. 金额方向不一致(购方发票但凭证只有借方)

凭证PDF分录提取

使用 pdfplumber 表格解析,按列位置提取:摘要(col0) / 科目(col1) / 借方(col2) / 贷方(col3)。

import pdfplumber, re

def extract_entries(voucher_path):
    """从凭证PDF提取分录"""
    entries = []
    with pdfplumber.open(voucher_path) as pdf:
        for page in pdf.pages:
            for table in page.extract_tables():
                # 找表头确定列位置
                for row in table:
                    cells = [str(c).replace('\n','').strip() if c else '' for c in row]
                    if '摘要' in cells[0]:
                        # 按表头索引提取后续数据行
                        ...
                # 提取分录行(科目编码 + 借方/贷方金额)
    return entries

科目编码提取:re.search(r'(\d{4,8})', account_full) 从科目全名中搜索。

会计分录生成

基于业务场景的决策树,详见 references/journal-entry-templates.md

决策逻辑:

  1. 从凭证摘要+分录特征判断业务类型
  2. 根据业务类型匹配分录模板
  3. 使用公司配置的科目编码替换模板占位符
  4. 金额从凭证分录中提取,自动平衡借贷

参考文件

| 文件 | 用途 | 加载时机 |

|------|------|----------|

| references/company-config-template.md | 公司配置模板 | 首次使用 |

| references/bank-statement-splitting.md | 回单切割步骤 | 第4步 |

| references/attachment-matching.md | 发票匹配规则 | 第5步 |

| references/cross-validation.md | 交叉验证说明 | 第9步 |

| references/financial-report-generation.md | 报表生成说明 | 第10步 |

| references/journal-entry-templates.md | 会计分录模板库 | 写分录时 |

| references/ledger-splitting.md | 总账切割方法 | 第2步 |

| scripts/cross-validation.py | 交叉验证脚本 | 第9步 |

| scripts/financial-report-generation.py | 财务报表生成脚本 | 第10步 |

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-06-05 12:38 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

professional

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 277 📥 57,417
professional

All-Market Financial Data Hub

financial-ai-analyst
基于东方财富数据库,支持自然语言查询金融数据,覆盖A股、港股、美股、基金、债券等资产,提供实时行情、公司信息、估值、财务报表等,适用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,满足机构与个人需求。返回结果为
★ 122 📥 41,264
professional

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 185 📥 61,862