客户问你能不能周五前发出 30 件货。你的会计软件显示货架上有 34 件,于是你答应下来,接下了订单。周一早上仓库告诉你真实数字是 11 件——上个季度有两打货悄悄消失了,原因包括损坏、收货时点数出错,还有一箱谁也说不上来去哪了,而你的账本压根没察觉,因为账本只有在有人去点数时才知道你到底有多少货。现在你得打电话给客户,对部分发货打折,还得解释为什么销货成本突然跳升,而没人能逐项说清原因。
账本上说的和货架上有的之间的这个缺口,不是记账错误,而是系统选择的问题。每一家销售实物商品的企业,运行的都是两种存货系统之一——永续盘存制或定期盘存制——这个选择决定了你的账本是在持续追踪存货,还是在事后重建它。选错了,你要么为从不使用的实时精确性白花钱,要么在两次盘点之间盲目飞行,让损耗悄悄吞噬你的利润。
用大白话说清两种系统
永续盘存制在每笔交易时更新存货。 每次采购都把数量加进存货账户;每次销售都在同一时刻扣减数量并记录销货成本。分类账始终显示当前余额——理论上,你周二下午三点想查任何一种商品的库存,不用离开办公桌就能查到。销售点系统、条码扫描器和存货软件是让这件事可行的机器:每一次扫描都是一笔会计分录。
定期盘存制只有在有人盘点时才更新存货。 在两次盘点之间,存货账户冻结在最后一次盘点的价值上。期间内的采购进入一个临时暂存账户——通常叫"采购"(Purchases)——而销售只记录收入,完全不涉及存货变动。期末时,有人实地清点所有东西,销货成本则用算术倒推出来:期初有的,加上期间买的,减去剩下的,必然是卖掉的(或丢掉的)。
| 永续盘存制 | 定期盘存制 | |
|---|---|---|
| 存货余额 | 每次销售和采购时更新 | 仅在实地盘点后更新 |
| 销货成本 | 在每笔销售发生时记录 | 每期从盘点结果计算一次 |
| 期间内的采购 | 直接借记存货 | 借记采购暂存账户 |
| 实地盘点 | 循环盘点以核实系统 | 全盘点,由它生成期末数字 |
| 最适合 | 大量 SKU、高交易量、多地点 | 少量 SKU、低交易量、运营简单 |
| 成本 | 软件、扫描器、收货纪律 | 盘点的人工时间,工具需求极少 |
两种系统都不能免除实地盘点——这是第一个要破除的迷思。永续记录会因盗窃、损坏、录入失误和供应商短装而与现实脱节,所以任何永续运营仍要靠盘点来核实。区别在于盘点起什么作用:在永续制下,它校正和审计一个持续更新的余额;在定期制下,它从零生成当期的数字。
两种系统如何计算销货成本
这正是两种系统在账面上的分歧所在,理解其机制才能让你批判性地阅读自己的报表。
永续盘存制:每笔销售两笔分录
每笔销售触发一对分录。第一笔记录收入侧——借记现金或应收账款,贷记销售收入。第二笔记录成本侧——按实际发出单位的成本借记销货成本、贷记存货。如果你以每件 15 美元卖出 20 件成本 8 美元的商品,成本分录会在 300 美元收入入账的同一时刻,把 160 美元从存货转入销货成本。
由于成本是按单位逐件结转的,系统需要一个成本流转假设——先进先出、加权平均或类似方法——来决定当相同的商品以不同价格购入时,哪一张 8 美元的成本被结转出去。因此留下的存货余额是一个已计价的记录,而不只是一个数量。
定期盘存制:每期一个公式
在定期制下,销售只记录收入。所有采购活动累积在"采购"账户(加上运费和采购退货等辅助账户),存货账户则整期保持期初余额不动。然后盘点来临,销货成本从经典公式中落出:
销货成本 = 期初存货 + 净采购 − 期末存货
净采购指采购加上运入运费,减去采购退货与折让,再减去已享的购货折扣。用整数算一遍:期初存货 1,000 美元,采购 8,000 美元,期末盘点价值 1,920 美元,销货成本就是 7,080 美元。然后一笔复合结账分录把存货账户设为盘点出的 1,920 美元,清空采购账户,并把 7,080 美元的差额记入销货成本。
注意这个公式假设了什么:凡是不在货架上的,都是以盈利方式卖掉的。盗窃、变质、破损和盘点错误全都无形地抬高了同一个销货成本数字。在定期制下,一个失窃问题看起来和健康的销售量一模一样。仅这一个事实,就比任何其他因素推动了更多企业升级到永续制。
"采购"账户详解
新手常常在"采购"账户上栽跟头,因为它看起来像费用,其实又不完全是。把它想成一个中转站:期间内它归集每一笔商品采购——借记采购,贷记现金或应付账款——而存货这个资产账户则在一边等待。运入运费(Freight-In)累积属于存货成本的送货费用,采购退货与折让以及购货折扣则作为抵减采购累积,缩小净采购额。
期末时,所有这些临时账户全部结清。它们的净额流入销货成本的计算,账户则归零进入下一期。如果你看到"采购"余额在年结后依然存在,那就是出问题了——这些账户在每个期间的第一天都应该为空。审计师恰恰会查这一点,因为一个残留的采购余额通常意味着结账分录被跳过,存货和销货成本双双有误。
永续盘存制要运作起来需要什么
纸上谈兵的话,永续盘存制是更好的系统,但它也是失败方式更多的系统,因为它的准确性取决于每一笔交易都被记录下来。在切换之前,确保你能为全部四项要求买单:
一个能扣减库存的销售点。 每笔销售都必须自动减少该商品的数量。现代 POS 软件原生就能做到,许多入门级套餐也包含此功能——一些零售 POS 的存货附加模块每家店每月大约 25 美元,这让永续制对单店商家也可行,而不仅仅是连锁店。
收货和销售时的扫描。 手工录入数量就失去了意义;一台手持条码扫描器价格远低于 200 美元,第一次抓到供应商短装就回本了。对没有条码到货的商品自己打印标签,并且两个方向都扫——进货和出货。
收货纪律。 卸货区是永续系统送命的地方。每批到货都必须对照采购订单核对,短缺、损坏和替换品都要在箱子离开卸货区之前登记。未记录的收货会往后抬高销货成本;未记录的损坏会低估损耗,而货架却悄悄空了。
一个处理异常的人。 永续制会产生异常报表——负的在库数量、从未收货却卖出的商品、单个 SKU 上剧烈波动的利润率。这些报表才是系统真正的产出。安排一个人和每周固定时段去清理它们,否则持续更新的余额会在一季度内退化成虚构。
如果这份清单听起来超出你能配备的运营能力,那是有用的信息。一个运行良好的定期系统胜过一个人人都不维护的永续系统——看似自信但错误的数字,比诚实近似的数字更糟。
循环盘点:两种系统都需要的核实习惯
一次全盘点——关门停业、清点所有东西、花几天核对——扰民程度太大,多数企业最多一年做一次。循环盘点用频繁的小盘点取代这个年度煎熬:每天或每周盘一部分 SKU,按轮换覆盖整个仓库,一个季度走完一遍。运营从不中断,差异几天内浮现而非几个月后,员工也在实践中越盘越熟练。
回报最高的是按风险盘,而不是按字母顺序。按价值乘以周转速度给商品排序,最高层级每周盘,中间层级每月盘,慢动长尾每季度盘——你畅销品上 2% 的错误,代价高于一个积灰备件上 20% 的错误。每次循环盘点都应以三种结果之一收尾:系统是对的(什么都不做)、系统因已知原因错了(修正造成错误的流程)、系统因未知原因错了(记为损耗并留意规律)。
损耗的算术简单又令人清醒。用无法解释的损失金额除以记录的存货价值:30,000 美元的损耗对 1,500,000 美元的账面存货,就是 2% 的损耗率。在永续制下,这 2% 会表现为一个可见的账实缺口,你可以按 SKU、班次和地点去调查。在定期制下,它溶进销货成本里。无论哪种,钱都没了——问题在于你的系统有没有告诉你该往哪里看。
用纯文本账本追踪任一系统
从第一天起就准确记账,能避免这些系统造成的年末忙乱,因为存货分录如果随发生随记录就很轻省,如果把一整年的一次性重建就会很痛苦。在纯文本账本中,结构是显式的:为在库存货、在途采购和销货成本分设账户,让每个系统的活动部件保持可见,而不是被净额化进一个不透明的余额里。
一笔永续制风格的销售,20 件货、每件成本 8 美元,承接此前 100 件同价采购,看起来是这样——注意销售日当日成对的收入和成本分录:
2026-10-03 * "Receive 100 units from supplier at 8.00 USD each"
Assets:Inventory:Widgets 800.00 USD
Liabilities:AccountsPayable:Supplier -800.00 USD
2026-10-05 * "Sell 20 units at 15.00 USD each"
Assets:Checking 300.00 USD
Income:Sales:Widgets -300.00 USD
2026-10-05 * "Relieve inventory for 20 units sold at 8.00 USD cost"
Expenses:COGS:Widgets 160.00 USD
Assets:Inventory:Widgets -160.00 USD同一家企业在定期制下,把采购记入暂存账户,只在结账时动存货。期初存货 1,000 美元、期间采购 8,000 美元、期末盘点 1,920 美元,一笔复合分录设定资产并倒推出 7,080 美元的销货成本:
2026-10-03 * "Receive goods — periodic system stages in Purchases"
Expenses:Purchases:Widgets 800.00 USD
Liabilities:AccountsPayable:Supplier -800.00 USD
2026-12-31 * "Periodic close — ending count 1,920.00 USD against 1,000.00 USD beginning"
Assets:Inventory 920.00 USD
Expenses:COGS 7,080.00 USD
Expenses:Purchases:Widgets -8,000.00 USD随着交易量增长,两种结构都保持可读,因为账户名称承载了系统的逻辑。关于用这种方式组织账户和报表的背景,参见 Beancount 入门和财务报告模板,并用 Fava 这样的仪表盘视图按月观察存货和利润率趋势。
哪种系统适合你的企业
诚实地过一遍这五个问题。如果多数答案落在左边,定期制对你就够用;如果落在右边,是时候转向永续制了。
你有多少个 SKU? 少于几十种不同商品,一次定期盘点是下午就能搞定的事,还能保持准确。超过几百种,全盘点就变成停业好几天的折磨,光这一点痛苦通常就足以证明永续制加循环盘点的价值。
每天有多少笔交易? 日交易量低意味着两次盘点之间缺漏的变动少。交易量高意味着货架不断周转,季度盘点在核对表填完之前就已经过时了。
有多少个地点? 一个十分钟能走完的房间是可盘的。两家门店、一个仓库,再加上城另一头的一个寄售货架就不可盘了——地点之间的调拨在定期制下会消失,而永续制可以追踪每一次移动。
你的利润率有多薄? 一家毛利率 60% 的企业能吸收一些看不见的损耗。一家毛利率 8% 的杂货商或分销商不能;未被发现的利润率两点的流失就是四分之一的利润,而只有永续制能在还能行动时把它显示出来。
你能配备这份纪律吗? 没有收货纪律和异常复核的永续制是两者中最糟的组合。如果你无法投入每周的时间,就先把定期制做好——按计划盘点、锁好库房、调查差异——直到你有能力为止。
留意你已经超出定期制承载能力的三个信号:账本上说你有的商品却缺货;销货成本占销售的百分比上升而背后没有供应商调价;盘点占用了营业日。任何一个信号都意味着,盘算倒推现在的代价已高于永续制机器所需的花费。
要避免的常见错误
- 用着永续制软件,却保留着定期制的习惯。 买了 POS 和扫描器却跳过收货扫描,会产生看似精确、实则错误的余额。硬件是便宜的部分;扫描纪律才是系统本身。
- 把定期制销货成本当成精确数字。 它是一个塞入值,吸收着损耗、损坏和一切盘点错误。要把它读作"不再在货架上的商品",而不是"以盈利方式卖掉的东西",并在百分比变动时去调查。
- 一年只盘一次,中间没有循环盘点。 十一个月的漂移让年度核对变成一场取证调查。每月或每周的小盘点让每笔差异都小到可以解释。
- 在同一套账里混用两种系统。 一边把采购借记进存货,一边又跑定期结账公式,会重复计库存。每家企业只选一种管路设计,并让每笔分录都与之一致。
- 在净采购里忘了运入运费和采购退货。 送货费用是商品成本的一部分,退回的商品其实从未被真正购买。两者都调整公式,两者都容易漏在错误的账户里。
- 注销账实缺口时不记原因代码。 每笔调整都应带有原因——损坏、供应商短缺、盗窃、录入错误——否则规律永远不会浮现。你分了类的损耗是一个可解决的问题;你耸耸肩不看的损耗,是你卖的所有东西上的一道税。
选择之前先做本周的测试
调出你最近三个月的记录,用数字而不是印象回答两个问题:上一次全盘点占用了你多少营业日,销货成本占销售的百分比逐月漂移了多少?如果盘点耗掉你好几天、百分比又无故摇摆,这周就去询价一个 POS 存货附加模块和一台条码扫描器——硬件花费比再来一个盲目的季度更少。如果盘点只花了下午半天、百分比保持稳定,就留在定期制,把省下的钱用在你价值最高的十个 SKU 的循环盘点轮换上。无论哪种,你的下一次盘点都将衡量一个你有意选择的系统,而不是一个你默认继承的系统。





