首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库存管理,成批销售和包装

库存管理,成批销售和包装
EN

Software Engineering用户
提问于 2017-08-01 15:28:19
回答 1查看 842关注 0票数 1

我正在开发一个带有库存管理的零售管理应用程序,我面临着一个逻辑设计问题,我真的不知道如何解决这个问题:

例如,我可以以200英镑的价格卖出一盒牛奶(24件),以10英镑的价格出售一盒牛奶。

如果我有我的产品在纸箱购买和库存,我如何编码销售单一的单位,并仍然调节报告,将说大约10纸箱,14件剩余?

EN

回答 1

Software Engineering用户

发布于 2017-08-01 18:49:02

库存管理和销售订单处理是两个截然不同的问题。

在一个典型的零售场景中,一个单元通常以不同的价格销售,这取决于一系列的因素;一个单元卖给一个客户的价格可能非常复杂,因为零售商使用各种创造性的方式在价格上具有竞争力,而不会真正改变购买单个单元的人的基本单价。例如

  • 促销优惠和优惠券(如3:2,BOGOF,10%折扣等)
  • 大包装交易(如您所展示的例子)
  • 多种产品的交易(例如,当你买两品脱牛奶和一条面包时,折扣10% )
  • 按日期出售或被损坏的库存削减

考虑一下你在当地超市的收据上看到这样的东西的方式。

代码语言:javascript
复制
        +-----------------------------------+
        |      SellitCheap Stores Ltd.      |
        +-----------------------------------+
        |  Prod.             Qty.    Price  |
        + - - - - - - - - - - - - - - - - - +
        |                                   |
        |  Milk 568ml        4    £    2.40 | 
        |                                   |
        |  Bread 400g        1    £    0.90 | 
        |                                   |
        |  Choc Bar 35g      2    £    1.18 |
        |                                   |
        |  Orange Juice 1L   1    £    1.20 |
        |                         ========= |
        |           Sub Total:    £    5.68 |
        |          Milk BOGOF:  - £    1.20 |
        |                         ========= |
        |               Total:    £    4.48 |
        + - - - - - - - - - - - - - - - - - +
        |  Thank you for shopping with us!  |
        +-----------------------------------+

在许多我能从头脑中想到的零售场景中,销售通常会列出基本价格,然后在不同的销售线上列出储蓄/促销/扣减。(当然,并不是所有的系统都是这样工作的,但许多大型零售商肯定会这样做。)

这样做的好处是,它允许对不同类型的交易最大限度的灵活性,也就是说,你有一个简单的销售线,总是使用基本的单价。

从系统的角度来看,无论是什么决定了库存中的数量,都没有理由关心销售价格(或者确实是单位购买成本)。

在上面的场景中,如果你卖出了一整包24单位的牛奶,那么一条销售线将显示24单位牛奶的销售情况,但成本扣除等于4单位牛奶的成本。

在一些ERP系统中,库存中的数量不是作为固定值存储的,而是存储在分类账中,在分类账中,购买和销售被列为+ve和-ve对总库存的调整。例如:

代码语言:javascript
复制
       Warehouse Inventory Receipt

     Warehouse Inventory Receipt Id: 5
     Receipt Date: 01-Aug-2017 19:51:21

     Line Id   Product         Qty Per.   Packs    Total Adj

      1        Milk 568ml       24         10          +240
      2        Bread Loaf       10          4           +40
      3        Wine 75cl        6           2           +12

因此,如果您已经销售了3台牛奶,包括1包,4台,然后1包+ 12台,余尔库存计算将是:

代码语言:javascript
复制
     Product:        Milk 568ml
     Barcode:     120938019380911

     Id      ReceiptType       Qty     ReceiptId   ReceiptLineId

     1         Buy            240         1               1
     2         Sell            24         3               1
     3         Sell             4         4               2
     4         Sell            36         7               4
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          Current Inventory:  176       

总而言之,

  • 考虑将库存库存级别的事务存储为(销售线、购买线)。
  • 销售线可以存储特定销售的单价。
  • 销售线属于销售收据。
  • 销售收据还可以包含折扣行,其中包含该收据上的一个或多个销售线的促销活动。
  • 您可能有一个单独的实体为您的促销链接到特定的产品。

在我的头上,一些建议DB实体:

代码语言:javascript
复制
Product
Promotion
Sales Receipt
Sales Receipt Line
Sales Discount Line
Warehouse Inventory Receipt
Warehouse Inventory Receipt Line
Product Inventory Ledger Entry Line

在一个简单得多的系统中,Warehouse Inventory Receipt LineSales Receipt LineProduct Inventory Ledger Entry都是同一个实体,因为收据行和库存条目之间通常存在一对一的关系。这取决于实际需求的复杂程度。

这是一个非常重要的问题,因为在存储销售收据行和仓库库存线之后,将简单的Product实体与Inventory字段保持在一起的明显/简单的解决方案很容易导致数据重复。

将库存更改存储为分类账项而不是在Product表中保留一个名为Inventory的有状态字段的理由是,有一个系统可以存储您的事务(销售和购买),以便您可以使用单独的表/实体来处理销售价格/促销(以及商品的单位购买成本)。

另一方面,如果您有一个“库存”字段,以及一个表示您已售出一单位牛奶的收据行,则将该更改存储在另一张表上的Inventory字段中是重复数据,您将需要小心确保这些更改保持同步。

大型零售商几乎肯定会使用比我在这里提出的想法要复杂得多的数据模型。

Edit/Clarification

当你卖一个纸箱,你卖24 £2.00,但24个单独单位的成本通常是£2.40 (24 x £0.10)

在此基础上(如您的示例所示),协调库存计算(24个单元)和总成本(GB2.00)的方法考虑:

  1. 24 * £0.10 = £2.40的销售线(负责库存计算)
  2. 一条£2.00 - £2.40 = £ -0.40折价线(这使减价的价格有所改善)

这将确保您的库存匹配(24台),销售订单/收据已为正确的金额(£2.40 - £0.40 = £2.00)开具发票。

换句话说,总是用单价出售,然后用折扣来调整价格,就像多买折扣一样。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/354905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档