HH SaaS电商系统的出库功能模块设计
文章目录
- 出库单业务流程
- 基本流程
- 扩展流程
- 找不到符合条件的仓库,要求部分退款(未生成出库单时)
- 找不到符合条件的仓库,全部退款(未生成出库单时)
- 找不到符合条件的仓库,等待库存补足(未生成出库单时)
- 指定仓库的库存不足,需要更换仓库(未生成出库单时)
- 找不到符合条件的仓库,需更换供应商(未生成出库单时)
- 出库单的状态
- 出库单类型
- 出库单的实体
- 出库单的关联表
- 手动创建出库单
- 确认出库(即发货)
- 取消出库
- 场景
- 流程
- 买家退款成功,取消出库单
- 商品的实际库存不足且同个供应商其它仓库也没有货,其他供应商也没有货,取消出库单
- 商品的实际库存不足,但是同个供应商的其它仓库有货,取消出库单
- 商品的实际库存不足,但是其他供应商有货,取消出库单(涉及到取消采购单的问题)
- 重新生成出库单
出库单业务流程
基本流程
订单中心的商品全部锁定供应商后,再将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定每个商品的发货仓库,接着将商品、订单和仓库数据发给仓储中心
仓储中心接收到相关数据后按仓库生成出库单,同步将商品的仓库信息反馈给调度中心
调度中心收到反馈后,将仓库信息反馈给订单中心
订单中心收到反馈后,将仓库信息保存在对应的销售子单上
仓库人员在出库单点击“发货”按钮,填写物流信息,提交后完成商品的出库
扩展流程
找不到符合条件的仓库,要求部分退款(未生成出库单时)
订单中心将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定发货仓库,有商品找不到符合条件的仓库
调度中心反馈给客服中心,并且把找不到发货仓库的商品信息传给客服中心,客服中心依此生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其他供应商也没有库存,于是仓库专员创建“售后”类型的工单给客服部门
客服人员接收到工单后和买家协商部分退款,买家申请部分退款(即子单退款),客服中心生成退款单,退款成功后客服中心将商品的退款信息反馈给订单中心
订单中心收到反馈信息后修改相关子单的状态,同步将退款信息反馈给采购中心
采购中心收到反馈信息后修改相关采购子单的采购状态(转变成“退款成功”)
接着仓库人员需要回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
找不到符合条件的仓库,全部退款(未生成出库单时)
订单中心将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定发货仓库,有商品找不到符合条件的仓库
调度中心反馈给客服中心,并且把找不到发货仓库的商品信息传给客服中心,客服中心依此生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其他供应商也没有库存,于是仓库专员创建“售后”类型的工单给客服部门
客服人员收到工单与买家协商部分退款,买家要求全部退款,买家执行退款操作,客服中心生成退款单,退款成功后客服中心反馈给订单中心,订单中心修改相关子单状态(子单状态变成“退款成功”,主单状态变成“订单关闭”)
接着订单中心将退款信息反馈给采购中心,采购中心修改相关采购子单的退款状态(采购子单状态变成“退款成功”,采购主单状态变成“交易关闭”)后流程结束
找不到符合条件的仓库,等待库存补足(未生成出库单时)
订单中心将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定发货仓库,有商品找不到符合条件的仓库
调度中心反馈给客服中心,并且把找不到发货仓库的商品信息传给客服中心,客服中心依此生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后,经过调查得知商品在等待入库,库存补足后仓库人员需要回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
指定仓库的库存不足,需要更换仓库(未生成出库单时)
订单中心将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定发货仓库,有商品找不到符合条件的仓库
调度中心反馈给客服中心,并且把找不到发货仓库的商品信息传给客服中心,客服中心依此生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其他仓库有货,于是修改“发货策略”
接着仓库人员需要回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
找不到符合条件的仓库,需更换供应商(未生成出库单时)
订单中心将“未退款”且“未确定仓库”的商品和订单数据发送给调度中心
调度中心根据“发货策略”确定发货仓库,有商品找不到符合条件的仓库
调度中心反馈给客服中心,并且把找不到发货仓库的商品信息传给客服中心,客服中心依此生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其他供应商有库存,于是创建“采购”类型的工单给采购部门指定的人员,工单内容要描述清楚哪些商品需要调整采购策略,所以才需要取消相关的原采购单
采购人员接收到工单后取消相关的采购单,采购单取消成功后采购中心反馈给订单中心,订单中心将相关商品修改为“未确定供应商”,实则就是把“供应商”字段置为空
接着采购专员修改相关商品的采购策略,修改好之后采购专员再回到“订单管理”模块,找到需要重新生成采购单的销售订单,点击“重新生成采购单”按钮,让系统重新生成采购单
接着采购专员创建“出库”类型的工单给仓储部门,仓库专员收到工单后回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
PS:出库时需要判断出库单中是否存在0<实际出库数<计划出库数的商品,存在则说明部分出库(已取消部分出库的设计)
出库单的状态
出库单类型
调整出库单、调拨出库单、国内销售出库单、跨境销售出库单、换货出库单、报损出库单(暂无)、备货出库单(暂无)
调整出库单
系统库存数多于实际仓储库存数时,需要创建调整出库单手动扣减商品的系统库存数销售出库单
系统根据“发货策略”确定出货仓库后,会按仓库生成对应的出库单,此时系统需要判断出库单中的出货仓库是否为跨境仓,如果是则将此出库单标记为“跨境销售出库单”,如果不是则标记为“国内销售出库单”换货出库单
在换货流程中,商家确认收到退货后,系统会自动生成“换货出库单”调拨出库单
仓库之间相互调货时候,调出的仓库会生成调拨出库单,调入的仓库会生成调拨入库单。需要调拨的仓库人员创建调拨申请单1,审核通过后系统会自动生成调拨出库单和调拨入库单,接着仓库人员在调拨出库单填写发货物流信息完成发货,在调拨入库单确认入库完成收货
出库单的实体
出库单的关联表
采购单和出库单目前不建立关联关系
换货单和出库单是一对一关系,若果买家收到换货后还要换货,必须结束当前换货流程,再申请换货
备货单和出库单是一对多关系,备货单的商品来自多个仓库,但是目前没有做备货出库单
物流单和出库单是多对多关系,一个出库单可以分多个包裹发货,而多个出库单也可能只有一个包裹(同个买家下了多个订单,多个出库单合并发货),所以出库单和物流单也存在多对多的关系,采用中间表建立关联关系。但是不推荐这样的业务关系,建议设计成多对一的关系,物流单保存出库单ID
入库单和出库单是一对一关系,有些外部仓的退货入库单需要关联退货商品的原出库单
销售单和出库单是一对多关系,销售单的商品可能来自多个仓库,所以会生成多个出库单,出库单保存销售单ID
手动创建出库单
仓库人员发货时漏发、少发了,需要创建出库单(类型:国内销售出库单),此时创建的出库单必须关联订单,确认出库后系统要扣减“出库冻结数”
创建无关销售的出库单时(例如:报损出库单),确认出库后系统不仅要扣减真实的库存数还要扣减销售库存数
系统库存数多于实际仓储库存数时,需要创建出库单(类型:调整出库单)手动扣减商品的系统库存数
确认出库(即发货)
在状态为“待出库”的出库单点击“发货”按钮,填写物流信息提交,可以填写多个物流信息(即多个包裹发货),这样才完成商品的出库发货,即是“确认出库”。
本系统实际是需要通过出库单进行发货,确认出库实则就是“发货”,在本系统中为了避免单据过多的冗余,就不再另行设计“发货单”,此时系统需要核销出库冻结数
一个出库单只能一次性完成发货,所以出库单不存在部分发货的情况
取消出库
场景
消费者申请退款成功,需要取消出库单
供应商发现商品实际库存不足需要取消出库单
- 涉及到更换仓库的问题
- 涉及到更换供应商和取消采购单的问题
- 涉及到部分退款或者整单退款问题
- 采购员发现跨境供应商库存不足需要取消出库单
- 涉及到更换供应商和取消采购单的问题
- 涉及到部分退款或者整单退款问题
流程
买家退款成功,取消出库单
买家申请退款,客服中心生成退款单,退款成功后客服中心反馈给订单中心,订单中心修改相关子单状态
修改相关子单状态后,订单中心再通知仓储中心查找退款商品相关的出库单,如果出库单的状态为“待出库”则取消出库单,否则不做任何操作
订单中心收到仓储中心成功取消出库的反馈,将订单中相关商品修改为“未确定仓库”,实则就是把“发货仓库”字段置为空
接着订单中心将退款信息反馈给采购中心,采购中心修改相关采购子单的退款状态后把结果反馈回订单中心
订单中心再将“未退款”且“未确定仓库”的商品和订单信息发送给调度中心
调度中心再根据“发货策略”重新确定发货仓库,调度中心再将商品信息、订单信息、仓库信息发给仓储中心
仓储中心接收到相关数据后按仓库生成出库单,同步将商品的仓库信息反馈给调度中心
调度中心收到反馈后,将仓库信息反馈给订单中心
订单中心收到反馈后,将仓库信息保存在对应的销售子单上
P.S. 买家退款成功后,可以由仓库人员手动生成出库单,不要让系统自动生成出库单,因为如果消费者在短时间内申请多笔退款,那么系统会自动生成多个出库单并且又都取消掉,造成垃圾数据的同时也会给系统增加不必要的负荷,不过目前的产品方案依旧让系统自动生成出库单,后期看情况再做调整~
商品的实际库存不足且同个供应商其它仓库也没有货,其他供应商也没有货,取消出库单
供应商主动取消出库单,仓储中心取消出库单后将取消出库的商品信息反馈给订单中心
订单中心收到反馈信息后,将相关商品修改为“未确定仓库”,接着订单中心要将取消出库的商品信息反馈给客服中心
客服中心收到反馈信息后,生成“出库”类型的工单给仓储部门,仓库专员接收到工单后检查其它仓库和供应商,发现都没有货
仓库专员创建“售后”类型的工单给客服部门,客服人员接收到工单后和买家协商部分退款,买家申请 部分退款,客服中心生成退款单,退款成功后客服中心将退款信息反馈给订单中心,订单中心修改相关子单状态
接着订单中心将退款信息反馈给采购中心,采购中心修改相关采购子单的采购状态
接着仓库人员需要回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
商品的实际库存不足,但是同个供应商的其它仓库有货,取消出库单
供应商主动取消出库单,仓储中心取消出库单后将取消出库的商品信息反馈给订单中心
订单中心收到反馈信息后,将相关商品修改为“未确定仓库”,接着订单中心要将取消出库的商品信息反馈给客服中心
客服中心收到反馈信息后,生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其它仓库和供应商,发现同个供应商的其它仓库有货,于是仓库人员修改相关商品的“发货策略”
接着仓库人员需要回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
商品的实际库存不足,但是其他供应商有货,取消出库单(涉及到取消采购单的问题)
供应商主动取消出库单,仓储中心取消出库单后将取消出库的商品信息反馈给订单中心
订单中心收到反馈信息后,将相关商品修改为“未确定仓库”(实则就是把“发货仓库”字段置为空),接着订单中心要反馈给客服中心,把“未确定仓库”的商品信息传给客服中心
客服中心收到反馈信息后,生成“出库”类型的工单给仓储部门指定的人员
仓库人员接收到工单后检查其它仓库和供应商,发现其它供应商有货,接着仓库专员创建“采购”类型的工单给采购部门,要求他们取消相关的采购单,工单要说明取消采购单的相关情况
采购专员接收到工单后取消相关采购单,采购单取消成功后采购中心反馈给订单中心,订单中心将相关商品修改为“未确定供应商”(实则就是把“供应商”字段置为空)
接着采购专员修改相关商品的采购策略,修改好之后采购专员再回到“订单管理”模块,找到需要重新生成采购单的销售订单,点击“重新生成采购单”按钮,让系统重新生成采购单
接着采购专员创建“出库”类型的工单给仓储部门指定的人员,通知他们采购单已经重新生成了,仓储部可以将有关商品重新生成出库单了,仓库人员收到工单后回到“订单管理”模块,找到需要重新生成出库单的销售订单,点击“重新生成出库单”按钮,让系统重新生成出库单
重新生成出库单
状态非“等待买家付款”、“订单已取消”,“订单已关闭”的销售订单存在没有发货仓库的商品,销售订单则会出现“重新生成出库单”的按钮,仓库专员点击按钮,系统先判断相关商品是否锁定了供应商,如果没有则提示“非常抱歉,有商品没有生成采购单,所以无法生成出库单!”,若相关商品已经锁定了供应商,则将没有发货仓库且未退款的商品信息和订单信息提交给“调度中心”根据“发货策略”锁定发货仓库(如果因为库存等原因找不到符合条件的仓库,系统要提示,且生成有关的工单,提示信息:非常抱歉,订单中的商品(商品编号:xxxxxxxx)找不到符合条件的仓库,此订单无法生成有关的出库单),然后“调度中心”再将订单信息、商品信息和仓库信息提交给“仓储中心”生成出库单,仓储中心接收到相关数据后按仓库生成出库单,同步将商品的仓库信息反馈给调度中心,接着调度中心再将仓库信息反馈给订单中心,订单中心收到反馈后,将仓库信息保存在对应的销售子单上
注意:如果存在多个商品找不到符合条件的仓库,提示信息中的商品编号之间请使用英文逗号隔开
调拨申请单状态:待审核、审核未过、审核通过 ↩︎
HH SaaS电商系统的出库功能模块设计相关推荐
- HH SaaS电商系统的销售订单毛利润模块设计
HH SaaS电商系统的销售订单利润分析,仅是简单分析供运营人员参考而已,所以订单生成后就自动根据商品成本价和实际交易价生成利润表,而不需要等到订单归档后才生成. 销售子单的毛利润=最终交易总额-成本 ...
- HH SaaS电商系统的商品系统设计
文章目录 商品信息结构 商品信息总结构 商品信息结构图 发布商品 商品类型 虚拟商品 服务商品 为什么服务商品要分类 前端根据服务商品类型来设计不同的界面和交互 订单状态和服务类型有关 商品档案上下架 ...
- HH SaaS电商系统的商城模块设计
文章目录 好获SaaS电商系统层级关系 商城实体 商城运营模式 商城可选子系统 创建商城 商城管理后台 有供应系统和无供应系统的B2C和混合模式的商城系统对比 有仓储系统和无仓储系统的B2C和混合模式 ...
- HH SaaS电商系统移动端商城,买家选择商品规格的交互设计
文章目录 未完整选择商品规格时 商品图如何显示 库存如何显示 价格如何显示 选择规格提示文案如何显示 原型图 已选完整选择商品规格时 商品图如何显示 库存如何显示 价格如何显示 原型图 SKU下架后如 ...
- HH SaaS电商系统的跨境商品展示、下单、清关、出库全流程设计
跨境商品的展示 后补 跨境商品的下单 在订单确认页面就要按SKU拆单,所以跨境销售订单的主单和子单是一对一的关系 多种进口渠道的商品在同个销售主单中,在进口清关.收货.货款结算时会出现问题,假设销售订 ...
- HH SaaS电商系统的入库功能模块设计
文章目录 创建入库单的场景 创建入库单的业务流程 商品直接入库内部仓 退货入库(内部仓) 换货入库(内部仓) 退货入库(外部仓) 换货入库(外部仓) 备货入库(内部仓) 备货入库(外部仓) 入库后更新 ...
- HH SaaS电商系统的采购功能模块设计
文章目录 如何生成采购单 系统生成采购单的流程 基本流程 扩展流程 找不到符合条件的供应商,要求部分退款(初次生成采购单时) 找不到符合条件的供应商,要求全部退款(初次生成采购单时) 指定供应商的库存 ...
- HH SaaS电商系统的仓储系统设计
如果商城或者店铺选择开通了供应系统,那么就必然有仓储系统,如果选择不开通供应系统,可以独立开通仓储系统 未开通仓储系统 商城和店铺如果不需要仓储系统,那么商城和店铺就不会有仓储模块,所以无法手动创建库 ...
- HH SaaS电商系统的各种编号(编码/代码/代号)设计
文章目录 主订单编号规则一(租户内唯一) 主订单编号规则二(租户内唯一) 子订单编号规则(租户内唯一) 租户编号规则(系统内唯一) 供应商编号规则(租户内唯一) 平台编号生成规则(租户内唯一) 店铺编 ...
最新文章
- 快速排序的递归和非递归实现 c语言版本
- following symbols must have non local/private scope错误问题解决方法
- 【宜搭客户说第二期】宜搭助力跨境金融行业实现数字化管理
- [react-router] React-Router 4怎样在路由变化时重新渲染同一个组件?
- 某道词典在线翻译JS解密,完全扣js代码解密 (小白基础篇)
- java中的fd是什么意思_java中关键字和保留字分别是什么意思
- 三万字带你了解那些年面过的Java八股文
- Hadoop HDFS原理
- Teorex Inpaint v9.0.1 图片去水印软件中文便携单文件免费版
- excel文件工作表保护没有密码进行撤销
- 机器人编程软件semia_少儿机器人编程与软件编程区别
- javaweb单点登录的三种实现方式
- POJ 3537 Crosses and Crosses 博弈论 SG函数 记忆化搜索
- Android Banner图片轮播第三方框架
- 关于2440嵌入式MPlayer播放器的移植方法
- python安装模块(官网文档)
- python简单爬虫 多线程爬取京东淘宝信息教程
- 麒麟系统ip连接数据库
- Deqin- 升级版测手速游戏
- Unknown custom element: <uni-data-checkbox> - did you register the component correctly? For recursi
热门文章
- javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX
- adf开发_了解ADF生命周期中的ADF绑定
- 使用比较器的nulls对具有null值的列表进行排序
- consul宕机配置丢失_简单的配置死机
- activemq网络桥接_ActiveMQ –经纪人网络解释–第3部分
- Java 11就在这里,您准备好进行切换了吗?
- 在Docker容器中的Tomcat上运行ADF Essentials
- eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者
- Java 9和应用程序性能监视的激动人心之处
- 使用Fabric8在CDI管理的bean中注入Kubernetes Services