Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Documents
财务归档
Try it上市公司财务文件归档与整理技能包,自动整理凭证、合同、附件,按标准目录结构归档,支持PDF处理、批量重命名、MD5查重、会计档案保管期限管理及审计支持。
What it does
本技能包面向上市公司财务部门,提供完整的文件归档与整理解决方案。涵盖凭证、账簿、报表、合同、发票、银行对账单、税务资料、审计底稿等各类财务文件的规范化管理,确保符合《会计档案管理办法》要求,支持电子化归档与长期保管。
The skill document
财务归档技能包 (Finance Archive)
概述
本技能包面向上市公司财务部门,提供完整的文件归档与整理解决方案。涵盖凭证、账簿、报表、合同、发票、银行对账单、税务资料、审计底稿等各类财务文件的规范化管理,确保符合《会计档案管理办法》要求,支持电子化归档与长期保管。
一、归档目录标准
1.1 目录树结构模板
财务档案/
├── 01_凭证档案/
│ ├── 20XX年/
│ │ ├── 01月/
│ │ ├── 02月/
│ │ └── .../
│ └── 扫描件/
│ ├── 凭证_{凭证号}_{摘要}_{日期}.pdf
│ └── 附件_{原始文件名}.pdf
├── 02_账簿档案/
│ ├── 总账/
│ ├── 明细账/
│ ├── 日记账/
│ └── 辅助账/
├── 03_报表档案/
│ ├── 年度报表/
│ │ ├── 资产负债表
│ │ ├── 利润表
│ │ ├── 现金流量表
│ │ └── 所有者权益变动表
│ ├── 季度报表/
│ └── 月度报表/
├── 04_发票档案/
│ ├── 增值税专用发票/
│ ├── 增值税普通发票/
│ └── 其他票据/
├── 05_合同档案/
│ ├── 采购合同/
│ ├── 销售合同/
│ ├── 服务合同/
│ ├── 租赁合同/
│ └── 劳动合同/
├── 06_银行档案/
│ ├── 银行回单/
│ ├── 银行对账单/
│ └── 银企对账调节表/
├── 07_税务档案/
│ ├── 纳税申报表/
│ ├── 完税凭证/
│ ├── 发票认证资料/
│ └── 税收优惠备案/
├── 08_审计档案/
│ ├── 内部审计/
│ ├── 外部审计/
│ ├── 审计报告/
│ └── 审计底稿/
└── 09_其他档案/
├── 董事会文件/
├── 股东会文件/
└── 其他重要文件/
1.2 命名规范
| 类别 | 命名格式 | 示例 |
|---|---|---|
| 凭证 | 凭证_{凭证号}_{摘要}_{YYYYMMDD}.pdf | 凭证_记001_支付货款_20240115.pdf |
| 合同 | 合同_{合同编号}_{对方单位}_{合同类型}_{起止日期}.pdf | 合同_HT2024001_供应商A_采购_20240101-20241231.pdf |
| 发票 | 发票_{发票号码}_{日期}_{金额}.pdf | 发票_12345678_20240115_10000.00.pdf |
| 银行回单 | 回单_{银行_{交易日期}_{流水号}.pdf | 回单_工行_20240115_TX20240115001.pdf |
| 报表 | 报表_{报表类型}_{期间}_{编制日期}.pdf | 报表_资产负债表_2024Q1_20240415.pdf |
二、凭证归档规则
2.1 归档流程
- 凭证审核 → 2. 附件完整性检查 → 3. 扫描电子化 → 4. 命名归档 → 5. 装订入库
2.2 命名规范
凭证号_摘要_日期_附件数量
- 凭证号:账务系统凭证编号,4位数字,如
记0001 - 摘要:业务内容简要描述,不超过20个字符
- 日期:YYYYMMDD格式
- 附件数量:N个附件
示例:记0001_支付办公室租金_20240115_3.pdf
2.3 附件整理规则
| 附件类型 | 整理要求 |
|---|---|
| 发票 | 按凭证顺序排列,发票联在前,记账联在后 |
| 合同 | 复印件归档,原件由法务部保管 |
| 审批单 | 领导签批页在前,附件清单在后 |
| 其他单据 | 按单据日期顺序排列 |
2.4 装订顺序
- 凭证封面
- 凭证汇总表
- 记账凭证(按凭证号顺序)
- 原始凭证(发票→合同→审批单→其他)
- 凭证封底
装订要求:
- 每本凭证不超过200张原始凭证
- 使用防潮、防虫档案盒
- 凭证盒脊标注:年度、月份、起止凭证号
三、合同归档规则
3.1 合同台账字段
| 字段 | 说明 |
|---|---|
| 合同编号 | 唯一标识 |
| 合同名称 | 全称 |
| 合同类型 | 采购/销售/服务/租赁/劳动等 |
| 甲方/乙方 | 合同双方 |
| 签约日期 | YYYY-MM-DD |
| 生效日期 | YYYY-MM-DD |
| 到期日期 | YYYY-MM-DD |
| 合同金额 | 精确到分 |
| 付款方式 | 分期/一次性等 |
| 经办部门 | 签订部门 |
| 经办人 | 责任人 |
| 保管期限 | 合同终止后X年 |
| 存放位置 | 档案盒编号 |
| 电子扫描件 | PDF文件路径 |
| 备注 | 特殊说明 |
3.2 到期提醒机制
| 提醒节点 | 说明 |
|---|---|
| 到期前180天 | 初步审查是否续约 |
| 到期前90天 | 启动续约谈判 |
| 到期前30天 | 最终决策 |
| 到期当日 | 合同归档确认 |
3.3 合同保管期限
| 合同类型 | 保管期限 |
|---|---|
| 重大合同(亿元以上) | 永久 |
| 一般采购/销售合同 | 合同终止后15年 |
| 服务类合同 | 合同终止后10年 |
| 劳动合同 | 解除/终止后2年 |
| 简易合同(口头) | 2年 |
四、电子档案管理
4.1 PDF处理
合并PDF
from PyPDF2 import PdfMerger
import os
def merge_pdfs(pdf_list, output_path):
"""合并多个PDF文件"""
merger = PdfMerger()
for pdf in pdf_list:
if os.path.exists(pdf):
merger.append(pdf)
with open(output_path, 'wb') as f:
merger.write(f)
return output_path
拆分PDF
from PyPDF2 import PdfReader, PdfWriter
def split_pdf(input_path, output_dir, pages_per_file=10):
"""按页数拆分PDF"""
reader = PdfReader(input_path)
total_pages = len(reader.pages)
for i in range(0, total_pages, pages_per_file):
writer = PdfWriter()
for j in range(i, min(i + pages_per_file, total_pages)):
writer.add_page(reader.pages[j])
output_path = os.path.join(output_dir, f"part_{i//pages_per_file + 1}.pdf")
with open(output_path, 'wb') as f:
writer.write(f)
添加水印
from PyPDF2 import PdfReader, PdfWriter
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
import io
def add_watermark(input_path, output_path, watermark_text):
"""为PDF添加文字水印"""
reader = PdfReader(input_path)
writer = PdfWriter()
for page in reader.pages:
packet = io.BytesIO()
c = canvas.Canvas(packet, pagesize=letter)
c.saveState()
c.setFont('Helvetica', 40)
c.setFillColorRGB(0.5, 0.5, 0.5, 0.3)
width = float(page.mediabox.width)
height = float(page.mediabox.height)
c.translate(width/2, height/2)
c.rotate(45)
c.drawCentredString(0, 0, watermark_text)
c.restoreState()
c.save()
packet.seek(0)
watermark_pdf = PdfReader(packet)
page.merge_page(watermark_pdf.pages[0])
writer.add_page(page)
with open(output_path, 'wb') as f:
writer.write(f)
4.2 批量重命名
import os
import re
def batch_rename(directory, pattern, replacement):
"""批量重命名文件"""
for filename in os.listdir(directory):
new_filename = re.sub(pattern, replacement, filename)
if new_filename != filename:
old_path = os.path.join(directory, filename)
new_path = os.path.join(directory, new_filename)
os.rename(old_path, new_path)
print(f"Renamed: {filename} -> {new_filename}")
常用重命名规则:
- 日期格式统一:
YYYY-MM-DD→YYYYMMDD - 去除特殊字符:空格→下划线
- 添加前缀:按类型添加
INV_、CON_、REC_
4.3 MD5查重
import hashlib
import os
from collections import defaultdict
def get_file_md5(file_path):
"""计算文件MD5"""
md5_hash = hashlib.md5()
with open(file_path, 'rb') as f:
for chunk in iter(lambda: f.read(4096), b""):
md5_hash.update(chunk)
return md5_hash.hexdigest()
def find_duplicates(directory):
"""查找重复文件"""
hash_dict = defaultdict(list)
for root, dirs, files in os.walk(directory):
for filename in files:
file_path = os.path.join(root, filename)
if os.path.isfile(file_path):
file_hash = get_file_md5(file_path)
hash_dict[file_hash].append(file_path)
duplicates = {k: v for k, v in hash_dict.items() if len(v) > 1}
return duplicates
4.4 压缩归档
import zipfile
import os
from datetime import datetime
def archive_files(source_dir, archive_name=None, format='zip'):
"""压缩归档文件"""
if archive_name is None:
archive_name = f"archive_{datetime.now().strftime('%Y%m%d_%H%M%S')}"
archive_path = os.path.join(os.path.dirname(source_dir), f"{archive_name}.{format}")
with zipfile.ZipFile(archive_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for root, dirs, files in os.walk(source_dir):
for file in files:
file_path = os.path.join(root, file)
arcname = os.path.relpath(file_path, source_dir)
zipf.write(file_path, arcname)
return archive_path
五、会计档案保管期限
根据《会计档案管理办法》(财政部、国家档案局令第79号)规定:
5.1 企业会计档案保管期限表
| 档案类别 | 具体内容 | 保管期限 |
|---|---|---|
| 凭证类 | 原始凭证、记账凭证 | 30年 |
| 账簿类 | 总账、明细账、日记账、其他辅助账簿 | 30年 |
| 财务报告类 | 月度、季度财务报告 | 10年 |
| 财务报告类 | 年度财务报告(会计年报) | 永久 |
| 其他类 | 银行存款余额调节表、银行对账单 | 10年 |
| 其他类 | 纳税申报表 | 10年 |
| 其他类 | 会计档案移交清册 | 30年 |
| 其他类 | 会计档案保管清册 | 永久 |
| 其他类 | 会计档案销毁清册 | 永久 |
| 其他类 | 销售合同、采购合同 | 15年 |
| 其他类 | 资本、基金凭证 | 永久 |
| 其他类 | 涉及未结清的债权债务原始凭证 | 40年 |
5.2 保管期限计算起点
- 会计凭证:从会计年度终了后第一天算起
- 会计账簿:从会计年度终了后第一天算起
- 财务报告:从编制完成之日算起
- 其他会计档案:从会计年度终了后第一天算起
5.3 销毁流程
1. 编制销毁清册 → 2. 单位负责人审批 → 3. 监销人签字确认 → 4. 销毁记录归档
注意:保管期满但未结清的债权债务原始凭证、涉及其他未了事项的原始凭证不得销毁。
六、审计支持
6.1 凭证检索
def search_vouchers(voucher_dir, keywords, date_range=None):
"""搜索凭证"""
results = []
for filename in os.listdir(voucher_dir):
if filename.endswith(('.pdf', '.xlsx')):
filepath = os.path.join(voucher_dir, filename)
# 关键词匹配
for keyword in keywords:
if keyword.lower() in filename.lower():
results.append(filepath)
break
return results
6.2 底稿整理
| 审计阶段 | 底稿内容 | 归档要求 |
|---|---|---|
| 计划阶段 | 总体审计策略、具体审计计划 | 永久保管 |
| 实施阶段 | 风险评估底稿、控制测试底稿、实质性程序底稿 | 永久保管 |
| 完成阶段 | 审计报告、管理建议书、声明书 | 永久保管 |
| 业务约定书 | 审计业务约定书、变更函 | 永久保管 |
6.3 函证归档
| 函证类型 | 归档内容 | 保管期限 |
|---|---|---|
| 银行函证 | 发函原件、回函原件、银行流水 | 永久 |
| 往来函证 | 发函原件、回函原件、对账差异说明 | 永久 |
| 存货函证 | 发函原件、回函原件、盘点差异 | 永久 |
函证编号规则:YF_{年份}_{类型}_{序号}
示例:YF_2024_YH_001(2024年银行函证第1号)
七、使用流程
7.1 新凭证归档流程
1. 接收凭证 → 2. 审核完整性 → 3. 扫描电子化 → 4. 命名归档 → 5. 更新台账
7.2 合同归档流程
1. 合同签订 → 2. 移交档案室 → 3. 审核合同 → 4. 录入台账 → 5. 扫描归档 → 6. 设置到期提醒
7.3 年度归档流程
1. 年度结束 → 2. 凭证装订 → 3. 报表整理 → 4. 账簿归档 → 5. 编制移交清册 → 6. 入库保管
八、常见问题
Q1: 电子档案与纸质档案冲突时以哪个为准?
A: 原则上以纸质档案为准,电子档案作为辅助参考。重要文件应同时保存纸质和电子版本。
Q2: 保管期满的档案如何处理?
A: 编制销毁清册,经单位负责人审批后,由档案机构和会计机构共同派员监销。
Q3: 员工离职时如何处理其经手的财务档案?
A: 必须完成档案交接手续,移交清单需由接收人、监交人签字确认。
Q4: 如何保证电子档案的法律效力?
A: 建议使用电子签章、时间戳、数字签名等技术,并保存完整的光盘备份。
版本历史
| 版本 | 日期 | 更新内容 |
|---|---|---|
| 1.0.0 | 2024-01-01 | 初始版本发布 |
作者: @AOLIKEJI
版权: © 2024 AOLIKEJI. All rights reserved.
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
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自动化模板。
上市公司税务计算技能包 — 覆盖增值税(一般纳税人/小规模)、企业所得税(季度预缴/年度汇算)、个人所得税(累计预扣法/综合所得)、附加税费、税务申报逻辑与税负预警。适用于企业税务核算、申报辅助、财税合规检查。
上市公司审计追踪与风险检测技能包,自动化分析往来账龄、标记异常交易、检测重复付款、监控大额异常预警。适用于财务审计、内控合规、风险预警、税务风险检测等场景。当用户提到审计追踪、账龄分析、异常交易检测、重复付款、大额预警、风险检测、内控审计、应收账款、应付账款、银行对账、费用审计、税务风险等关键词时触发。
面向上市公司的发票识别与自动入账技能包,通过 OCR 拍照/截图提取发票数据, 自动分类并匹配入账。支持增值税专用发票、普通发票、全电发票、机动车发票、 通行费、火车票机票等全类型发票,实现发票验真、自动分类、三单匹配和台账管理。