gpt4 book ai didi

mysql - 数据库设计 : inventory and sales system?

转载 作者:可可西里 更新时间:2023-11-01 06:31:20 26 4
gpt4 key购买 nike

我需要开发一个库存和销售系统。

对于库存,我需要能够跟踪理想的库存水平、当前的库存水平、再订货点、成本、售价等。

并非库存中的每件商品都是“可销售的”。例如,我可能想要保存用于苏打水的塑料杯的库存。意思是,每次我出售苏打水时,我都需要从塑料杯的库存数量中减去一个。因此,“中等焦炭”实际上是塑料杯、一些餐巾纸和液体,每件物品都有自己当前的库存水平、成本等。

然后是“组合”的概念。也许 1 美元的中等可乐和 3 美元的汉堡包作为组合一起出售,只需 3.50 美元(节省 0.50 美元)。提到可乐包括一些餐巾纸。假设汉堡包本身还包括餐巾纸。然而,作为一个组合,购买者没有得到可乐和汉堡包的餐巾纸;相反,买家只会得到与他/她只购买可乐一样数量的餐巾纸。

对于销售系统,我需要跟踪每笔销售,并可能保持与库存记录的关系(这意味着一旦销售完成,我就永远无法真正删除库存中的项目——出于历史目的)。当我以 1 美元的价格出售“中等可乐”时,也许我应该将其分解为液体 0.90 美元和塑料杯 0.10 美元。

当我出售“组合”时,也许我需要能够说明汉堡包的实际售价为 3 美元,而中等可乐的售价仅为 0.50 美元(只有苏打水打折以使组合更有吸引力)。

这不可能是一个新问题。 有没有人有任何想法(或例子)我可以看看来解决这个问题? 我不确定如何对库存、可售商品(尤其是组合)以及如何记录销售额进行建模。

最佳答案

您正在寻找的解决方案将依赖于会计风格模型和几个 Material list (BOM)。您的主要实体类型将包括:

  • SKU 这是您出售的物品 list 。它的属性将包括产品描述和当前零售价格等内容。您可以想象并将价格分解为一个子表,该表给出了一段时间内的价格。让我们假设你现在要去掉皱纹。某些 SKU 可以是您所谈论的那种“组合”。
  • 组件 这是构成 SKU 的物品 list ,例如餐巾纸、杯子、面包、肉饼、可乐糖浆等 - 以您的示例为例。正如 SKU 有描述和价格一样,COMPONENT 也有描述和单位成本。 (也可以在子表中对其进行历史记录。)该表也是您通常存储 ROP 的地方。
  • 成分这是一个 BOM,它与 SKU 和 COMPONENT 相交,并说明每个 COMPONENT 的单元有多少进入一个 SKU 的单元。您也需要其中之一来与两个 SKU 相交(用于组合)。为此,您可以使用一张 table 或两张 table 。两张 table 会让纯粹主义者开心,一张 table 从编码员的角度来看是权宜之计。
  • 销售 这是一个交易表,提供用于记录一个或多个 SKU 的销售的标题。该表将包含交易日期、收银员 ID 和其他标题项目等内容。
  • SALE_ITEM 这是交易明细表,其中包括售出的 SKU(以及数量)和销售量。销售时 SKU 价格的非规范化程度,但也可以包括对价格的任何特殊覆盖。为 SKU 实际收取的价格是非规范化的一件好事,因为有人可以编辑 SKU 中的标价,然后您就会忘记当时为该项目实际收取了多少费用。
  • INVENTORY_HDR 这是一个在概念上类似于 SALE 的交易表,但它是库存交易的标题,例如接收新库存、用完库存(如销售)和库存调整。同样,这将是日期/描述内容,但如果您愿意,它可以包含指向 SALE_ITEM 的直接链接,用于作为销售的库存移动。您不必这样做,但有些人喜欢在逐笔交易的基础上建立收入和成本之间的联系。
  • INVENTORY_DTL 这是库存交易的详细信息。这表明哪个 COMPONENT 进入或退出,进入或退出的数量,以及此移动应用于的 INVENTORY_HDR 事务。这也是您保留为组件项目支付的实际成本的地方。
  • 地点 您还可以(如果愿意)跟踪您收到和使用/出售的库存的物理位置。在餐厅,这可能并不重要,但如果您有链式店,或者您的餐厅有一个用于存放成分的异地仓库,那么您可能会关心。

  • 考虑以下 ERD:
    ERD

    要进行收入核算,您需要将 SALE_ITEM 表中记录的金额相加。

    库存水平计算基于将每个 COMPONENT 的 INVENTORY_DTL 输入和输出相加。 (不要将当前库存水平存储在表格中 - 这注定会导致对帐问题。)

    要进行成本核算,您需要将 INVENTORY_DTL 表中记录的金额相加。请注意,您通常不会确切地知道您销售的是哪种餐巾纸或面包,因此不可能将特定组件收货与特定 SKU 销售联系起来。相反,您需要有一个约定来确定用于任何给定 SKU 的组件。您可能有指定需要使用的约定的会计规则。大多数人使用先进先出。一些行业使用 LIFO,我什至见过加权平均成本会计。

    关于mysql - 数据库设计 : inventory and sales system?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059682/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com