Nordlet

← 文档 / 术语表

什么是 FIFO?存货计价方法对比

FIFO 成本层的工作原理、与加权平均法的实例对比、为什么欧盟会禁止 LIFO,以及永续 FIFO 引擎是如何消耗成本层的。

FIFO(先进先出,first in, first out)是一种成本流转假设:当你售出一件存货时,你结转的是你手中最早购入的那件存货的成本。它回答了一个在物理上没有固定答案的问题。如果你以 10 欧元、12 欧元和 11 欧元的单价分别购入了三件相同的部件,当你售出一件时,究竟是哪个成本离开了库房?

由于各个单件无法区分,会计上便选择了一条规则。你所选择的规则会同时影响你的报告利润和资产负债表,这就是为什么这是一项政策选择,而不仅仅是一个技术细节。

成本层的工作原理

FIFO 将每次采购视为一个带有自身数量和单位成本的层(layer),并按它们到达的先后顺序进行消耗。

初始位置:

层 收货日期 数量 单位成本 金额
1 1 月 3 日 100 10.00 1,000
2 2 月 14 日 100 12.00 1,200
3 3 月 2 日 100 11.00 1,100
300 3,300

售出 150 件。FIFO 从第 1 层提取全部 100 件,从第 2 层提取 50 件:

销售成本 (COGS) = (100 × 10.00) + (50 × 12.00) = 1,600
剩余存货 = (50 × 12.00) + (100 × 11.00) = 1,700

此时第 1 层已耗尽,第 2 层还剩 50 件,第 3 层保持不变。下一次销售将从第 2 层开始。

方法对比

同样的单次采购,同样的 150 件售出量,售价为 3,000 欧元:

方法 销售成本 (COGS) 期末存货 毛利
FIFO 1,600 1,700 1,400
加权平均法 1,650 1,650 1,350
LIFO(欧盟不允许) 1,700 1,600 1,300

加权平均法使用一个混合成本——在永续系统中,每次采购后重新计算得出 3,300 ÷ 300 = 每件 11.00 欧元。它平抑了价格波动,并且更容易解释,但代价是它永远无法匹配任何实际的交易。

**LIFO(后进先出)**优先结转最新的成本。在价格上涨时,它报告的利润最低,因此纳税也最少,这正是它在美国广受欢迎但在 IFRS(《国际会计准则第 2 号——存货》(IAS 2))下被禁止的原因。它使得资产负债表上的存货价值停留在陈旧的价格上,与当前成本毫无关系。按照 IFRS 或与之对齐的本国 GAAP 报告的欧盟公司不能使用该方法,而立陶宛企业会计准则允许使用 FIFO 和加权平均法。

注意其中的规律:**当价格上涨时,FIFO 报告的利润更高,存货价值也更贴近当前水平。**较旧、较便宜的成本计入利润表,而较新、较贵的成本留在资产负债表中。在价格下跌时,情况则正好相反。在任何情况下,这两种方法都不是绝对“保守”的。

在 FIFO 与加权平均法之间做出选择

  • FIFO 贴合易腐烂或有保质期的物品的实物流转,使资产负债表上的存货接近当前成本,并能生成审计线索,使每次销售的成本都能追溯到具体的收货记录。
  • 加权平均法 适合大宗商品和同质散装货物,能够减弱价格波动对利润的影响,且需要更少的记账工作。

无论采用哪种方法,都适用两个限制条件。一致性:你不能为了今年能算出好看的数字而随意切换方法。成本与可变现净值孰低:如果存货价值低于其成本,则须计提跌价准备——成本流转假设决定的是成本,而不是价值。

永续盘存制与定期盘存制

永续系统在每次交易时都会更新存货和销售成本 (COGS),因此两者的数值在任何时刻都是准确的。定期系统在期末盘点库存,并通过差额推算销售成本:

销售成本 (COGS) = 期初存货 + 采购额 − 期末存货

定期盘存制的成本较低但处于盲区——在盘点之前你无法得知毛利率,且损耗是不可见的,因为它被默默地折算进了销售成本中。永续盘存制则是任何实时系统都会采用的做法,它正是让存货差异能够被察觉的原因:你的记录显示有 300 件,盘点显示有 297 件,这其中的差额是一个需要解释的真实事件。

Nordlet 的 FIFO 引擎是如何工作的

存货采用永续 FIFO 制,通过真实的成本层而不是移动平均来实现。

每一次入库——采购收货、生产产出、盘盈——都会生成一行带有数量、单位成本和剩余数量的移动记录。当存货被消耗时,引擎会选择剩余数量大于零的成本层,按日期及创建顺序排序,并扣减每个层的剩余数量,直至满足所需数量为止。跨越三个层的消耗会产生一个由三个不同单位成本组合而成的成本,正如上文的实例所示。

这一设计带来了几个值得了解的结果:

  • 存货价值始终可以推算,即所有开放层中“剩余数量 × 单位成本”的总和。这正是 POST /v1/reports/stock-balance 报告的内容,它能与总账 (general ledger)中的存货科目核对无误,因为销售成本会在消耗发生的瞬间过账。
  • 存货账龄是真实存在的,而非估计值:/v1/reports/stock-aging 按照收货日期将剩余的成本层进行分段,因此你可以看出价值 12,500 欧元的存货中,有 3,000 欧元是 90 天前收到的。
  • 到岸成本 (landed costs)会直接调整成本层本身。 收货后分摊的运费会提高仍在持有存货的那个层的单位成本,而已售出的存货不会被追溯调整,从而保持了已结账期间的封闭性。
  • 库存不足时系统会拒绝过账,而不会产生负库存,因此总账中绝不会出现实际上并不存在的存货。

客观的范围:FIFO 是目前唯一实现的成本流转方法。系统不提供加权平均选项,也没有按序列号进行特定辨认的追踪,存货按成本计价——自动计提可变现净值跌价准备需要通过参考账龄报告来进行手动凭证录入 (journal entry)。

FAQ

会计学中的 FIFO 是什么意思?

先进先出:库存中最旧的存货成本最先结转至销售成本,最近采购的成本留在期末存货中。这是一种成本流转假设,并不要求货物必须按这个顺序在物理上进行移动。

FIFO 等同于在物理上优先销售最旧的库存吗?

不是,尽管它们经常刚好一致。FIFO 关乎的是结转哪一个成本;货物的物理轮换则是仓库管理的操作。你可以采用 FIFO 计本,同时发运离门最近的任何一个纸箱。

为什么欧盟不允许使用 LIFO?

《国际会计准则第 2 号》(IAS 2)禁止使用 LIFO,因为它让资产负债表上的存货按过时的成本计量,从而歪曲了实际持有的存货价值。与 IFRS 对齐的欧盟框架也遵循同样的禁令;FIFO 和加权平均法是被接受的方法。

FIFO 的利润会比加权平均法更高吗?

当采购价格上涨时,是的——FIFO 将更旧、更便宜的成本计入销售成本,并将更新、更贵的成本留在存货中。当价格下跌时,情况则会反过来。这两种方法在任何情况下都不是绝对更保守的。

我可以更改存货计价方法吗?

只有在有充分理由并进行适当披露的情况下才可以。一致性是核心会计原则,正是因为切换方法会改变报告的利润,而设立该原则的目的正是为了防止投机取巧地进行方法切换。