SW
SW
审计工具箱
看账相关

新纪元数据处理

批量处理新纪元财务软件导出的账套数据,自动清洗、映射辅助核算、生成标准报表并进行一致性校验

功能概述

新纪元数据处理模块用于批量处理从新纪元财务软件导出的 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 配置)

操作步骤

  1. 将新纪元财务软件导出的 Excel 文件放入配置表 B1 指定的文件夹
  2. 编辑配置表 input/新纪元数据处理.xlsx,填写各参数
  3. 在工具箱中点击「填写数据」选择配置文件,点击「运行」
  4. 处理完成后在 output/新纪元数据处理/ 目录下查看结果

输出结果

所有输出文件保存在 output/新纪元数据处理/ 目录下,根据输出模式可能按公司或文件类别分子文件夹。

每个账套输出的文件

文件说明
{公司名}-科目余额表.xlsx包含层级科目列(1级科目、2级科目...)和合并科目名称
{公司名}-序时账.xlsx1月至目标月份的累计数据,日期格式化为 YYYY-MM-DD,辅助核算替换为中文名称
{公司名}-辅助科目余额表.xlsx辅助核算列替换为中文名称,包含层级科目列

全局汇总文件

文件路径说明
1级科目辅助项明细表_汇总.xlsxoutput/新纪元数据处理/1级科目辅助项明细表/汇总所有账套的辅助核算使用情况,包含1级科目、辅助核算类型、举例值

校验结果文件

文件路径说明
校验失败明细.xlsxoutput/新纪元数据处理/记录余额表、辅助表、序时账之间不一致的1级科目及对应列名,含数据源超链接

处理逻辑说明

智能月份回溯

新纪元科目余额表通常包含 1-12 月多期数据。程序按目标月份筛选时,若该月无数据,会自动向前查找最近的有数据月份。使用回溯月份的账套会在执行摘要中单独列出。

科目层级构建

程序根据「科目设置」Sheet 自动计算科目层级关系:

  1. 将科目名称按分隔符(/\-_)拆分,去除父级科目名称前缀得到各级简称
  2. 生成「1级科目」「2级科目」... 等层级列
  3. 生成「合并科目名称」,格式为「一级/二级/三级」

一致性校验

程序对每个账套执行末级科目级别的聚合校验:

  1. 筛选末级科目是否末级 = 是),避免父级科目重复计算
  2. 按1级科目分组汇总各金额列
  3. 比较余额表与辅助表、余额表与序时账的差异
  4. 差异超过 0.01 的记录写入校验失败明细

注意: 文件夹中文件名以 ~. 开头的临时文件会被自动排除。新纪元导出的文件名中可能包含 {xxx}_UFTData_xxx_ 等前缀,程序会自动清洗。

注意: 如果安装了 python-calamine 库,将自动启用高性能 Rust 引擎加速 Excel 读取。