上线盘点对账方案
原则:上线后第一件事是盘点对账——新系统数据与历史台账(PTA.xlsx 全量)完全核对无误后,方可开始生产。对账不通过,不开始生产。
一对账范围与基准
双侧数据源 + 冻结约定,保证「同一时点、同一口径」可比。
| 侧 | 数据源 | 说明 |
| 基准侧(期望值) | PTA.xlsx 全量台账(28 sheet,11.3MB) | 8-21 13:39 与 5-6 全量导入同一母本;用独立工具从 Excel 原始 sheet 重新解析计算,不复用导入产物,避免「用导入结果验证导入」 |
| 被检侧(实际值) | 线上 MySQL + NoSQL(只读查询) | contract / fix_record / roll_record / shipment / payment_record / invoice / 主数据 / users / departments |
| 冻结约定 | 对账期间线上库不写入 | 当前为备案前冻结态;备案通过后若数据有变动,重跑三步工具刷新基线 |
覆盖范围:合同 1,597(采购+销售,六种 trade×mode 分组)、点价 1,612、移仓 251、发运 13,440、收付款 6,279、发票 52、四类主数据、用户/部门,以及系统独有的台账外资产(6 条合同、线上建账主数据、1b 演示资产)。
二方法:六层检查框架
从粗到细,任何一层卡壳先闭环再进下一层。
| 层级 | 检查内容 | 典型手段 |
| L1 行数级 | 各表条数、状态分布(approved/closed)、缺价保真条数 | 计数比对 |
| L2 分组勾稽 | 采购/销售 × 基差/月均价/一口价 六分组的笔数、数量、已点价量 | 分组求和比对 |
| L3 业务一致性 | 基差合同 approved_quantity = Σ点价;移仓终态 base_contract;发运 ≤ 合同量;分品种敞口 | 业务规则 SQL + Excel 重算敞口 |
| L4 财务勾稽 | 收付款金额合计与合同命中、发票进销、发运量、运费、点价量、移仓量、物流三形态 | 金额/数量合计比对(容差 ±0.01) |
| L5 抽样逐字段 | 随机抽 5 笔合同,8 个字段(方向/对手方/品种/计价/状态/基准合约/数量/已点价)逐字段核对 | 逐字段 diff |
| L6 独有资产归因 | 线上有、台账无的每一行都要有出处:台账外合同 6 条、线上建账主数据、1b 演示资产、NoSQL 用户部门 | 逐条归因说明 |
独立性原则:基准侧解析口径与导入 ETL(import_full_gen.py v4)一致,但代码独立实现——同一套业务过滤规则(数量无效跳过、合同号去重、点价脏数据剔除、收款按「合同号+日期+对手方+金额」判重),两套代码各自跑出同一个数,才是真核对。
三本次基线对账结果(2026-08-24,备案前冻结态)
55 项检查:53 项通过,2 项未通过(均已精确归因,非导入错误)。
核心勾稽(全部一致)
| 对象 | 期望(Excel 重算) | 实际(线上) | 结果 |
| 合同总数(含台账外 6 条) | 1,597 = approved 164 + closed 1,433 | 1,597 | 一致 |
| 六分组(笔数/量/已点价) | buy|basis 295/421,360.80/396,822.00 · sell|basis 554/636,758.72/575,705.25 · buy|month_avg 134/412,298.20/0 … | 6/6 一致 |
| 点价记录 / 缺价保真 | 1,612 / 2 | 1,612 / 2 | 一致 |
| 移仓记录 / 涉及合同 | 251 / 终态 0 差异 | 251 / 0 差异 | 一致 |
| 发运单 / 轨迹 / 三形态 | 13,440 / 13,440 / 7·26·13,407 | 13,440 / 13,440 / 7·26·13,407 | 一致 |
| 收付款(笔数/金额) | 付 2,691 / ¥4,533,595,973.09 · 收 3,588 / ¥4,615,027,386.93 | 同左 | 分毫不差 |
| 发票 / 运费 / 点价量 / 移仓量 | 52 张 · ¥22,304,241.21 · 972,527.25 吨 · 167,789.29 吨 | 同左(移仓量 0.01 舍入差) | 一致 |
| 敞口(PTA / MEG 净额) | PTA 净 -45,480.60(台账 -48,480.60 + 台账外逸普3000 +3,000)· MEG 净 -2,465.23 | 同左 | 精确闭环 |
| 抽样 5 笔 × 8 字段 | 含移仓终态覆盖口径(base_contract 取移仓后合约) | 5/5 一致 |
2 项待修复(数据卫生,净额影响 0)建议 SQL 处置
| # | 问题 | 建议处置 |
| 1 | 收款 2 行(SF-20260227-007 +6,420 / SF-20260313-014 -6,420,南京星之辉运输)contract_id=990 为幽灵引用——该合同因数量无效导入时被跳过未入库 | contract_id 置 NULL |
| 2 | 付款 2 行(PF-20250331-004 ¥785,286.09 / PF-20250415-001 ¥911,250.00)引用合同「6680XS2405-0010-11(ZTXS-25-4月)逸普3000」在库 id=44,但导入映射缺失导致 contract_id 为 NULL | 补 contract_id = 44 |
2 项待业务确认(台账固有事实,非系统错误)老板确认
| # | 合同 | 合同量 | 实发 | 超发 |
| 1 | 1030PET-2404-001(0.64-0.65含0.64)QP | 844.00 | 878.40 | +34.40 吨 |
| 2 | 6680XS2407-0056(ZTXS-24-7月-切片) | 33.00 | 33.60 | +0.60 吨 |
确认口径:若属「补充协议未入台账」,业务侧补录变更记录后重跑对账;若属容许超装,在系统中登记备注即可闭环。
四差异处理流程
发现差异 → 归因 → 分级处置 → 修复 → 复跑闭环。
- 发现:比对脚本输出未通过项(期望值 vs 实际值)。
- 归因:逐项定位到三类之一——数据缺陷(导入映射/脏数据)、台账固有事实(历史业务即如此)、口径容差(舍入/求和方式)。
- 分级处置:数据缺陷 → 修复 SQL(走变更流程、老板批准后执行);台账固有事实 → 业务确认留痕;容差 → 记入已知容差清单并在文档中修正基线。
- 复跑:修复后重跑三步工具,直至「检查 N 项:通过 N,未通过 0,待处置 0」。
- 留痕:每次对账的 expected/actual/result JSON + HTML 报告存档于 tmp-verify,可追溯、可复现。
五放行标准(Go / No-Go)
以下全部打勾,才允许开始生产。
- L1~L6 六层全部检查项通过(当前 53/55,剩 2 项为待处置)
- 2 项待修复数据已处置(幽灵 id990 置 NULL + 补 id44 引用)并复跑通过
- 2 项超发运经老板/业务确认并留痕(补录变更或登记备注)
- 对账报告(reconcile-baseline-report.html)归档,结果 JSON 三件套存档 tmp-verify
- 若备案通过到生产之间存在时间差:重跑一次基线对账确认冻结态未被打破
- 老板签字确认「库账一致,放行生产」
红线:任何一项核心勾稽(行数/分组/金额/敞口)不闭环,不得开始生产。
六周度对账机制(常态化)
基线对账放行后转入常态化:每周一 15:30 定时任务自动执行,线上线下持续核对。
| 要素 | 规则 |
| 频率 | 每周一 15:30(收盘结算数据落定后),WorkBuddy 定时任务自动触发 |
| 范围 | 六层框架全量核心勾稽 + 本周增量逐条核对(合同/点价/移仓/发运/收付款/发票新增记录,按上次对账日之后 created_at 增量) |
| 基线 | PTA.xlsx 无更新(冻结期)→ 复用既有基线;有更新 → 独立重算,口径不得改动 |
| 产出 | reconcile-weekly-YYYYMMDD.html 上传 Hosting,云端链接汇报老板,结论先行(通过 / 待处置 N 项) |
| 升级规则 | 核心勾稽不闭环 → 报告红色警示 + 当周处置;连续两周异常 → 暂停生产写入排查,查明原因并复跑通过后恢复 |
| 留痕 | 每次对账结果同步任务文档、断点指南、memory 日志三处 |
红线:周度对账对线上库只读;发现的修复项一律先列清单请示老板批准,批准后单独执行并留痕,绝不顺手改库。
七工具与复现
- 独立重算:python reconcile_full_gen.py → 从 PTA.xlsx 独立重算,产出 reconcile-expected.json(含分组勾稽、敞口、抽样、质量备注)
- 线上取数:只读 SQL 查询线上库(合同状态/分组/点价/移仓/发运/收付款/发票/主数据/敞口/一致性/抽样/NoSQL 计数),结果手工落盘 reconcile-actual.json
- 比对出报告:python reconcile_compare.py "报告副标题" → 产出 reconcile-result.json + reconcile-baseline-report.html(结论卡片 + 逐项明细表)
存放位置:工具与三件套均在 tmp-verify/;线上取数一律只读,修复动作单独走变更流程,绝不在对账脚本里顺手改库。
八角色分工
| 角色 | 职责 |
| 老板 | 放行决策人:审批 2 项修复 SQL、确认超发运口径、签字放行生产 |
| 小猪 | 工具维护与执行:三步对账、差异归因、报告归档、复跑闭环;周一 15:30 周度对账常态化执行 |
| 财务(王劲宁侧) | 复核 L4 财务勾稽结果(收付款/发票金额与台账账面核对) |
| 业务主管 | 确认超发运等台账固有事实,必要时补录变更记录 |
南京盛庆和化工有限公司 · 盛庆和一体化管理平台上线盘点对账方案 v1.1(新增周度常态化机制) · 编制:小猪 · 2026-08-24