系列第 09 篇 · 核心概念
老何的「同一笔账,三种利润」
老何在福州做白酒经销,年营业额 800 多万。
去年年底他做了一件「奇怪的事」——
同一批账目,他让财务用三种不同的成本算法各算了一遍利润。结果出来:
| 算法 | 算出的年利润 |
|---|---|
| 先进先出(FIFO) | 142 万 |
| 移动加权平均 | 128 万 |
| 后进先出(LIFO) | 115 万 |
同样的进货、同样的销售、同样的库存——利润差出 27 万。
老何当场就懵了。他问财务:「那我到底赚了多少?」
财务说:「都是真的,看你怎么算。」
老何后来跟我讲这个故事时说:「我做了 10 年生意,第一次知道利润这玩意儿,是可以「算出来的」。」
这一篇,我们就把进销存系统里最绕的一件事——成本价怎么算——一次讲清。
为什么成本价会有不同算法
如果每次进的货都是同一个价,问题就不存在了。
但现实中,同一个商品,不同时间进的成本完全不同:
- 1 月进 100 瓶茅台,每瓶 1500
- 3 月进 100 瓶,每瓶 1550
- 6 月进 100 瓶,每瓶 1620
- 10 月进 100 瓶,每瓶 1700
现在 11 月,客户要了 250 瓶——你按哪个价算成本?
- 全按 1500?
- 全按 1700?
- 取个平均数?
不同的算法,会得出完全不同的「单瓶成本」,进而影响「这单赚了多少」。
这就是为什么进销存系统必须预先设定一种「成本核算方法」。
主流的四种算法
1. 先进先出(FIFO,First In First Out)
思路:先进来的货,假定先卖出去。
老何卖那 250 瓶茅台的成本:
- 先消耗 1 月那 100 瓶:100 × 1500 = 150,000
- 再消耗 3 月那 100 瓶:100 × 1550 = 155,000
- 再消耗 6 月那批的 50 瓶:50 × 1620 = 81,000
- 总成本:386,000
- 平均成本 = 1544 元/瓶
剩下的 150 瓶库存(6 月 50 + 10 月 100)成本是:
- 50 × 1620 + 100 × 1700 = 251,000
2. 后进先出(LIFO,Last In First Out)
思路:后进来的货,假定先卖出去。
同样卖 250 瓶:
- 先消耗 10 月那 100 瓶:100 × 1700 = 170,000
- 再消耗 6 月那 100 瓶:100 × 1620 = 162,000
- 再消耗 3 月那批 50 瓶:50 × 1550 = 77,500
- 总成本:409,500
- 平均成本 = 1638 元/瓶
3. 移动加权平均(Moving Weighted Average)
思路:每次进货后,把库存的总成本和总数量重新算一次平均价。
举个简化的例子:
- 1 月进 100 瓶 @ 1500,库存成本 150,000,库存 100 瓶,平均价 1500
- 3 月进 100 瓶 @ 1550,库存成本 305,000,库存 200 瓶,平均价 1525
- 6 月进 100 瓶 @ 1620,库存成本 467,000,库存 300 瓶,平均价 1556.67
- 10 月进 100 瓶 @ 1700,库存成本 637,000,库存 400 瓶,平均价 1592.5
11 月卖 250 瓶时,每瓶成本就用当时的平均价 1592.5—— 总成本:250 × 1592.5 = 398,125
4. 全月一次加权平均
思路:每月底统一算一次平均成本,本月内卖的所有货都用这个平均价。
跟「移动加权」类似,区别是:
- 移动加权:每次进货立刻重算
- 全月一次:当月只算一次
老式的财务软件多用「全月一次」,进销存软件多用「移动加权」。
配图:四种算法对比
| 算法 | 卖货时取哪个成本 | 利润表现 | 操作难度 |
|---|---|---|---|
| FIFO(先进先出) | 最早进的那批 | 涨价期偏高 / 跌价期偏低 | 中等(需追踪批次) |
| LIFO(后进先出) | 最近进的那批 | 涨价期偏低 / 跌价期偏高 | 中等 |
| 移动加权 | 即时平均价 | 平滑、稳定 | 容易(系统自动) |
| 全月一次加权 | 当月平均价 | 平滑、月内一致 | 容易 |

