上市公司财务文件归档与整理技能包,自动整理凭证、合同、附件,按标准目录结构归档,支持PDF处理、批量重命名、MD5查重、会计档案保管期限管理及审计支持。
---
name: finance-archive
description: 上市公司财务文件归档与整理技能包,自动整理凭证、合同、附件,按标准目录结构归档,支持PDF处理、批量重命名、MD5查重、会计档案保管期限管理及审计支持。
metadata:
openclaw:
author: "@AOLIKEJI"
version: 1.0.0
category: finance
tags:
- 财务归档
- 凭证归档
- 档案整理
- archive
- 合同归档
- 附件整理
- 文件归档
- 会计档案
- 审计支持
emoji: "📁"
homepage: "https://www.clawhub.com/skills/finance-archive"
triggers:
- 财务归档
- 凭证归档
- 档案整理
- archive
- 合同归档
- 附件整理
- 文件归档
---
# 财务归档技能包 (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 归档流程
1. **凭证审核** → 2. **附件完整性检查** → 3. **扫描电子化** → 4. **命名归档** → 5. **装订入库**
### 2.2 命名规范
```
凭证号_摘要_日期_附件数量
```
- **凭证号**:账务系统凭证编号,4位数字,如 `记0001`
- **摘要**:业务内容简要描述,不超过20个字符
- **日期**:YYYYMMDD格式
- **附件数量**:N个附件
**示例**:`记0001_支付办公室租金_20240115_3.pdf`
### 2.3 附件整理规则
| 附件类型 | 整理要求 |
|----------|----------|
| 发票 | 按凭证顺序排列,发票联在前,记账联在后 |
| 合同 | 复印件归档,原件由法务部保管 |
| 审批单 | 领导签批页在前,附件清单在后 |
| 其他单据 | 按单据日期顺序排列 |
### 2.4 装订顺序
1. 凭证封面
2. 凭证汇总表
3. 记账凭证(按凭证号顺序)
4. 原始凭证(发票→合同→审批单→其他)
5. 凭证封底
**装订要求**:
- 每本凭证不超过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
```python
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
```python
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)
```
#### 添加水印
```python
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 批量重命名
```python
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查重
```python
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 压缩归档
```python
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 凭证检索
```python
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.
don't have the plugin yet? install it then click "run inline in claude" again.