结合财务对账、商品盘点、核销等核心细节,以及商超业务中常见的退换货深化、临期商品处理、权限管控等场景,对原有进销存系统设计进行补充完善,形成覆盖全业务链路的闭环方案。整体仍遵循 “域隔离 + 协同交互” 原则,新增细节嵌入对应业务域,通过事件和接口实现联动。
一、核心业务域补充细节(原有 6 域 + 细化场景)
(一)采购域:补充 “预付款与核销”“供应商对账” 细节
采购域除基础采购流程外,需支撑 “先款后货” 的预付款场景及与供应商的定期对账,确保资金与货物匹配。
- 
采购预付款与核销流程
- 预付款创建:采购部向供应商支付预付款时,采购域生成
prepayment_order(预付款单,含供应商 ID、金额、关联采购计划),并发布【采购。预付款支付】事件; - 财务域动作:订阅事件,记录 “预付账款”(负债类科目),状态为 “待核销”;
 - 核销触发:当采购验收完成(对应采购单金额≤预付款金额),采购域发布【采购。预付款可核销】事件(含采购单 ID、预付款单 ID、核销金额);
 - 财务域核销:接收事件,冲减 “预付账款”(减少负债),同步更新应付账款(采购总金额 - 核销金额 = 剩余应付)。
 
 - 预付款创建:采购部向供应商支付预付款时,采购域生成
 - 
供应商对账流程
- 对账周期:每月固定日期(如次月 5 日),采购域自动汇总 “上月供应商的采购验收单、退货单、预付款核销记录”,生成《供应商对账单》(含供应商 ID、总采购额、已付款、未付款);
 - 差异处理:
- 若供应商确认无误,采购域发布【采购。对账确认】事件,财务域基于对账单生成付款计划;
 - 若存在差异(如数量 / 单价不符),采购域发起 “差异复核流程”(关联验收单原始单据),确认后更新对账单并重新发布事件。
 
 
 
(二)仓储域:补充 “商品盘点全流程”“临期商品处理” 细节
仓储域需解决 “账实不符” 问题(通过盘点)和 “临期商品减值” 影响(关联财务成本)。
- 
商品盘点全流程(定期 + 临时)
- 盘点发起:
- 定期盘点:每月末由仓储域自动创建 “全仓盘点任务”(按仓库维度);
 - 临时盘点:因库存异常(如销售时发现短缺),手动发起 “指定商品 / 库位盘点任务”;
 
 - 盘点执行:仓管员通过 PDA 扫描商品条码录入实际数量,系统生成
inventory_check(盘点单,含商品 ID、仓库 ID、系统库存、实际库存、差异量); - 差异审批:
- 差异量≤阈值(如 ±1):自动审批,仓储域直接调整库存台账;
 - 差异量 > 阈值:需仓储经理审批,审批通过后记录差异原因(如损耗、错放、盗窃);
 
 - 域间联动:
- 仓储域发布【仓储。盘点差异调整】事件(含商品 ID、调整后数量、成本变动金额);
 - 财务域订阅事件:若差异导致库存成本变动(如损耗 10 件,成本 80 元),则计入 “营业外支出”,同步更新利润台账(利润 = 原利润 - 80 元)。
 
 
 - 盘点发起:
 - 
临期商品处理
- 临期预警:仓储域每日扫描库存商品,对 “距过期日≤30 天” 的商品标记为 “临期”,发布【仓储。临期商品预警】事件;
 - 促销处理:销售域订阅事件,自动创建 “临期促销规则”(如 8 折),并在门店系统标记临期商品;
 - 折价销售影响:销售后,销售域发布【销售。临期销售完成】事件(含原价、折价、亏损金额),财务域计入 “商品减值损失”,调整利润。
 
 
(三)销售域:补充 “退换货深化”“促销券核销” 细节
销售域需处理复杂的退换货场景(如跨店退货、已核销券退货)及促销工具(券、积分)的核销逻辑。
- 
退换货全流程(含跨域联动)
- 退货触发:用户凭销售小票退货,销售域校验 “商品未损坏、在退货期内”,生成
return_order(退货单); - 库存与财务联动:
- 销售域发布【销售。退货完成】事件(含商品 ID、数量、原销售单价、退货门店);
 - 仓储域:增加对应仓库 / 门店的库存(若商品可二次销售)或标记 “残次”(不可销售,后续销毁);
 - 财务域:冲减原销售收入(如原收入 150 元,冲减后收入 = 原收入 - 150),若已结转成本,同步冲减成本(如原成本 80 元,成本 = 原成本 - 80),利润相应调整;
 
 - 特殊场景:若退货商品使用过促销券,销售域发布【销售。退货券回收】事件,券管理系统(销售域子模块)恢复券状态(可再次使用),财务域冲减 “券抵扣对应的收入损失”。
 
 - 退货触发:用户凭销售小票退货,销售域校验 “商品未损坏、在退货期内”,生成
 - 
