记账 P1 已上线 L0

批量生成记账凭证草稿

业务单据按科目映射表批量出凭证草稿,映射不上与金额异常一律进待办不硬造

技能 slugvoucher-batch-generate
所属栏目记账 凭证 / 账簿
交付阶段P1 P1 在建 · 形成数据-票证-记账-报表-资金-分析-底座的完整闭环
版权© 2026 律令科技(深圳)有限公司开发 · 财友云(caiyouyun.cn)发布
这个包已上线。复制到本地即可离线运行;正文与用法以下方随包 SKILL.md 为准。

技能正文(随包 SKILL.md)

> **本地运行,零网络、免 API Key、数据不出电脑。**
> 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。

# 批量生成记账凭证草稿

手工一笔笔录凭证,是记账岗最耗时的环节。但批量生成有个真实风险:**映射规则写错,会批量造出一批错凭证,错误量放大一百倍**。

所以本包的设计是"草稿制":

- 生成的**不是已过账凭证**,是待审核草稿,编号形如 `记-0001`
- 映射不上科目的单据**进待办清单**,不硬造一张半对的凭证
- 金额异常的单据同样进待办,不参与生成
- 每条规则必须一借一贷,单边规则**一律拒生成**

你审核草稿的成本,远低于审一百张已过账凭证。

## 输出四件套

| 文件 | 内容 |
|---|---|
| `vg_主表.csv` | 凭证草稿:凭证号 / 摘要 / 科目代码 / 科目名称 / 方向 / 金额 |
| `vg_异常表.csv` | 未生成单据:行号 + 原因(无映射 / 金额异常) |
| `vg_校验表.csv` | 判定口径、守恒四项、借贷预检规则 |
| `fin-log.jsonl` | 处理日志(追加) |

## 环境准备

```bash
PY="<python 3.8+ 路径>"   # 纯标准库
"$PY" <skill目录>/scripts/voucher_gen.py <业务单据表> <科目映射表> [参数]
```

## 用法

```bash
voucher_gen.py 业务单据.xlsx 科目映射.xlsx
voucher_gen.py 业务单据.xlsx 科目映射.xlsx --summary "9月" --execute
```

真实输出:

```
方案:业务单据 6 行 | 映射规则 6 条 | 前缀 记
--- 凭证草稿 ---
  生成 5 张(分录 10 行)| 未生成 1 条(无映射 0 / 金额异常 1)
  记-0001     9月BX001 660101  销售费用-差旅                 1200.00 借
  记-0001     9月BX001 100201  银行存款-基本户                1200.00 贷
  记-0002     9月BX002 660103  销售费用-折旧                 8800.00 借
  ...
--- 校验表 ---
  单据输入合计 | 42800.0
  已生成凭证金额 | 42800.0
  未生成单据金额 | 0.0
  单据守恒差异 | 0.0
```

常用参数:

| 参数 | 默认 | 说明 |
|---|---|---|
| `--prefix` | `记` | 凭证号前缀 |
| `--summary` | 空 | 摘要统一前缀,如 `9月` |
| `--top` | 20 | 预览行数 |

## 两张输入表

**业务单据表**:只要有单据号、业务类型、金额三列就能跑。额外列按 `BIZ_EXTRA` 顺序取「费用类型 / 部门 / 项目 / 摘要」,两侧列顺序必须一致。

**科目映射表**:一行一条映射规则,形如

```
业务类型,费用类型,借方科目,借方名称,贷方科目,贷方名称
报销,差旅,660101,销售费用-差旅,100201,银行存款-基本户
```

**映射规则匹配不到业务的,不会报错**——它会让那张单据落进「无映射」待办。这是有意的:宁可漏生成,不可错生成。

## 安全与边界(拒绝权)

- **默认预览**:不加 `--execute` 不写盘
- **不覆盖已有凭证号**:同一次运行内号码连续编号,不查历史账套
- **单边规则拒生成**:映射里只有借或只有贷的,整条规则不参与
- **金额异常进待办**:金额为空或非数字的,不参与生成
- **生成的是草稿不是过账凭证**:本包不写账套、不调账务接口

