很多零售店对于进销存的业务需求千奇百怪,当然大多数特殊需求都有专业的店铺工作人员灵活应对,那么在系统的层面怎么去处理呢?
购买流程
购买流程中产生的订单包括销售订单、退货单、收款单、付款单;涉及到的结果变更包括库存量和销售金额。
场景1
用户购买产品并确认收货完成交易。
结果变更:库存-P(此处为购买产品数量),销售金额+N(此处为实收金额)。
场景2:退货
场景 2.1
用户在物流发货之前发起退货。
订单方面:生成一张与销售订单关联的退货单,变更销售订单状态为退货中,增加一张与销售订单、退货单、收款单关联的付款单;
结果变更:库存不变,销售金额-N。
场景2.2
发货在途时用户发起退货。
订单方面:生成一张与销售订单关联的退货单,变更销售订单状态为退货中,增加一张与销售订单、退货单、收款单关联的付款单;
结果变更:库存+P,销售金额-N。
场景2.3
确认收货后用户发起退货。
订单方面:生成一张与销售订单关联的退货单,变更销售订单状态为退货中,增加一张与销售订单、退货单、收款单关联的付款单;
结果变更:库存+P,销售金额-N(这里会涉及到运费由买家承担还是卖家承担的责任判定,一般情况,如果是卖家原因例如产品质量问题、延迟发货等原因造成的退货由卖家承担来回运费,如果是买家的原因造成退货则由买家承担来回运费)。
场景3 换货
场景3.1
发货前用户发起换货。
订单方面:生成一张与销售订单关联的退货单,新增一张与原销售订单、退货单关联的新销售订单,变更销售订单状态为换货中,增加一张与销售订单、退货单、收款单关联的收款单/付款单(是生成付款单还是收款单主要根据是需要用户补差价还是卖家退差价);
结果变更:退货产品库存不变,换货产品库存-P;销售金额±N(此处为付款单/收款单的支付/实收金额)。
场景3.2
产品发货在途时,用户发起换货。
订单方面:生成一张与销售订单关联的退货单,新增一张与原销售订单退货单关联的新销售订单,变更销售订单状态为换货中,增加一张与销售订单、退货单、收款单关联的收款单/付款单;
结果变更:退货产品库存+P,换货产品库存-P;销售金额±N。
场景3.3
用户在确认收货后发起换货。
订单方面:生成一张与销售订单关联的退货单,新增一张与原销售订单退货单关联的新销售订单,变更销售订单状态为换货中,增加一张与销售订单、退货单、收款单关联的收款单/付款单;
结果变更:退货产品库存+P,换货产品库存-P;销售金额±N。