促销券核销流程
- 券生成:销售域创建促销活动时生成电子券(含券 ID、面额、使用门槛、有效期),关联
promotion(促销活动表); - 券使用:用户消费时核销券,销售域生成
coupon_use(核销记录),发布【销售。券核销完成】事件(含券 ID、抵扣金额、关联销售单); - 财务处理:财务域订阅事件,将 “抵扣金额” 计入 “促销费用”,利润计算时扣除(利润 = 收入 - 成本 - 促销费用)。
 
 - 券生成:销售域创建促销活动时生成电子券(含券 ID、面额、使用门槛、有效期),关联
 
(四)财务域:补充 “多维度对账”“利润核算细化” 细节
财务域需支撑 “内部对账”(各域数据与财务账匹配)和 “外部对账”(与银行 / 税务匹配),并细化利润核算维度。
- 
多维度对账机制
- 内部对账(域间数据校验):
- 每日凌晨,财务域自动比对 “采购域验收单金额” 与 “财务应付账款”、“销售域销售单金额” 与 “财务应收账款”、“仓储域库存成本” 与 “财务库存资产”,生成《内部对账差异表》;
 - 差异处理:通过链路追踪定位差异源(如采购单未同步至财务),触发对应域补传数据,自动修正财务账;
 
 - 外部对账(与银行 / 税务):
- 与银行对账:每日同步银行流水,财务域比对 “系统收款记录” 与 “银行到账记录”,差异项标记为 “待核实”(如未到账的 POS 收款);
 - 与税务对账:每月汇总 “销售域应税收入” 与 “开票金额”,确保增值税申报数据一致。
 
 
 - 内部对账(域间数据校验):
 - 
利润核算细化(多维度实时计算)
- 维度拆分:支持 “商品 SKU、门店、仓库、时间段(日 / 周 / 月)、促销活动” 等维度的利润核算;
 - 成本构成:利润 = 收入(销售金额)- 直接成本(采购成本)- 间接成本(仓储费用、促销费用、人力成本等);
 - 实时更新触发:
- 收入变动:销售 / 退货事件;
 - 直接成本变动:采购验收、盘点差异、临期折价事件;
 - 间接成本变动:财务域手动录入(如每月分摊的仓储租金)后发布【财务。间接成本录入】事件,更新利润。
 
 
 
(五)新增 “残次商品域”(子域,归属仓储域管理)
针对 “退货残次、盘点损耗、临期销毁” 的商品,需单独管理以避免影响正常库存,同时关联财务成本。
- 核心职责:记录残次商品明细、处理方式(销毁 / 折价处理 / 退回供应商)、成本影响;
 - 流程示例:
- 仓储域将残次商品移入 “残次区”,残次域生成
defective_record(残次记录); - 若选择 “销毁”,残次域发布【残次。商品销毁】事件(含商品 ID、数量、成本);
 - 财务域订阅事件:将销毁成本计入 “管理费用”,利润 = 原利润 - 销毁成本。
 
 - 仓储域将残次商品移入 “残次区”,残次域生成
 