## 金额守恒怎么算

一证多行,不能直接套「输入 = 主表 + 异常」。所以守恒式在校验表里**逐项列清**:

```
单据输入合计 = 已生成凭证金额 + 未生成单据金额 + 守恒差异
```

上例 42800 = 42800 + 0 + 0,差异 0.0 才放行。

## 人工复核(必读)

- 每条草稿的**科目对应关系**要抽查,映射表错了草稿就是错的
- 未生成单据要人工补映射后重跑,**不要手动改草稿**
- 本包不校验科目余额方向、不校验辅助核算,那些归 `accounting-entry-check`

## 相邻路线转交

| 用户要做的事 | 转交给 |
|---|---|
| 凭证生成后再查合法性 | `accounting-entry-check` |
| 科目表标准化(源→目标) | `account-subject-map` |
| 期末损益结转凭证 | `period-end-carry` |

## 可直接复制的说法

```text
把这张业务单据表按科目映射表批量生成凭证草稿。
一张单据出一条借方、一条贷方,凭证号从 记-0001 开始。
映射不到科目的单据单独列进待办,不要硬造凭证。
摘要统一加「9月」前缀。生成前先预览,确认后我再让你写盘。
```

## 做完怎么算完成

- [ ] 未生成单据已逐条查明原因(无映射 / 金额异常)
- [ ] 抽查至少 3 张草稿的科目对应关系无误
- [ ] 校验表里"单据守恒差异"为 0.0

---

本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。

版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。

允许个人及企业内部免费使用、复制、修改,包括内部生产环境。
未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。
各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。

相邻技能

记账 规划中P1 在建 已上线

分录合法性校验

借贷平衡、科目级次、辅助核算必填、红字方向、异常金额预警

L0 · 凭证 / 账簿
记账 规划中P1 在建 已上线

科目映射标准化

多系统科目对照,模糊匹配 + 人工确认清单,输出映射表

L0 · 凭证 / 账簿
记账 规划中P1 在建 已上线

往来对账

两方明细按金额/日期/摘要模糊匹配,输出已勾对与单边差异

L0 · 凭证 / 账簿
记账 规划中P2 长尾 已上线

期末结转计提

损益结转、折旧摊销计提、税金计提,输出凭证草稿

L0 · 凭证 / 账簿
记账 规划中P2 长尾 已上线

账套备份与可恢复校验

SHA256 清单 + 抽样恢复验证,防止备份是坏档

L0 · 凭证 / 账簿
记账 规划中P1 在建 已上线

订单-回款-发票三方勾稽

订单/回款/发票按主键优先、名称金额日期辅助,支持一对多与多对一,差异拆成未回款/少回款/未开票/超开票

L0 · 凭证 / 账簿
记账 规划中P1 在建 已上线

月末结账完整性检查

对照月结清单检查完成证据、差异状态、责任人与风险等级,未对账/未计提/未摊销/凭证未审核直接标高风险

L0 · 凭证 / 账簿
票证 规划中P0 计划 已上线

发票查重

按发票号码+代码+金额+日期组合查重,拦住重复报销与重复入账

L0 · 发票 / 票据
票证 规划中P0 计划 已上线

发票台账

进销项发票台账,按月/客户/税率汇总,导出 CSV

L0 · 发票 / 票据
资金 规划中P0 计划 已上线

银行流水解析

多银行 CSV/Excel 流水归一化成统一字段与方向标记

L0 · 现金 / 银行 / 收付
资金 规划中P0 计划 已上线

银企对账

流水与账面按金额+日期窗口匹配,输出已勾对/单边与余额调节表

L0 · 现金 / 银行 / 收付
报表 规划中P1 在建 已上线

财务指标分析

40+ 指标(偿债/营运/盈利/成长)+ 多期趋势与同业占位

L0 · 报表 / 申报
本页内容由本地构建生成于 2026-09-27。技能正文以随包 SKILL.md 为准。