Beancount.io LogoBeancount.io

自动售货机线路簿记:对账现金、跟踪销售成本以及了解每个地点的真实利润

阅读需 2 分钟Mike ThriftMike Thrift
自动售货机线路簿记:对账现金、跟踪销售成本以及了解每个地点的真实利润

从外部看,自动售货机线路生意似乎简单得近乎迷惑。你只需在休息室放一台机器,装满薯片和苏打水,每隔几周回来收集钞票和硬币即可。记账看起来同样简单——直到它变得不再简单。

这是一个大多数新经营者在经历痛苦后才学到的残酷事实:一个拥有 20 台机器、每台每月营业额 300 美元的线路,并不是一个每月 6,000 美元的生意。它是 20 个独立的微型业务,其中一些可能正在悄悄地亏钱,而盈利的机器则在维持局面。如果没有机器层级的账目,你就无法区分孰优孰劣。你只看到了入账存款和开市客(Costco)的收据,并假设中间的一切都是利润。但事实往往并非如此。

本指南将介绍真实的线路记账流程——如何根据远程监控数据对账现金和刷卡收款,如何按机器追踪销货成本和站点佣金,以及如何衡量每个站点的真实边际贡献,从而让你知道哪些机器可以维持现状,哪些需要优化,而哪些应该撤掉。

为什么需要按机器记账,而不仅仅是按业务记账

对于报税来说,整个线路的合并损益表就足够了。但对于经营业务来说,它毫无用处。原因在于,自动售货机的经济模式受到两项成本的主导,而这两项成本随地点的不同而剧烈波动:

  • 销货成本 (COGS) —— 通常占总销售额的 40% 到 60%,取决于你是在开市客购买、从直接分销商处购买,还是通过饮料装瓶商线路采购。
  • 站点佣金 —— 你为获得摆放权而支付给物业持有者的百分比。通常范围在总销售额的 5% 到 25% 之间,但封闭式办公园区可能会免费提供空间,而繁忙的医院食堂可能会抽取 25% 的利润。

再加上无现金处理费(刷卡交易的 5% 到 10%)、远程监控订阅费、维护每个站点的燃油和时间成本,以及每年的机器折旧分摊,一台“每月 400 美元”收入的机器,其经营者层级的净利润率可能从负数到 40% 不等。在合并损益表中你看不出这种波动,只有在机器层级的账目中才能看到。

本指南的目标是为你提供一个会计科目表、一套对账流程和一份边际贡献报告结构,以便你能针对线路上的每一项资产回答一个简单的问题:这台机器赚的钱够支付维护它所需的油钱吗?

围绕机器构建会计科目表

大多数记账系统默认按类别组织收入和支出——“销售额”、“销货成本”、“燃油”。对于线路业务来说,这是一个错误的框架。正确的框架是将机器(如果每个站点有多台机器,则为站点)作为主要的成本中心,类别则归属于其下。

一个小型线路的实用会计科目表大致如下:

  • 收入 (Income)
    • 自动售货销售 — 现金
    • 自动售货销售 — 无现金(信用卡/移动钱包)
    • 退款
  • 销货成本 (Cost of Goods Sold)
    • 零食
    • 饮料
    • 硬币和纸币备用金(在硬币短缺时消耗)
    • 损耗 / 过期库存
  • 直接经营费用 (Direct Operating Expenses)
    • 已付站点佣金
    • 无现金处理费
    • 远程监控 / DEX 订阅
    • 蜂窝网络与连接
    • 维修与保养
    • 零件
  • 间接 / 线路费用 (Indirect / Route Expenses)
    • 车辆燃油
    • 车辆里程报销
    • 仓库 / 车库租金
    • 保险
    • 记账与报税准备
  • 资本 (Capital)
    • 机器折旧(分配)
    • 设备维修(资本化)