哪种算法选哪个
看「商品本身」适合哪种
| 商品类型 | 推荐算法 | 原因 |
|---|---|---|
| 有保质期的(食品、药品) | 先进先出 | 实物上就必须先卖旧的 |
| 标准品、单价稳定(五金、日用品) | 移动加权 | 简单稳妥,差异小 |
| 价格波动大(白酒、奢侈品、电子产品) | 先进先出 或 移动加权 | 看老板的偏好 |
| 大宗商品、原材料 | 移动加权 或 全月加权 | 出入频繁,FIFO 太累 |
| 单件价值高(豪车、珠宝、手机) | 个别计价法 | 每件单独记成本 |
看「行业惯例」和「税务要求」
- 中国会计准则允许 FIFO、加权平均、个别计价,不允许 LIFO(注意这一点)
- 美国和部分国家允许 LIFO
所以你看到的国内大多数进销存软件,默认只提供 FIFO 和加权平均。
看「你想看到什么样的利润表」
| 你希望的效果 | 选什么 |
|---|---|
| 利润数据平滑、波动小 | 加权平均 |
| 利润反映「真实卖的那批的成本」 | FIFO |
| 价格涨时报税少(避税思路) | LIFO(中国不让用) |
老何后来怎么选的
老何最后选了 移动加权平均,原因有三个:
- 白酒虽然单价高,但同一款的差异没那么大
- 加权平均算出来的利润更平滑,老板心理舒服
- 不用追踪批次,财务工作量小
但他对茅台、五粮液这种高端单品单独设置了 FIFO——这种货价格波动剧烈,FIFO 能反映出"我手里这批是几月进的价",老何决定卖不卖、卖多少时更有依据。
一个常被忽略的点:销售成本 vs 库存成本
成本算法不只影响「这单赚了多少」,还影响「我现在库存值多少钱」。
回到老何的例子,11 月底剩 150 瓶茅台:
| 算法 | 库存价值(150 瓶) |
|---|---|
| FIFO | 251,000(6 月剩 50 + 10 月 100) |
| LIFO | 230,000(1 月剩 50 + 3 月 100) |
| 移动加权 | 238,875(150 × 1592.5) |
差距能到两万多块——这笔钱在「资产负债表」里直接影响公司账面价值。
银行看你贷款资质、税局看你资产规模时,你库存值多少钱是个硬指标。
进销存系统通常怎么处理
打开任何一套主流进销存系统,新建商品时一般会有一栏:
成本核算方式:[ 移动加权 ▼ ]
- 移动加权(默认)
- 先进先出
- 全月一次加权
- 个别计价(高级版)
一旦选定,原则上中途不能改——改一次就会让历史数据全部错位。
所以系统上线前,要想清楚每个商品该用哪种。
三个老板最常踩的坑
坑一:按「最近进货价」当成本
很多没系统的老板,凭脑子算成本时就是这个思路—— 「我最近这批进价 1700,那我这单卖 2000 就赚 300」。
错。你卖的可能是 1 月那批 1500 进的,真实成本是 1500,你赚 500 而不是 300。
或者反过来——价格在跌,你卖的其实是去年高价进的,亏的钱你都没发现。
坑二:用「售价 - 进价」算毛利
这是「最近进价」误区的另一种说法。
正确的毛利公式是:售价 - 加权成本(或 FIFO 算出的实际成本)。
不是售价 - 最近进价、不是售价 - 平均进价、不是售价 - 你脑子里那个数。
坑三:年中换算法
老板换会计、换系统、心血来潮换设定——结果整个利润表前后矛盾。
正确做法:算法一旦定下来,原则上一年内不动。要改,也只在新年度开始时改,并保留切换说明。
一个高级话题:成本里包括什么
到目前为止,我们说的"成本"指的是进货价。但完整的成本通常还包括:
- 运费(货从供应商运到你仓库的费用)
- 入关税 / 关税
- 采购员的提成 / 差旅(可选)
- 仓储费(可选)
- 保险费(可选)
是否纳入,看公司核算颗粒度。一般做法:
- 小店:成本 = 纯进货价(简单实用)
- 中型企业:成本 = 进货价 + 直接运费
- 集团 / 上市公司:完整加上分摊费用
总结成一张速查表
| 你想要 | 选哪个 |
|---|---|
| 简单、稳妥、系统默认 | 移动加权 |
| 真实反映批次成本 | 先进先出 |
| 财务月底统一算 | 全月加权 |
| 高单价、唯一性强 | 个别计价 |
| 避税(中国不可用) | 后进先出 |
一个判断题
如果你看不出该选哪个,问自己一个问题——
如果我的进货价从来不变(永远都是同一个价),这四种算法会有差别吗?
不会。差别只在「价格在变」的时候。
所以核心是:你的进货价波动有多大?老板想要什么样的利润呈现?
想清楚这两个,选什么自然就清楚了。
老何最后说的一句话
老何理解了这套之后,跟我感慨:
我现在终于懂了—— 利润不是「赚出来的」,是「算出来的」。 进销存这事,规则比直觉重要。
留个问题给你:
你的店里现在用的是哪种成本算法?如果不知道,可能就是个隐患。欢迎留言。
下一篇预告:《毛利、净利、毛利率,系统里的数到底信哪个》——比成本算法更绕的,是利润分类。一次讲清。