Files
uniprop-manual/prop-acc/scenarios/adhoc-audit-ic-card-stock-reconciliation.md
Willie b7c0cd6e0c P3+P4+P5: prop-acc 迁移到多域 UDAS,新建 4 域骨架与顶层入口
P3 — prop-acc 30 文件迁移到多域 UDAS 结构:
- 3 概念:旧 prop-acc/一次性收费/概念-*.md
         → prop-acc/concepts/adhoc-*.md (kebab-case 英文)
- 25 场景:旧 prop-acc/一次性收费/场景-*.md
         → prop-acc/scenarios/adhoc-*.md
- 子文件夹 index.md → prop-acc/maps/knowledge-map.md (域内地图)
- prop-acc/index.md 重写为域首页(embed knowledge-map)
- 删除空目录 prop-acc/一次性收费/

每个迁移文件:
- title 加域前缀 "prop-acc · "
- aliases 含原 title (带空格) + 原文件名 basename (无空格),保证既有 [[...]] 引用解析
- status: stable → 已发布 / draft → 草稿 (UDAS 中文枚举)
- last_reviewed → last_review (UDAS 字段名)
- tags 补加 UDAS 类型分类 "概念" / "场景"
- 路径式 WikiLink 清除:
  * [[../预存款/index|XX]] → [[预存款]]
  * [[一次性收费/index|XX]] → [[prop-acc · 一次性收费索引]]

P4 — 4 个新业务域骨架:
- community (社区管理)
- administrative (行政人事)
- patrol (巡护工单)
- resident-portal (业户门户)
每域含 index.md (域首页) + maps/knowledge-map.md (域内地图模板)。
另补 cross/index.md + cross/maps/cross-domain-map.md。

P5 — 顶层入口:
- index.md: 站点首页 (Quartz 着陆点),embed domain-map
- maps/domain-map.md: 5 业务域 + cross 的索引表

迁移后状态:
- 共 50 篇 .md (30 原 + 8 跨域 stub + 4 域 index + 4 域 map + 2 cross + 2 root)
- 残留路径式 WikiLink: 0
- 残留英文 status: 0
- 残留 last_reviewed 字段: 0

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 20:44:43 +08:00

6.5 KiB

title, aliases, tags, audience, status, last_review, code_version
title aliases tags audience status last_review code_version
prop-acc · 场景 - 审计 - IC 卡库存与售出数对账
场景 - 审计 - IC 卡库存与售出数对账
场景-审计-IC卡库存与售出数对账
场景
prop-acc
一次性收费
业务场景
审计对账
业务人员
已发布 2026-05-25 2026-05-22

场景:IC 卡库存与售出数对账

物业月底核对:系统记录卖出的 IC 卡数量 是否等于 库存盒里减少的物理 IC 卡数量

[!warning] 系统不直接管物理库存 本系统只管财务(收了多少钱),不管实物(IC 卡盒里还剩几张)。物理库存盘点是物业独立的内部流程,本场景描述如何用系统数据辅助核对物理库存。

典型情境

[!example] 真实情境 5 月 31 日,物业财务王姐做月度库存盘点。

  • 月初库存:100 张工本卡(已制好的空白 IC 卡)
  • 月底盘点:剩 47 张
  • 推断:这个月用掉 53 张

在 Filament 后台查"5 月 IC 卡售出数",应该等于 53 张。如果不等,需要排查。

业务人员视角

步骤 1:盘点物理库存

1. 月初库存(从上月结存)               100 张
2. 本月入库(新采购)                   +50 张
3. 本月理论可用                        150 张
4. 月底盘点(数库存盒)                 -47 张
─────────────────────────────────────
5. 本月实际"消耗"                     103 张

步骤 2:从系统拉售出数据

SELECT
    COUNT(*) AS 售出订单数,
    SUM(quantity) AS 卡总张数
FROM acc_ad_hoc_events ahe
JOIN acc_rate_plans rp ON ahe.rate_plan_id = rp.id
WHERE rp.name LIKE '%IC 卡%'
  AND ahe.occurred_at BETWEEN '2026-05-01' AND '2026-05-31 23:59:59'
  AND ahe.status = 'completed';

输出例:

售出订单数:90 单
卡总张数:103 张  (有些订单买多张)

步骤 3:对账

物理消耗  vs  系统售出
   103     vs    103     ✅ 完美一致

