明细表相关
科目余额表后处理
对已清洗的科目余额表进行辅助核算补全和标准余额计算,生成统一格式的标准化数据
功能概述
本功能用于对经过"科目余额表处理"后的数据进行二次加工,主要解决两个核心问题:
- 辅助核算补全:根据科目名称,自动从源文件的其他列中提取信息(如客户、供应商),填补到统一名称的新列中
- 标准余额计算:根据科目方向(借/贷),自动计算带正负号的标准期初、期末余额
核心价值: 通过本功能将不同项目的数据统一为标准格式,使后续的"明细表生成"配置和底稿模板无需因公司不同而反复修改。
输入输出
- 配置文件:
input/科目余额表后处理配置表.xlsx - 输出目录:
output/科目余额表后处理/(文件名与源文件相同)
配置表说明
配置文件包含三个 Sheet,全部为必填结构。
Sheet 1:数据源
告诉程序要处理哪些文件。
| 列名 | 说明 |
|---|---|
| 文件或文件夹路径 | 填入 Excel/CSV 文件的绝对路径,或存放文件的文件夹路径(程序会批量处理该文件夹下所有文件) |
注意: 程序处理时会自动识别金额列(转为数字)和科目列(保留文本),无需手动调整数据类型。
Sheet 2:辅助核算配置
定义科目方向和需要提取的辅助信息。
| 列位置 | 列名示例 | 是否必填 | 说明 |
|---|---|---|---|
| A列 | 1级科目 | 必填 | 源数据中代表科目的列名,如 科目名称。标题行需与源数据列名一致 |
| B列 | 方向 | 必填 | 填入 借 或 贷。启用余额计算时,此列不允许留空 |
| C列及以后 | 自定义 | 选填 | 标题行为生成的新列名(如 客商名称、辅助项目),内容填源数据的列名 |
C列及以后的内容规则:
- 单列取值:直接填入源数据列名,如
辅助核算1 - 多列优先取值:用
-连接多个列名,如辅助核算1-核算项目。程序会优先取第一个列的值,为空时取第二个
示例:
| 1级科目 | 方向 | 客商名称 | 辅助项目 |
|---|---|---|---|
| 应收账款 | 借 | 客户名称-贸易伙伴名称 | 项目名称 |
| 应付账款 | 贷 | 供应商名称-贸易伙伴名称 | 项目名称 |
| 其他应收款 | 借 | 客户名称-供应商名称 |
Sheet 3:余额配置
定义如何计算标准期初和期末余额。采用固定 A/B 列格式:A 列为参数名(不要修改),B 列为源数据对应的列名。
| A列(参数名) | B列(填源数据列名) | 说明 |
|---|---|---|
| 期初方向 | 如 方向1 | 期初余额方向列(选填) |
| 期初余额 | 如 本币(期初余额) | 期初余额金额列(选填) |
| 期初借方余额 | 如 本币(期初借方余额) | 期初借方金额列(选填) |
| 期初贷方余额 | 如 本币(期初贷方余额) | 期初贷方金额列(选填) |
| 期末方向 | 如 方向2 | 期末余额方向列(选填) |
| 期末余额 | 如 本币(期末余额) | 期末余额金额列(选填) |
| 期末借方余额 | 如 本币(期末借方余额) | 期末借方金额列(选填) |
| 期末贷方余额 | 如 本币(期末贷方余额) | 期末贷方金额列(选填) |
注意: B 列不填的行,对应的计算不会执行。整张 Sheet 的 B 列全部留空则跳过余额计算。
余额计算逻辑
程序根据您填写的参数自动选择计算方式:
方式一:借贷差额法(推荐)
填写了借方余额和贷方余额列时使用。
余额 = 借方金额 - 贷方金额方式二:方向余额法
填写了方向列和余额列时使用。
如果方向包含"借",余额为正数
如果方向包含"贷",余额为负数最终标准化: 无论哪种方式,计算结果都会根据科目方向再次调整:
- 科目定义为"借":保持原符号(资产类通常为正)
- 科目定义为"贷":数值取反(负债类通常转为负数)
三种使用场景
场景 A:仅需辅助核算补全
- 填写
数据源和辅助核算配置(A、B、C 列) 余额配置的 B 列全部留空- 结果:在第 4 列位置插入辅助核算列,不计算余额
场景 B:仅需标准余额计算
- 填写
数据源 辅助核算配置填写 A 列和 B 列(B 列必须填满方向)余额配置填写对应的列名- 结果:计算并插入
标准期初余额和标准期末余额
场景 C:全套处理(推荐)
- 所有表全部按要求填好
- 结果:输出一份既有辅助核算列,又有标准金额的完整数据
注意事项
- 列名不能重复:
辅助核算配置中 C 列及以后的标题名不能与源文件中已有列名重复,否则程序会报错停止 - 方向必填:启用余额计算时,
辅助核算配置的 B 列(方向)必须全部填满,不能有空行 - 科目不匹配:如果配置表中写了源文件中不存在的科目,程序会跳过并在控制台提示
- 文件关闭:运行前请确保源文件 Excel 已关闭