2026-10-30 来源:学邦技术
14.59 亿。这个数字在某份三季报里写成「合同负债与预收款项合计」,比年初涨了 21.96%。
同一张表上,营收 29.19 亿。有人把 14.59 亿也读成收入,那就读错了——它是已经收进来、但还没交付的课。
机构规模小的时候,这三栏往往是一笔糊涂账:收到的钱记一个数,上了多少课记一个数,退了多少记一个数,三个数各在各的表里,谁也不跟谁对。
名字不定死,月底一定吵。财务说的「预收」,销售说的「业绩」,教务说的「余课」,指的是三件不同的事。
先把三栏摆开:合同负债、未消课时、退费准备。前者是钱的角度,中者是课的角度,后者是可能要还回去的钱。
三栏之外还有一栏隐性数据:每个学员的剩余课时。它是三栏的最小单位,学员层面对不上,汇总一定对不上。
| 栏位 | 记什么 | 按什么单位 | 谁维护 | 月末必须等于什么 |
|---|---|---|---|---|
| 合同负债 | 已收、未交付的课时款 | 元,按合同逐笔 | 财务 | 未消课时乘单价 |
| 未消课时 | 还没上的课时,要分三层 | 课时,按学员按科目 | 教务 | 课时系统余量 |
| 退费准备 | 未消课时里可能退掉的那部分 | 元,按比率折算 | 财务 | 退费台账近十二个月实际值 |
| 确认收入 | 本期已经交付掉的课 | 元,按消课记录 | 财务 | 课时系统本月消课金额 |
合同负债的口径只有一句话:已收、但尚未交付的部分。它按合同逐笔记,不按收款日期汇总。
同一笔收款里,如果包含教材费、餐费、活动费,要拆出来。只有课时部分进合同负债,其余按对应科目走。不拆的后果是,退费时算不清该退多少。
最容易被混进来的是赠送课时。赠送课时不打折入账,合同负债会虚高;等到消课时又凭空多出一块收入,毛利率会突然好看一个月,然后掉下去。
正确的做法是:合同总价除以含赠送的总课时,得出实际单价,全部课时按这个单价入账。赠品是价格的一部分,不是额外的礼物。
合同里还要写清退费条款:按未消课时退,还是按剩余月份退,手续费怎么算。条款不写清,退费时只能协商,协商出来的结果通常比条款更贵。
未消课时是交付义务的计量单位。它不能是一个大数,要拆成三层,因为三层的应对方式完全不同。
第一层,本月要交付:本月排课表已排、尚未上的课时。第二层,三个月内要交付:按课程进度表往后推。第三层,可能退费:剩余课时里按退费率折算出来的那部分。
三层拆完,你会得到一个以前没算过的数:本月必须交付的课时金额。它才是这个月收入的上限,也是这个月教师工时的下限。
| 层级 | 怎么算 | 它回答什么问题 | 谁每周看 |
|---|---|---|---|
| 本月要交付 | 本月排课表已排未上的课时乘单价 | 这个月收入的天花板在哪 | 教务 |
| 三个月内要交付 | 按课程进度表推算到第三个月末 | 教师与教室够不够 | 教学主管 |
| 可能退费 | 剩余课时金额乘近十二个月退费率 | 要留多少备付 | 财务 |
| 三层合计 | 应等于合同负债期末余额 | 账上的负债有没有对应的课 | 校长 |
退费准备不是「留一笔钱」,是按未消课时乘退费率估出来的负债。它的作用不是兜底,是让利润表提前承担一部分还没发生的退费。
退费率的算法:近十二个月实际退费金额,除以同期消课金额。用十二个月,是为了摊平寒暑假的季节差。用三个月,寒假一退费,比率就失真。
这个比率每家不一样,别套别人的数。一对多与一对一、长周期与短周期,退费率能差两三倍。算出来之后按月更新,连续三个月上升就要查原因,通常是交付节奏或教师更换。
退费准备要单独放一个账户,不和经营款混。混在一起,淡季挪用一次,旺季就补不回来。这笔钱的用途只有一个:家长提出退费时,当天能退。
期初合同负债,加本期新增预收,减本期按课时确认的收入,减本期退费冲减,等于期末合同负债。
四个动作,任何一个记错,期末就对不上。其中最容易错的是退费冲减——很多机构退费时直接冲收入,不冲负债,结果收入被压低,负债还挂在账上,两边都不对。
对账的顺序是倒着来的:先核期末余额,再核本期退费,最后核新增预收。因为退费笔数最少,最好查;查完退费,剩下的差额通常就能定位到某几笔合同。
一条经验:只要期末合同负债与课时系统余量的差额超过当月收入的 1%,就不要往下猜,直接按合同号逐笔拉清单,猜出来的原因十次有八次是错的。
单价等于合同总价除以总课时,含赠送课时。这是唯一正确的算法,因为它让收入与交付一一对应。
第一种错法:按赠送前的原价算单价。算出来的单价偏高,消课时收入虚增,退费时又退多了,两头都亏。
第二种错法:把不同班型混在一起算平均单价。一对一和班课的单价差几倍,混算出来的数没有意义,也没法用来做退费。
第三种错法:打包课按科目录收入,不按实际消课。跨科目打包的课程必须先在系统里拆成明细,否则退费时算不清该退哪一科、退多少课时。
月底三张表,其实只要核五个数。五个数都对上,其余的差异都是时间差,可以下个月再看。
时点差异要单独列一栏,不要并进差异里。到账在月末最后一天、上课在次月第一天,这种差异每个月都有;并进去,真正的错误就看不出来了。
| 核对项 | 第一处取数 | 第二处取数 | 容许差异 | 差异先查哪 |
|---|---|---|---|---|
| 本期确认收入 | 利润表营业收入 | 课时系统本月消课金额 | 0 | 跨月补课记录 |
| 期末合同负债 | 资产负债表合同负债 | 未消课时乘单价 | 0 | 赠送课时是否折价 |
| 本期收款 | 现金流量表销售商品收到的现金 | 收款流水合计 | 在途款项 | 月末最后三天的到账 |
| 本期退费 | 退费台账合计 | 银行付款记录 | 0 | 分期退费的未付余额 |
| 预收覆盖率 | 本月合同负债除以月均确认收入 | 上月同一算法 | 不超过 0.5 个月 | 新签结构变化 |
预收涨 21.96%,是好事,也是责任。单看这个数看不出轻重,要把它翻译成三个比率。
第一个,预收覆盖率:合同负债除以月均确认收入,得到「还能交付几个月」。这个数在 3 到 6 之间算健康,超过 9 就要看是不是收了太长的周期,长周期意味着未来的交付压力堆在一起。
第二个,退费率,算法见第四节。第三个,到期未开课占比:已收费、但超过约定开课日仍未排班的合同金额,除以合同负债。
第三个比率最容易被忽略,也最能说明问题。它超过 5%,说明销售的承诺和排课的能力脱节了;这个数一旦高,退费率会在两个月后跟上。
三个比率要连着看。预收覆盖率上升、退费率同时上升,说明收的是长周期但交付跟不上;预收覆盖率上升、到期未开课占比也上升,说明销售跑在了排课前面。
| 比率 | 算法 | 参考区间 | 超了先查什么 |
|---|---|---|---|
| 预收覆盖率 | 合同负债除以月均确认收入 | 3 到 6 个月 | 长周期课程的占比 |
| 退费率 | 近十二个月退费除以同期消课 | 与去年同期比 | 教师更换与交付节奏 |
| 到期未开课占比 | 未排班合同金额除以合同负债 | 低于 5% | 销售承诺与排课容量 |
| 退费准备充足度 | 退费准备余额除以可能退费额 | 不低于 1 | 备付金是否被挪用过 |
对不上是常态,尤其是刚开始的第一个月。对不上不要紧,要紧的是把差异记下来,下个月看它有没有变小。
| 症状 | 最可能的原因 | 先查哪一处 | 修复动作 |
|---|---|---|---|
| 负债余额大于课时余量 | 赠送课时没折价入账 | 合同条款页 | 按总价除总课时重算单价 |
| 负债余额小于课时余量 | 续报时旧合同未结清就开新合同 | 同一学员的合同号 | 先结旧合同再开新合同 |
| 收入与消课长期不相等 | 按收款确认收入,不按消课 | 收入确认凭证 | 改为按课时逐月确认 |
| 退费后负债不降 | 退费冲了收入,没冲负债 | 退费凭证的对方科目 | 补一笔负债冲减 |
| 每月差额金额很小但一直存在 | 跨月补课未及时登记 | 补课登记表 | 补课当日记,不跨月 |
跑顺之后,对账大概半天:导出收款流水、导出消课记录、导出退费台账,三份并排,五个数一核,完了。
关键是三份表的时间口径要一致。收款按到账日、消课按上课日、退费按付款日,三个口径不同,并表时必然差几天,差几天就要人工找,找一次两小时。
这三份导出,学邦的台账导出与考勤课消模块能直接出:收款按合同编号、消课按课时、退费单独一列,三份表的时间口径统一,省掉手工并表的半天。
剩下那半天用来做一件事:把本月的三个比率和上月比一遍。数对了只是及格,比率的变化才是要开会讨论的部分。
还有一个动作值得做:每月把退费原因归一次类,价格、教师、时间冲突、效果,四类各占多少。归完类,下个月的退费率就有了抓手,不用再靠猜。
写在最后
三栏台账真正解决的,不是月底那张表好不好看,是让你在家长提出退费的那一刻,能立刻说出还剩多少课时、该退多少钱。
预收是承诺,不是业绩。把承诺记清楚,业绩才站得住。
关注「学邦技术」公众号,回复「流程」,即可领取本文对应的完整版管理资料(三栏台账模板、月末五数核对表、退费率测算表),持续获取教培运营干货。
点击公众号菜单「免费体验」,还可预约学邦教务教学管理系统演示——排课、考勤、课消、家校沟通、财务报表一站搞定,让教务老师从表格里解放出来。