二、域间交互补充(事件与接口扩展)
在原有事件和接口基础上,新增以下关键交互,支撑补充场景:
| 触发场景 | 领域事件 | 订阅域 | 订阅域动作 | 
|---|---|---|---|
| 采购预付款支付 | 【采购。预付款支付】 | 财务域 | 记录 “预付账款”,状态 “待核销” | 
| 盘点差异调整 | 【仓储。盘点差异调整】 | 财务域 | 按差异金额调整库存成本,计入损益(如损耗→营业外支出) | 
| 临期商品折价销售 | 【销售。临期销售完成】 | 财务域 | 记录 “商品减值损失”,扣减利润 | 
| 促销券核销 | 【销售。券核销完成】 | 财务域 | 记录 “促销费用”,扣减利润 | 
| 残次商品销毁 | 【残次。商品销毁】 | 财务域 | 记录 “管理费用”,扣减利润 | 
| 内部对账差异产生 | 【财务。对账差异产生】 | 对应业务域 | 补传缺失数据(如采购域补传未同步的验收单) | 
新增核心接口(支撑实时查询)
| 接口提供方 | 接口示例 | 调用场景 | 
|---|---|---|
| 采购域 | GET /api/purchase/prepayments/{supplierId} | 
财务域对账时查询供应商预付款明细 | 
| 仓储域 | GET /api/inventory/defective/{productId} | 
销售域判断商品是否为残次(避免二次销售) | 
| 销售域 | GET /api/coupons/verify/{couponId} | 
收银时校验券是否有效(未过期、未核销) | 
| 财务域 | GET /api/profit/details?productId=xxx | 
运营查询 “某商品的利润构成”(收入、成本、促销费用等) | 
三、数据模型补充(关键表设计)
在原有表结构基础上,新增以下表支撑细节场景:
| 业务域 | 新增表(简化) | 核心字段 | 
|---|---|---|
| 采购域 | prepayment_orders(预付款单) | 
id, supplier_id, amount, status(待核销 / 已核销), related_purchase_plan_id | 
| 仓储域 | inventory_check(盘点单);defective_records(残次记录) | 
盘点单:id, warehouse_id, check_time, status;残次记录:id, product_id, quantity, reason(销毁 / 退货) | 
| 销售域 | coupons(促销券);coupon_use(券核销记录);return_orders(退货单) | 
券:id, face_value, threshold, expire_time;退货单:id, sales_order_id, product_id, return_quantity | 
| 财务域 | reconciliation_records(对账记录);profit_details(利润明细) | 
对账记录:id, type(内部 / 外部), 差异金额,status;利润明细:id, dim_type, dim_id, income, cost, promotion_fee, profit | 
四、关键业务链路示例(完整闭环)
以 “商品从采购→销售→退货→盘点差异→最终利润核算” 为例,展示全链路协同:
- 采购:采购域创建采购单(商品 A,100 件,8 元 / 件)→ 验收完成→ 仓储域库存 + 100(成本 800 元)→ 财务域应付账款 + 800 元;
 - 销售:销售域销售 20 件(15 元 / 件),使用 10 元促销券→ 发布【销售。订单完成】(收入 = 20×15-10=290 元)→ 仓储域库存 - 20→ 财务域收入 + 290 元,成本 + 20×8=160 元,促销费用 + 10 元→ 利润 = 290-160-10=120 元;
 - 退货:用户退货 5 件(原销售价 15 元)→ 销售域发布【销售。退货完成】→ 仓储域库存 + 5(标记为可售)→ 财务域收入 - 5×15=75 元,成本 - 5×8=40 元→ 利润调整为 120-75+40=85 元;
 - 盘点:月末盘点发现商品 A 实际库存 84 件(系统库存 85 件,差异 - 1)→ 仓储域审批后调整库存→ 发布【仓储。盘点差异调整】(成本减少 8 元)→ 财务域计入营业外支出 8 元→ 最终利润 = 85-8=77 元;
 - 对账:财务域自动比对 “销售域 20 件销售记录” 与 “财务收入记录”,无差异→ 生成《月度利润报表》(商品 A 利润 77 元)。
 
五、补充优势:覆盖全业务细节,支撑精细化运营
- 对账闭环:通过内部 / 外部对账机制,确保业务数据与财务数据一致,减少人工核对成本;
 - 库存精准:盘点差异 + 残次管理,解决 “账实不符” 痛点,库存成本核算更准确;
 - 利润透明:细化成本构成(直接成本 + 间接成本 + 促销费用),支持多维度利润分析,助力决策;
 - 异常可控:残次、临期、退货等异常场景均有流程化处理,避免财务数据失真。
 
总结
优化后的系统在保持 “业务域隔离” 的基础上,通过补充财务对账、商品盘点、核销等细节流程,形成了从 “采购入库→销售出库→异常处理→财务核算” 的完整闭环。核心是让每个业务动作都能精准关联到库存变动和财务数据,最终实现 “实时、多维度、精准” 的利润可视化,同时支撑商超精细化运营的实际需求。
                    
                
 posted on 
                
            
        
浙公网安备 33010602011771号