Skip to main content

三种成本计价方式:区别、设置与风险

本文是规则字典 (Rulebook),不是日常操作 SOP。 它回答一个核心问题:同一箱货,不同时间用不同价格买进来,系统卖出时按哪个价格计算成本?

适用角色:老板、财务负责人、采购主管、实施顾问

重要边界:计价方式决定“库存值多少钱、销售成本是多少”,但正式总账仍由会计团队在现有会计系统中核算。

1. 先分清两个概念​

很多成本问题会被混淆,是因为把“成本怎么算”和“仓库先发哪批货”当成了同一件事。

概念回答的问题本项目怎么做
成本计价方法 (Costing Method)库存和销售成本按哪个单价计算?由管理员在商品类别上设置
拣货策略 (Removal Strategy)出库时先从哪个库位拿货?可与批次、有效期配合,如先到期先出

先进先出成本法不代表仓库一定先发最早的货。 食品的“先到期先出 (FEFO)”是拣货策略,不是成本计价方法。两者可以同时使用,但不要互相替代。

2. 三种计价方式​

2.1 标准成本 (Standard Price)​

怎么算:系统使用人为设定的固定单价,不随每次采购价自动变化。

适合什么场景:

  • 商品价格长期稳定。
  • 公司希望用统一的计划价考核采购和销售。
  • 有专人定期维护和调整标准价。

不适合本项目的默认原因:

  • 进口食品采购价受汇率、船期、季节影响,固定价很快会偏离实际。
  • 标准成本商品不能作为到岸成本的分摊对象。
  • 标准价与实际采购价之间的差异需要单独处理,小微企业很难长期维护。

2.2 先进先出 (FIFO)​

怎么算:卖出时,假设先入库的货先出库,按最早那批入库的成本计算销售成本。

适合什么场景:

  • 每批采购价差异大。
  • 希望追溯每一批货的实际采购成本。
  • 仓库能稳定按批次管理,且批次记录完整。

对本项目的挑战:

  • 需要较完整的批次、入库和出库记录。
  • 一旦发生负库存、先卖后收,成本会变得难以解释。
  • 财务和业务人员需要更细的成本追踪能力。

2.3 移动加权平均 (AVCO)​

怎么算:每次有货入库后,用“当前库存总价值 + 本次入库价值”除以“当前库存总数量 + 本次入库数量”,重新算出平均每单位成本。

适合什么场景:

  • 同一商品持续多次采购,价格有波动。
  • 不需要区分每一批的精确成本。
  • 希望库存价值和毛利相对稳定、容易解释。

本项目第一阶段推荐原因:

  • 符合进口食品多批次、价格波动的实际情况。
  • 业务员不需要理解每一批的成本差异。
  • 后续可以把运费、关税分摊进平均成本。

3. 同一个商品的三种算法​

假设销售单位都是“1 箱”,期初库存 100 箱,成本 AUD 30/箱。 本月又采购 200 箱,成本 AUD 33/箱。随后卖出 150 箱。

项目标准成本先进先出移动加权平均
期初库存100 箱 × 30100 箱 × 30100 箱 × 30
新采购200 箱 × 33200 箱 × 33200 箱 × 33
入库后库存总价值按固定标准价AUD 9,600AUD 9,600
卖出 150 箱的销售成本150 × 标准价100 × 30 + 50 × 33 = AUD 4,650150 × 32 = AUD 4,800
剩余 150 箱账面价值150 × 标准价150 × 33 = AUD 4,950150 × 32 = AUD 4,800

如果标准价仍设为 AUD 30:

  • 标准成本下销售成本是 AUD 4,500。
  • 先进先出下销售成本是 AUD 4,650。
  • 移动加权平均下销售成本是 AUD 4,800。

同样卖 150 箱,三种方法算出的毛利最多相差 AUD 300。 这就是为什么“成本方法”不是技术细节,而是会影响老板看到的毛利。

4. 怎么设置​

4.1 设置位置​

成本方法设置在商品类别 (Product Category) 上,不在单个商品上逐一切换。

  1. 由系统管理员进入 库存 (Inventory) > 配置 (Configuration) > 产品 (Products) > 类别 (Categories)。
  2. 打开需要设置的类别,例如“冻货类”。
  3. 找到 库存估值 (Inventory Valuation) 区域。
  4. 将 成本方法 (Costing Method) 设为 移动加权平均 (Average Cost, AVCO)。
  5. 保存。

商品类别的库存估值配置

截图中的示例类别已选择 AVCO,仅用于说明设置位置和字段,不代表贵方系统已采用该配置。是否启用及适用范围,需结合数据准备情况,经双方确认并完成验收后确定。

