看账相关
新纪元数据处理
批量处理新纪元财务软件导出的账套数据,自动清洗、映射辅助核算、生成标准报表并进行一致性校验
功能概述
新纪元数据处理模块用于批量处理从新纪元财务软件导出的 Excel 账套文件。主要功能包括:
- 自动读取指定文件夹下的所有新纪元账套文件,排除临时文件
- 智能月份筛选:指定月份无数据时,自动回溯最近的有数据月份
- 自动清洗科目名称,计算科目层级,生成合并科目名称
- 辅助核算代码自动映射为中文名称
- 输出标准化的科目余额表、序时账、辅助科目余额表
- 数据一致性校验(余额表 vs 辅助表 vs 序时账)
- 生成全局汇总的「1级科目辅助项明细表」
配置文件
配置文件路径:input/新纪元数据处理.xlsx,必须包含「配置表」Sheet。
配置表参数
配置表从 B1 单元格开始按行填写参数:
| 单元格 | 参数名称 | 示例值 | 说明 |
|---|---|---|---|
| B1 | 文件夹路径 | /Users/nigo/audit/项目/新纪元数据 | 存放新纪元导出的 Excel 文件的文件夹 |
| B2 | 数据月份 | 12 | 目标月份,如年报项目填 12。若该月无数据会自动回溯到最近的有数据月份 |
| B3 | 是否仅导出末级 | 是 或 否 | 选「是」则只保留末级科目;用于生成明细表选「是」,用于装小账套选「否」 |
| B4 | 输出模式 | 按公司建文件夹 | 支持「按公司建文件夹」「按文件类别建文件夹」两种模式 |
| B5 | 金额为空的行是否删除 | 是 或 否 | 是否剔除所有金额列均为空的行 |
| B6 | 是否处理序时账 | 是 或 否 | 不需要序时账时选「否」可大幅提高处理效率 |
| B7 | 导出时是否带辅助代码 | 是 或 否 | 默认「否」,辅助核算仅显示中文名称;选「是」则显示「原代码 中文名称」 |
其他必需 Sheet
配置文件中还需要包含以下 Sheet(从新纪元软件导出的原始数据),作为科目和辅助核算的映射依据:
| Sheet 名称 | 用途 |
|---|---|
科目设置 | 科目代码与名称映射,用于构建科目层级 |
科目汇总表 | 科目余额数据源(按月) |
科目及辅助核算汇总表 | 辅助核算余额数据源 |
辅助核算类别定义 | 辅助核算类别代码与名称映射 |
辅助核算代码 | 辅助核算代码与名称的映射关系 |
序时账 | 序时账数据(可选,取决于 B6 配置) |
操作步骤
- 将新纪元财务软件导出的 Excel 文件放入配置表 B1 指定的文件夹
- 编辑配置表
input/新纪元数据处理.xlsx,填写各参数 - 在工具箱中点击「填写数据」选择配置文件,点击「运行」
- 处理完成后在
output/新纪元数据处理/目录下查看结果
输出结果
所有输出文件保存在 output/新纪元数据处理/ 目录下,根据输出模式可能按公司或文件类别分子文件夹。
每个账套输出的文件
| 文件 | 说明 |
|---|---|
{公司名}-科目余额表.xlsx | 包含层级科目列(1级科目、2级科目...)和合并科目名称 |
{公司名}-序时账.xlsx | 1月至目标月份的累计数据,日期格式化为 YYYY-MM-DD,辅助核算替换为中文名称 |
{公司名}-辅助科目余额表.xlsx | 辅助核算列替换为中文名称,包含层级科目列 |
全局汇总文件
| 文件 | 路径 | 说明 |
|---|---|---|
1级科目辅助项明细表_汇总.xlsx | output/新纪元数据处理/1级科目辅助项明细表/ | 汇总所有账套的辅助核算使用情况,包含1级科目、辅助核算类型、举例值 |
校验结果文件
| 文件 | 路径 | 说明 |
|---|---|---|
校验失败明细.xlsx | output/新纪元数据处理/ | 记录余额表、辅助表、序时账之间不一致的1级科目及对应列名,含数据源超链接 |
处理逻辑说明
智能月份回溯
新纪元科目余额表通常包含 1-12 月多期数据。程序按目标月份筛选时,若该月无数据,会自动向前查找最近的有数据月份。使用回溯月份的账套会在执行摘要中单独列出。
科目层级构建
程序根据「科目设置」Sheet 自动计算科目层级关系:
- 将科目名称按分隔符(
/、\、-、_)拆分,去除父级科目名称前缀得到各级简称 - 生成「1级科目」「2级科目」... 等层级列
- 生成「合并科目名称」,格式为「一级/二级/三级」
一致性校验
程序对每个账套执行末级科目级别的聚合校验:
- 筛选末级科目(
是否末级 = 是),避免父级科目重复计算 - 按1级科目分组汇总各金额列
- 比较余额表与辅助表、余额表与序时账的差异
- 差异超过
0.01的记录写入校验失败明细
注意: 文件夹中文件名以
~或.开头的临时文件会被自动排除。新纪元导出的文件名中可能包含{xxx}_或UFTData_xxx_等前缀,程序会自动清洗。
注意: 如果安装了
python-calamine库,将自动启用高性能 Rust 引擎加速 Excel 读取。