为每条分录标记 machine_id(机器 ID)或 location_id(站点 ID)以及 route_date(线路日期)。在电子表格中,这意味着一列用于机器,一列用于日期,一列用于类别,一列用于金额。在 Beancount 等纯文本账本中,你可以使用账户子段(Income:Sales:Cash:M-014),或者更灵活地使用元数据标签(#machine-014),这样可以在保持账户树简洁的同时,依然能够按机器进行切片分析。

原则是相同的,无论使用什么工具:没有机器标签的交易应该是特例,而不是常态。

每次维护访问时根据远程监控数据对账现金

自动售货机经营者能养成的最重要的习惯,就是在每次维护访问时,将现金袋里的钱与仪表读数进行对账。这是发现盗窃、卡币器故障、硬币机故障以及(令人尴尬地经常发生的)记账错误的关键。

现代自动售货机使用一种名为 DEX(数据交换)的协议,它会公开审计计数器:每种商品卖出了多少、收到的现金总额、无现金交易总额以及免费赠送总额。远程监控设备——如 Nayax、Cantaloupe、365 Retail Markets、Parlevel 等——通过蜂窝连接读取 DEX 数据,并将其推送到你可以随处查看的仪表盘。

一次规范的对账在每次访问时应该是这样的:

  1. 读取自上次维护以来的 DEX 现金计数器增量。称之为“预期现金”。
  2. 从机器中取出纸币和硬币并清点。称之为“实际现金”。
  3. 差异应该为零。持续的正差异(实际现金多于 DEX 记录)通常意味着机器售出了免费产品(开门测试或测试模式未关闭)。负差异(实际现金少于 DEX 记录)意味着少收了钱、纸币器卡币或发生了盗窃。
  4. 记录预期现金实际现金。将差异记入一个单独的账户(例如:现金盈亏),并标记对应的机器标签。不要悄悄地将其混入销售额中。
  5. 以同样的方式对账无现金部分。DEX 无现金计数器增量应与刷卡处理商为该机器存入的金额一致(减去处理费)。

从长期来看,一台健康的机器其累计现金盈亏余额应接近于零。当某台机器开始出现长期的亏空时,这就提醒你需要更换纸币器、审计线路司机,或者与站点联系人进行一次艰难的谈话。如果没有按机器对账,这些信号都将无从察觉。

正确记录场地佣金

场地佣金比其他任何费用类别都更容易让自动贩卖机运营商出错。错误的做法是将佣金与存款冲抵——例如,在场地抽取 15% 佣金后,将 400 美元的总销售额记录为 340 美元的净销售额。这掩盖了销售税申报所需的总销售额行项,并使销货成本 (COGS) 的比例看起来比实际情况更糟。

正确的方法:

  • 总销售额以收取的全额零售价记入 Vending Sales(贩卖销售)。
  • 支付的佣金作为费用记入 Site Commissions Paid(已付场地佣金),并标记到同一台机器。
  • 如果你按月通过支票或 ACH 支付场地费用,请根据该月的贩卖销售额在每月末计提 (accrue) 佣金,即使实际支付时间较晚。这能让机器级别的损益保持在权责发生制基础上,防止 12 月的销售额变成 1 月的费用。

对于按销售百分比分配的协议,计算很简单:将该期间的总销售额乘以合同百分比。对于固定费用协议,将费用按月分摊。对于阶梯式或收入分成合同,请将公式写在合同扫描件旁边的电子表格中,这样你就永远不必凭记忆重新计算。

还有一个细微之处:在某些州,支付给场地的佣金不能从欠缴的销售税中扣除。销售税是根据总零售价计算的,而不是根据佣金后的净额。混淆这两者会导致多年少缴销售税,直到审计员发现为止。

在机器层面计算销货成本

COGS 是自动贩卖业务中最大的单项支出,也是运营商最常猜测的一项。在线路上跟踪它的清晰方法是在每次补货装入机器时计算成本。

实际的工作流程:

  1. 从仓库取货到卡车。记录取走的货物。这是“仓库到卡车”的库存移动。
  2. 在每台机器处,从卡车补货。记录装入每台机器的货物。这是“卡车到机器”的移动。
  3. 使用采购发票中的最近平均批发成本计算每件商品的成本——如果你无法退税,还应包括批发采购时支付的销售税。
  4. 在服务日期将装载价值计入标记该机器的 COGS

随着时间的推移,仓库、卡车和每台机器都会有库存余额。定期进行实地盘点(通常每季度一次)可以使这些余额与账目对齐,短缺部分记入 Spoilage / Shrinkage(损耗 / 盘亏),并标记到合理的站点。

对于非常小型的单人运营,可以使用更简单的代用指标:假设机器收集的现金以固定比例消耗产品(例如 50% COGS)。这很快,并能提供可用的利润率数字。但要明白,它无法检测到你是否在补货 4 美元的蛋白质棒却只卖 3 美元的情况,也无法发现真实的盘亏。出于这个原因,大多数运营商在第一年内就会转向按次补货成本核算法。

无现金支付端:支付服务商账单不等于销售额

当你在机器上添加信用卡或移动钱包支付时,存入银行的款项并不是你的销售额。它们是销售额减去手续费减去拒付 (chargebacks)减去服务商持有的任何滚动保证金。将存款直接记录为收入是现代自动贩卖账务中最常见的错误之一。

每一笔支付结算的清晰分录如下:

  • 借记 (Debit) 银行账户(你实际收到的存款)
  • 借记 (Debit) 无现金处理费(扣除的手续费)
  • 贷记 (Credit) 贩卖机销售 — 无现金(总无现金销售额,与 DEX 数据一致)

如果你收到一笔涵盖多台机器的批量存款,请根据 DEX 无现金数据按比例在机器之间拆分分录。大多数远程监控平台可以为你导出此拆分数据;如果你的平台不行,一个每期间每台机器一行的简单电子表格也足够了。

同样的逻辑适用于拒付和退款——它们是负销售额,而不只是更小的存款。在它们自己的账户中跟踪它们,这样你就可以查看每台机器发生的频率。同一地点的重复拒付几乎总是指向退币机故障或价格配置错误。

衡量每台机器的真实利润

一旦账目按机器组织好,你就可以计算每个运营商真正想要的数字:每台机器每月的边际贡献 (Contribution Margin)。公式如下:

边际贡献 = 总销售额 − 销货成本 (COGS) − 场地佣金 − 无现金手续费 − 直接维护和零件费用

注意该公式中包含的内容:燃油、保险、你的工资、卡车分期。这些是线路级别的成本。边际贡献的意义在于隔离出由于机器存在而产生的那部分利润。如果边际贡献为负,这台机器甚至在你开车过去之前就在摧毁价值。撤走它。

然后叠加线路分配。估计每台机器每月维护所需的小时数,乘以你的全额小时成本(燃油、车辆损耗、你作为司机的劳务时间),然后减去。剩下的就是自动贩卖行业中最接近“每台机器真实净利润”的指标。

一个有用的经验法则:任何产生的月边际贡献低于两小时全额线路成本的机器,都是搬迁或移除的候选对象。每季度运行此报告的运营商通常每年会精简 10% 到 20% 的设备——而剩下的线路利润将比开始时大幅提高。

销售税与所得税:不要等到四月才开始

自动售货机销售税规则因州而异,且差异之大令人惊讶。一些州按标准税率对所有自动售货销售征税。一些州对低于特定价格的食品免税。一些州设有专门的“自动售货机销售税”税率,与普通零售税率不同。少数州规定由运营商(你)缴纳税款,而另一些州则规定由场地所有者负责,具体取决于合同约定。

无论在哪个州,你的账目中都需要记录以下内容:

  • 每台机器的应纳税销售额与免税销售额应分开记录
  • 已代收的销售税,应计入负债——绝不能计入收入
  • 每台机器所在地的行政区划代码,因为 A 市和 B 市的机器可能适用不同的税率

在联邦所得税方面,自动售货机通常根据 MACRS 按五到七年进行折旧;如果你符合条件,也可以根据第 179 条规定在购买当年全额扣除。维护路线产生的里程费可按 IRS 标准里程率抵税,但前提是你必须保留同步日志——年底凭感觉估算的“我开了很久车”在审计中是不会被认可的。远程监控订阅费、无现金支付手续费、维修费、保险费和场地佣金均为普通的可抵扣费用。

从第一天起就进行准确的簿记,能让报税季变成一场 30 分钟的谈话,而不是三月份某个惊慌失措的周末。销售税和折旧是自动售货机运营商最容易亏损或面临罚款的两个领域,而这纯粹是因为底层记录不清晰。

自动售货路线的实用月度结账流程

如果这些听起来很繁琐,以下是维持一条小型路线账目清晰的最低限度日常流程:

  1. 每次服务访问后 —— 记录收集的现金、DEX 预期现金、差异、补货产品(按成本价)以及进行的任何维护,所有内容都标记到具体机器。
  2. 每周 —— 根据支付处理器对账单核对无现金存款;记录手续费;检查退单。
  3. 每月 —— 计提场地佣金;按机器查看现金余缺;关闭本月账目并生成单台机器的边际贡献报告。
  4. 每季度 —— 对仓库和货车进行实物库存盘点;复核试算平衡表;筛选出边际贡献最低的 10% 机器,并决定是进行优化、重新谈判还是搬迁。
  5. 每年 —— 对机器计提折旧;提交联邦和州报税表;将整个路线作为投资组合进行审查,并重新设定年度目标。

一旦确立了会计科目表和标签规范,这些步骤几乎都能自动完成。第一个月很难。第三个月就成了惯例。

保持路线财务简洁且可审计

自动售货路线依赖于现金、远程监控和微薄的利润。能够实现规模化的运营商,是像软件工程师对待生产代码一样对待账目的人:结构化、版本控制且人类可读。

Beancount.io 将这种思维带到了小微企业会计中。你的整个账本以纯文本形式存在,每笔交易都可逐行审计,机器和位置标签为你提供本指南所述的按资产切片分析,且没有专有数据库会“挟持”你的数据。免费开始使用 并了解为什么注重数据完整性的运营商都在转向纯文本会计——或者在决定之前,阅读更多关于仪表板工作原理的内容。