4.2 本项目建议的类别范围​

不是所有类别都必须一刀切。建议按以下原则划分:

类别建议原因
正常采购、销售、有库存的食品AVCO价格波动,需要平均成本
物料、促销品、赠品单独评估可能按标准成本管理更简单
服务类商品不参与库存计价服务没有库存数量
运费、关税、清关费等到岸成本商品不参与库存计价它们是服务商品,只用于分摊
不要假设父类别会自动覆盖子类别

每个商品类别都要确认自己的成本方法。只改最上层类别,不保证下面的子类别自动跟着改。 实施时要按类别清单逐项核对,并用商品档案抽查结果。

4.3 商品档案上看到的是什么​

商品档案显示的“成本方法”是从商品类别继承来的,不能在商品档案里单独选择。 商品档案的 成本 (Cost) 字段在 AVCO 下表示当前平均成本,会随入库和成本调整变化。

4.4 库存估值入账方式​

Odoo 19 还区分两种库存估值入账方式:

  • Periodic (at closing):期末估值,库存会计处理在期末进行。
  • Perpetual (at invoicing):业务发生时自动产生库存相关分录。

本项目建议保持 Periodic (at closing)。 它不会阻止系统计算库存价值和销售毛利,但会影响 Odoo 是否自动生成正式库存会计分录。 到岸成本验证后仍会重算入库价值;只有 Perpetual 才会自动生成对应库存分录。

5. 切换成本方法的风险​

成本方法不能当成日常开关。切换会重新计算商品成本,影响库存价值和后续毛利。

风险 A:成本为 0 的商品被切换​

如果有大量商品没有期初成本,切换 AVCO 后平均成本仍可能是 0。 结果是库存价值为 0,销售毛利看起来异常高。

上线前必须做:先补齐在售商品的期初成本,再切换。

风险 B:负库存​

负库存意味着系统在“没有货”的情况下先出了库,AVCO 无法得到真实成本。 补货后,成本可能出现跳变,历史销售成本也很难追溯。

上线前必须做:清理负库存,或在切换前完成盘点。

风险 C:单位和箱规错误​

如果商品库存单位是 CTN-12,采购按“盒”报价 AUD 3/盒,且“盒”与“CTN-12”的计量单位换算关系正确,Odoo 会按换算后的单位成本计价。 真正的风险是计量单位类别不兼容,或换算比例维护错误;这会导致入库价值和 AVCO 结果失真。

上线前必须做:抽查采购单位、库存单位和供应商报价单位的换算关系及比例,不要仅凭单位名称不同就判断价格错误。

风险 D:手工修改商品成本​

AVCO 下手工修改“成本”不只是改一个数字,而是形成一次成本重估。 它会改变库存价值,并影响后续销售成本。

规则建议:

  • 普通采购员、仓库员、销售员不得修改商品成本。
  • 只有老板指定人员或实施顾问可以修改,并需记录原因。
  • 每月由财务抽查成本变动记录。

风险 E:切换时点选错​

在有大量未完成收货、未完成发货或盘点差异时切换,容易造成前后口径混乱。

建议切换时点:

  1. 完成一次盘点。
  2. 清理负库存。
  3. 补齐期初成本。
  4. 暂停收发货或选择业务低峰。
  5. 切换后抽查 10 到 20 个主力 SKU 的库存价值和毛利。

风险 F:把成本方法当成仓库拣货规则​

选择 FIFO 成本法,不会自动让仓库先发最早到期的食品。 临期食品仍然需要批次、有效期和 FEFO 拣货策略配合。

6. 常见问题​

Q: 能不能不同商品用不同成本方法?​

可以,但会增加解释和核对成本。 本项目建议可售库存商品统一 AVCO,特殊类别单独评估,并在上线前形成清单。

Q: 商品成本为什么不能直接手改?​

在 AVCO 下,成本是库存价值的平均结果。 手改相当于告诉系统“这批库存现在值另一个价”,必须有财务依据。

Q: 我只改商品档案里的成本,会影响已经卖出的订单吗?​

已经完成的出库通常保留当时计算的成本。 但修改会改变当前库存价值和后续销售成本,仍需按成本重估管理。

Q: 总账系统已经算成本了,Odoo 还要设置吗?​

要。Odoo 仍要用成本计算销售毛利、库存价值和采购差异。 只是 Odoo 不必承担正式总账入账,期末由月结会计核对库存价值即可。

7. 一句话记住​

第一阶段优先用 AVCO 求“稳”,第二阶段用到岸成本求“准”。 没有准确的采购单价,AVCO 只是把错误平均;到岸成本分摊支持 AVCO 和 FIFO 商品,标准成本商品则不能作为分摊对象。