门店系统的可追溯性设计的目的是保证,每个报表及对接凭证的关键数据要做到有据可查,如果在使用过程中发现各种错误,也能及时查出问题。
目前可追溯性涉及到3个部分的内容
一 各个门店的出入库管理,包括过去任意时段门店的商品现存量,需要记录两个内容(两个表)
Table1.记录查询期初的现存量(如每个月,月末或月初的商品的实时库存量),数据包括:常规三连 (organ_code门店所属组织编码,outlet_code门店编码,add_time出入库时间),商品三连(商品名称,商品编码,商品单位),商品现存量
添加时机:定时任务,每月1日,15日等等
Table2.记录每个门店出入库的细则,具体字段包括:门店三连 (organ_code门店所属组织编码,outlet_code门店编码,add_time出入库时间),单据三连(apply_type单据类型,apply_code单据编码,子单据编码apply_detail_code),流程三连(流程编码,流程ID,流程字表ID),商品三连(商品名称goods_name,商品编码goods_code,商品单位goods_unit),业务三连(出库数量,入库数量,经办人),金额三连(涉及金额,成本,毛利),看起来有些字段多余,其实是为了备用,其他的业务查询,有备无患,省join。
添加时机:库存组织商品数量变化的都要记录。
二 涉及商品的成本可追溯性,成本是各种财务报表的基础,业务系统计算的成本只具有参考价值,但是再小的价值,也值得去付出!采取的是移动加权平均方式(本次收货的成本+原有库存的成本,除以本次收货数量+原有存货数量)这种的好处是实时,缺点是有些情况下浮动大,而且一旦数据出错,后面随着业务量的累计,只能将错就错,追溯很难,有鉴于此,我们设计了如下表
Table1.记录结算组织每个商品的现存量以及累计成本,数据包括:organ_code门店所属组织编码,商品三连,业务三连(商品库存量,累计成本,实时成本)
修改:每次库存变动时更新,注意出的时候,累计成本 -= 实时成本*数量
Table2.记录成本变化细则,数据包括:organ_code门店所属组织编码,单据三连,商品三连,商品现存量,累计成本,实时成本,add_time
添加:库存组织商品数量变化
取:因为Table2会比较大,记录成本变化,可能要筛选下实时成本有变化时再抓数据
成本是涉及到结算组织的,在一个结算组织内不涉及到成本的变化,如门店直接的调货,仓库和门店的调货,但是因为每个门店出入库并不是同时的,而且中间也存在耗损,比如仓库出10箱,门店只收9箱,所以也要记录。(物流这块可能会有变化,不能纳入到结算组织里,遗憾!)
三 门店资金的可追溯性,这块一直很重要,所以在这方面也做了很多工作,现在想到的可能也只有资金的进出帐明细表(只是业务层面),例如记录批发单,销售单,采购单,销售还款单,日常管理费用(因为有一些可能外地,财务暂时涉及不到的,需求也是合理的)等等。
Table1.包括门店三连 (organ_code门店所属组织编码,outlet_code门店编码,add_time),关联单据三连(apply_type单据类型,apply_code单据编码,单据申请人apply_user_id),业务三连(入账金额,出账金额,经办人)