科目余额表借贷不平,绝大多数时候不是账做错了,而是表被读错了:辅助核算行被当成一级科目、按编码前几位猜科目、方向列被当成金额列清零、父子科目重复累加——这四类占了我们处理过的两千多份余额表里不平案例的大头。本文按出现频率列出八类成因,每类给出能复现的定位方法,先查高频的,通常十分钟内能定位。
什么是"借贷不平",先把口径说清楚
试算平衡是指:所有科目的期末借方余额合计,应当等于所有科目的期末贷方余额合计;同理期初余额、本期发生额也各自应平。这三组里任何一组不平,都叫借贷不平。
要注意的是,试算平衡只在同一层级、同一口径上成立。把一级科目和它的明细科目混在一起加,或者把辅助核算的往来单位行和科目行混在一起加,平不了是正常的——那不是账的问题,是表的读法问题。
科目余额表为什么会借贷不平?
按我们处理过的样本,成因大致有八类,出现频率从高到低:
| 成因 | 典型表现 | 一句话定位 |
|---|---|---|
| 辅助核算行混入科目行 | 权益类或往来类合计偏大,差额恰好是某一类的两倍 | 看首行是不是往来单位而不是科目 |
| 按编码前几位猜科目 | 五位一级编码的账套凭空多出"假科目" | 用科目名称对,不用编码位数对 |
| 方向列被当成金额列 | 大片金额变成 0.00 或方向全为借 | 检查"借/贷"单字列有没有被当数值处理 |
| 父子科目重复累加 | 合计恰好是明细合计的两倍 | 只加叶子科目,父级不再加 |
| 期初与期末列错位 | 期初平、期末不平,或反之 | 逐列核对表头对应的期间 |
| 损益类取了双侧余额 | 利润表科目出现借贷两侧都有数 | 损益类只取单侧发生额 |
| 多 sheet 拼接串期间 | 某几个科目的数明显不是同一年的 | 看每个 sheet 的期间标注是否一致 |
| 金额单位混用 | 差额是某个科目的 999 倍或 0.001 倍 | 查"元/千元/万元"的单位标注 |
前四类占了大头,所以排查顺序也按这个来。
怎么确认是哪一类成因?
先把差额算出来,再拿差额去对照上表的"典型表现"——差额本身携带的信息比想象中多。
- 差额等于某个类别合计的两倍:几乎肯定是重复累加或符号归一的问题。回到那个类别,看是不是父级和子级都被加了,或者往来单位行和科目行都被加了。
- 差额等于某一个科目的余额:多半是该科目的方向被读反了,或者它所在的行被跳过了。
- 差额是 999 倍或 0.001 倍这种整数量级:单位混用,通常是某个 sheet 用了万元。
- 期初平、期末不平:本期发生额那两列大概率错位了;反过来则是期初列错位。
- 差额毫无规律:往上翻,八成是多 sheet 拼接时把不同期间的数拼到了一起。
差额不是整数倍关系怎么办?
那说明不止一个成因叠在一起。这时不要试图一次找全,先把最高频的那一类(辅助核算行)排除掉,重新算差额,往往剩下的就是一个干净的整数倍关系了。
辅助核算行为什么是头号成因?
辅助核算是指在某个科目下再按往来单位、部门、项目等维度分别记账的做法,导出时这些维度行会和科目行并排出现在同一张表里。用友、金蝶的余额表导出默认就会带上这些行,而它们的编码列往往是空的或沿用了上级科目的编码。
问题就出在这里:如果读表的时候按"第一行有编码就是科目"来判断,某些账套里往来单位行会恰好排在科目行前面、抢走了那个编码,于是一个客户名被当成了科目,它下面的金额被重复算进了权益或往来类合计。我们在一份样本里见过因此权益少算了九千多万的情况,表面看只是"不平",实际是父级科目被造错了。
定位方法很直接:看编码列,凡是编码为空、或者和上一行编码完全相同的行,先当作辅助核算行排除,再算一遍试算平衡。
为什么不能按编码前几位判断科目?
很多人习惯用"编码前四位是 1002 就是银行存款"这种规则。这在多数沿用财政部编号的账套里看着能用,但它不是通则:客户可以自定义编码,民间非营利组织、小企业准则下的账套编码体系各不相同,估值系统的编码和准则编号更不是一套。按前几位猜,遇到五位一级编码的账套就会凭空造出假科目。
稳妥的做法是:编码只用于判断层级和排序,科目含义一律用科目名称去对。名称有变体("银行存款"和"银行存款-工行"),维护一张名称到标准科目的对照表,比猜编码可靠得多。
常见误区
- 以为不平就是账做错了。先排查表的读法,再怀疑账。
- 把所有行不加区分地求和。父级、子级、辅助核算行必须分开。
- 用编码前缀推断科目。编码只管层级和排序。
- 损益类科目取了借贷双侧余额。损益类看的是发生额,且只取一侧。
排查清单
按顺序过一遍,通常在第三步之前就能定位:
- 差额是多少?是某个类别的整数倍吗?
- 首行是科目还是往来单位?编码为空或与上一行相同的行有多少?
- 一级科目是四位还是五位编码?有没有"看着像科目但名称对不上"的行?
- 借/贷方向列是单独一列还是和金额混在一起?
- 父级和子级是否都被加进了合计?
- 期初、发生额、期末三组列的表头对不对得上?
- 多个 sheet 的期间标注是否一致?
- 单位是元、千元还是万元?
如果把余额表交给审小匠清洗,上面这八步是自动跑的,不平时会直接给出差额和最可能的成因。但无论用不用工具,知道差额里藏着什么信息,都是审计人该有的基本功。