# [P1] 公司间科目与余额计算、手工记录入账

## 背景

`web/app.js::pairData()` 生成演示金额。已确认手工记录不会进入计算，四个会计科目和公司对结果也没有服务端核算引擎。

## 范围

- 以规范事件和已批准手工记录为唯一期间发生额来源。
- 建立应收、应付、其他应收、其他应付的确定性分类规则和人工确认流程。
- 定义双方视角、借贷方向、冲销/归还和净额计算规则。
- 输出公司总借方/贷方、方向明细、对方公司+科目汇总、逐笔事件和原始证据。
- 每个余额显示截止日、期初、本期借贷、期末结果和未决金额。
- 手工记录审批前排除，审批通过后幂等进入规范事件；退回/异常不影响余额。

## 验收标准

- [ ] 计算不读取静态 HTML、`pairData()` 或客户端 `localStorage`。
- [ ] A 对 B 的应收与 B 对 A 的应付金额绝对值一致，方向相反。
- [ ] 已批准手工记录只影响一次；状态回退或冲销有审计事件，不修改原事实。
- [ ] 科目不确定时进入审核，未确认金额单独展示且不混入已确认余额。
- [ ] 任意公司总额可下钻到方向、对方+科目、事件和银行源行。
- [ ] 金额全程使用 Decimal/数据库定点类型，舍入规则有文档和测试。

## 测试

- 双方守恒、还款、冲销、手工记录状态、科目歧义、截止日和未决金额测试。

## 依赖

Issue 006。