或者:

物理消耗  vs  系统售出
   103     vs    101     ❌ 差 2 张
                          → 物理少了 2 张 / 系统多算 2 张

步骤 4:差额排查

差额 > 0(物理消耗 > 系统售出)

意味着:卡发了但没记账。可能原因:

原因 处理
给 VIP 业户免费发卡(没收钱也没记录) 物业政策合规,要补登记 0 元订单
测试卡(写卡测试用了几张) 算损耗
业务人员私发 严重,核查员工
卡丢失 / 制卡失败报废 算损耗

差额 < 0(物理消耗 < 系统售出)

意味着:记账了但卡没发。可能原因:

原因 处理
业户已付款但实物没拿(走 场景-异常-支付完成但实物发不出) 检查"待补发清单",物业还在保管
录单时数量填错(多录了) 检查录入异常订单,可能要 场景-取消-录错金额作废重做
业户付了款作废后忘了取回卡 物业归档

物理库存管理建议

[!tip] 建议物业建一份独立的库存台账 不在系统里(系统不管物理库存),但用 Excel / 纸质本子记:

=== IC 卡库存台账 ===

日期        操作          数量   余额    经办人    备注
2026-04-30  月初余结存                100             上月结存
2026-05-03  采购入库       +50      150   李四      合同 #2026005
2026-05-15  发给业户        -1      149   张三      房号 12-3-501
2026-05-15  发给业户        -2      147   张三      房号 8-2-301
...(每天明细)
2026-05-31  月底盘点                 47   王姐      实物数对

每周/每月与系统数据对照。

系统流程

sequenceDiagram
    participant 财务
    participant 物理库存
    participant Filament/DB
    participant 业务人员

    Note over 财务: 月底
    财务->>物理库存: 数库存盒
    物理库存-->>财务: 47 张

    财务->>财务: 计算消耗 = 100 + 50 - 47 = 103

    财务->>Filament/DB: 查 5 月 IC 卡售出数
    Filament/DB-->>财务: 103 张

    财务->>财务: 对账 ✅

    Note over 财务: 若不一致

    财务->>业务人员: 找差额
    业务人员-->>财务: 解释(免费发卡 / 录入错误 / 报废等)

其他实物的对账方法

同样的方法可以对账:

实物 系统侧查询
装修出入证 SUM(quantity) WHERE rate_plan.name LIKE '%装修出入证%'
泳票(纸质) SUM(quantity) WHERE rate_plan.name LIKE '%泳票%'
充值码 / 充值卡 COUNT(*) WHERE rate_plan.name LIKE '%充值%'

常见问题

[!question] 为什么系统不直接管物理库存? 物理库存涉及采购 / 入库 / 报废 / 盘点 等独立流程,可能跨多个仓库 / 多种实物。绑到收费系统里会让收费系统过重。最佳实践:

  • 库存独立做(Excel / 专门的 ERP)
  • 收费系统专注于"卖出与收钱"
  • 月底用对账连接两者

[!question] VIP 业户免费发卡,系统里要建 0 元订单吗? 强烈建议建。便于库存对账。Filament 后台支持金额 = 0(不会失败)。备注栏注明"VIP 免费 + 审批单号"。

[!question] 制卡过程中报废的卡怎么入账? 系统侧不录任何订单(没有交易发生)。在库存台账里算损耗:

日期 制卡失败报废 -1 余额 X 备注 测试新读卡器

[!question] 差额超过 10 张能不能不查? 强烈不建议。差额是审计预警信号,长期不查可能掩盖:

  • 员工私发
  • 财务挪用
  • 系统漏录

建议:月度差额 > 5 张必须给出书面解释

与"现金对账"的区别

对账类型 对账对象 数据源 频率
场景-审计-月底现金对账 系统订单 vs 收银抽屉 数据库 + 物理现金 每月
库存对账(本场景) 系统订单 vs 物理库存盒 数据库 + 物理盘点 每月
作废抽查 作废订单的事由记录 数据库 meta 字段 每季

三种对账独立做但互相印证 —— 现金对账过了但库存不对,可能是 VIP 免费发卡;反之可能是手工卖了卡没录系统。

相关概念

异常分支

  • 物理少了 → 内部排查
  • 系统少了 → 找漏录单 / 补登记
  • 多个月持续不一致 → 必查清 不能拖