我们最近在开发财务软件,希望做出一个优秀的、永远免费的财务软件。在这个过程中,有一个似乎微不足道的问题始终困扰着我们。那就是在填制凭证时,如果金额是负值,到底是否合理?
现在使用各种财务软件处理日常业务时,大家可能都习惯了在凭证中有负数的情况,比如红字冲销。而且,有些时候如果不用负数还会出错。例如:在用友财务软件中(不管是U8或T3),如果发生退货10000元,那么分录必须做成:
        贷:主营业务收入 —10000
而不能写成:
        借:主营业务收入 10000
否则利润表中的营业收入就必然出错,因为用友的利润表是用FS函数取贷方发生额。
另外,使用财务软件(如用友、金蝶)新建账套后,进行期初余额录入时也要求:如果期初余额方向与科目方向相反,就必须录入负值。
所以,凭证或账簿中的金额有负数似乎是很正常、甚至必不可少的事情。
但是,如果允许有负数,就又出现一个问题:是否允许有单方凭证(即只有借方或只有贷方的凭证)。比如上面提到的退货业务,如果按上面的方式,凭证就要做成这样的单方凭证(而且在用友软件中必须这么做,否则利润表就必然出错):
        贷:主营业务收入                                         —10000
        贷:应交税费—应交增值税—销项税额                 —1700
        贷:应收账款                                                 11700
那么,使用负数或单方凭证到底是否合理呢?无论是在会计教科书中,还是在各种财务软件中,都没有一个明确的答案。但这是一个很基础的问题,如果不说清楚,很多地方都会遇到困难,所以很多财务软件中只好加上几个选项——他们也说不清到底是否可以,所以给你个选项,让你自己定吧。
比如,下面是金蝶中的账套选项:这个选项是让您自己决定是否允许单方凭证:

下面的选项是让您自己决定账簿中的科目余额怎样显示、是否允许为负:

这种在会计学中就应当很明确的东西,怎么能成为软件中的选项呢?
上面提到,如果允许有负数,就会有单方凭证。如果单方凭证合理,那么现金存入银行如果这样做:
        借:银行存款       1000
        借:库存现金    —1000
是不是也可以呢?
现在很多软件(如用友)中这样做都是可以的,这样的凭证都可以保存下来。
有人可能说,何必这么较真呢?这种凭证是个特例嘛。但是,任何一个学科都必须有严谨的基础,如果允许在凭证中使用负数,就会有单方凭证,这就与“有借必有贷”矛盾。“有借必有贷”并不是一句简单的教条,会计正是通过“借、贷”这二个符号来确定经济活动的动向,这是复式记账法的根基
我们在软件开发过程中,深受这个问题困扰,这绝对是一个不容含糊的问题。否则金蝶软件中也不会被迫加上这些莫名其妙的选项。
为了搞明白这一点,我们从会计从业的课程到初级、中级、注册会计师的课程,完完整整学了好几遍,也没看到有什么明确的说法。没办法,又找到1494年卢卡.帕乔利(Luca Pacioli)所著《算术、几何、比与比例概要》的第三章《簿记论》,翻了个遍,但还是没找到任何答案。我们也问了很多人,了解到的结果是:在会计学上对这一点没有明确的要求。
但我们隐约感觉到,“借、贷”与“正、负”置于同一个会计体系中会导致基本规则的混乱。
现在的会计学资料、教材中看到的都是在讲各种业务如何处理,但却没有看到对这个基础问题的明确说法,这是不应该的。一个严谨的学科,必须有严谨的基础。就象微积分的出现是数学史上的一个极大进步,但在牛顿、莱布尼兹时代,微积分缺乏严谨的基础,所以备受攻击。直到各种基础特别是集合论的建立,才使整个数学体系变得完美坚固。
从学习会计开始,我们就看到无数对会计学、对复式记账特别是借贷记账法的赞美之词。数字是会计中的基本内容、正负号是数字的基本构成部分。但是对于负数在会计中的使用,目前没有一个明确的说法,以至于现在各种会计软件只好设置成选项、会计业务只能根据所谓习惯。如果连这样的基础都混沌不清,却称为严谨的科学,实在说不过去。
我们在做软件时,无法回避这个问题,所以只好花时间考虑了一下,我们的结论是:
一、【借、贷】就是会计学中完备的符号体系,在会计凭证中根本没有必要使用【正、负】
本想从帕乔利的著作中搞明白“借、贷”到底是什么意思,但最后得到的结果是:它们就是二个符号。隔了几天,突然想起,既然搞不明白“借、贷”到底是什么意思,那就看看“正、负”。负数的起源与解方程有关,而帕乔利恰好是那个时代意大利乃至全世界在方程方面最顶尖的数学家之一,他为什么只字未提“正、负”呢?我们需要了解并特别注意:借贷记账法是1494年之前就在威尼斯很通行的记账方法(帕乔利在他的著作中对这个方法做了整理),而负数的明确定义是直到1572年,才由意大利数学家邦贝利(R.Bombelli)在他的《代数学》中给出的,而且那时对于负数的理解还很有争议。负数的地位最后是由德国的维尔斯特拉斯和意大利的皮亚诺确立的:1860年维尔斯特拉斯在柏林大学的一次讲课时,把有理数定义为整数对,即当m,n为整数时,n/m(m≠0)定义为一个有理数,当m,n中有一个为负整数时,就得到一个负有理数。这就把负数的基础确立在整数基础上。1889年,皮亚诺在著名的《算术原理新方法》中又用自然数确立了整数的地位:设a,b为自然数,则数对(a,b)即“a-b”定义一个整数,当a>b时为正整数;a<b时就得到了一个负整数。至此,负数才最终有了明确的定义。
所以,在1494年,采用借贷记账法、用“借、贷”这二个符号已经可以完整的描述会计业务,又何必需要“正、负”呢?更何况那时根本没有负数的概念。也就是说,系统整理借贷记账法的数学家帕乔利那里没有正、负数,在他之前建立并使用借贷记账法的威尼斯商人们更不会明白正、负数的概念,而且他们也不需要有这个概念,因为利用“借、贷”这二个符号,就足以描述业务的动向,借贷记账法就是在完全没有【正、负】概念的情况下建立起来的一个完备的复式记账体系,因此,根本就没有必要再使用【正、负】。
现在,实际上每个会计人员都明白,任何一个凭证都可以不用负数就能做出来(至于用友财务软件中退货要求必须贷记负值,那是因为用友的处理思路不对,有很多方法可以解决这个问题,并不是会计上需要用负数)。所以,【借、贷】就是会计学中完备的符号体系,根本就没有必要使用负数。
二、在会计凭证中,金额不可以是负数
有人会说,虽然用“借、贷”这二个符号就已经足够,但使用正、负数又有什么问题呢?总是应该发展进步啊?在会计中使用负数是不是一种进步呢?
使用负数之前,我们需要先知道什么是负数。上面给出的是数学中对负数的定义,有了明确的定义,你在数学中可以随意使用负数,对负数做个开方、得出个虚数也没问题。但在不同的领域使用负数时,都需要有相应的实际含义。比如—5℃,表示0℃以下5度;海拔—100米,表示海平面以下100米。同样,在会计中,如果要使用负数,也必须先明确负数在会计学中的意义。这一点每个会计人员都明白,比如:“贷 主营业务收入 10000元”表示确认销售收入,而“贷 主营业务收入 —10000元”就表示确认退货,或者冲销以前的错误凭证,或者因为某些问题向客户退一部分款,它等同于“借 主营业务收入 10000元”。即:在会计凭证中,“负号”实际上代表了业务动向。
明白了负数在会计中的意义,就可以再考虑到底是否可以使用负数。这一点要从一个学科体系的基础去理解。会计作为一个科学的体系,它的基础也应当遵循基本的准则,就是“相容性、独立性、完备性”(这是希尔伯特在《几何基础》一书中为完善欧几里得几何公理系统、各公理组间的逻辑关系而提出的,也是任何一个学科的基础所必须遵循的逻辑关系。现代会计就是诞生在帕乔利的数学著作中,就是因为逻辑严谨才沿用至今,正如郭道扬先生所评价的:帕乔利的《簿记论》“开创了数学原理与簿记学原理结合研究的科学模式”)。复式记账的核心就是要反映经济活动的动向,借贷记账法用【借、贷】这二个符号就足以完整地描述业务动向。如果允许使用负数,那么按照上面对负数意义的理解,【正、负】也是在描述业务动向。这样,就破坏了“独立性”的原则,具体讲就是:如果这样两个符号体系并存,那么只凭【借、贷】这个符号体系反而不能描述业务动向了,因为还要看数字是正是负。
所以,在会计凭证中,负数不是可以有,而是绝对不可以有。
在会计凭证中使用负数,是典型的画蛇添足。本来借贷记账法就是漂亮完美的白蛇,非得给它添上“正、负”这两只脚丫子。
综合以上两点,我们认为:负数在会计凭证中不仅没有必要使用,而且也不应当使用。

这样,其它一些问题也就好理解了,比如:
1)   账簿中也有明确的借、贷方向,因此账簿中的金额也不可以使用负数。
2)   所谓红字凭证,实际上就是有负数的凭证,同样,只要把分录做成相反的方向即可,红字也是不需要的,严格说,红字凭证是不应当有的。否则就又出现一个符号体系,就是【红、黑】。而且红字本身是“虚”的,比如在用友的财务软件中填了个负数、显示器上就显示为红字,但是把凭证打印出来,还是个负数。所以,【红、黑】与【正、负】是同样的问题。当然,有人可能会说,有的法规中也是允许使用红字的,如《会计核算软件基本功能规范》第十八条提到:“发现已经输入并审核通过或者登帐的记账凭证有错误的,可以采用红字凭证冲销法或者补充凭证法进行更正;记账凭证输入时,红字可用“-”号或者其它标记表示”。我们认为这是由于以前没有深入考虑这个问题、从而形成了习惯。但不论是习惯还是法规,都可能存在不合理之处。在这个问题上,帕乔利体现了一个数学家逻辑上的严谨,在他的著作中,第31章就是专门介绍“如何更正一个或多个登错地方的账项”,其中提到:“应按下述方法改正错误的分录,例如:如果本应记入贷方的分录记入了借方,就在贷方以相同的金额填入另一分录……”。他严格坚持了【借、贷】就是会计学中完备的符号体系。
3)   单方凭证肯定是不允许的,道理很简单,因为它违背了复式记账的根本原则,即必须同时在两个方向上进行登记。现在一些财务软件(如用友的产品)允许填制单方凭证,这是错误的。
4)   关于发生额:有人谈到,如果不用负数(红字)进行同方向冲销错误数据的话,会虚增发生数。这是个误解。实际上,用负数冲销也是会有发生额的,比如:3月做错了一个凭证,4月又用负数冲销,那么虽然从全年看发生额可以相抵,但在统计3月和4月时还是有发生额的(只不过4月的发生额是负的)。所以无论用不用负数,都会有发生额。如果在冲销时不使用负数、而是做相反方向的分录,产生的发生额就是用于冲销对应凭证的,所以产生这个发生额是合理的。
5)   涉及数量、外币核算时,数量、外币可以是负值,比如:进行账务调整等特别业务时,数量、外币用负数记录是没有问题的。本文中强调的是在“会计核算”中“金额”不可以用负数,因为会计是货币核算,相关的数量、外币只是个记录而已,并不是会计本身要核算的内容,所以也不受会计核算体系的规则限制。
6)   会计报表项目中没有涉及借、贷方向,只是按照某种需要对业务数据的汇总,它不涉及对基础会计业务动向的直接记录,因此会计报表中可以有负数,比如:如果某个月没有发生销售、只发生了一笔退货,那么利润表中这个月的营业收入就是负值,这是没问题的。

基于上述想法,我们想在财务软件中采用下列规则:
1)   新建账套时,期初余额要求指定借、贷方向(缺省与科目方向相同),不允许填负数。
2)   填制凭证时,金额不允许填负数,并且禁止保存单方凭证。
3)   冲销凭证时,生成相反方向的凭证,而不是数值为负的凭证(红字凭证)。虽然目前法规中讲到“可以”采用红字凭证冲销法,但并不是讲“必须”,所以即使按目前的法规,这样做也是没有问题的。
4)   账簿中,余额数值不允许为负值,余额方向自动调整。
这样做,肯定不会影响任何实际业务,只是与现在普遍允许负数和红字的习惯不同。我们很希望这样做,因为我们一直认为基础的严谨极其重要。但同事和朋友们提醒:“技术上肯定没问题,但是满世界都说可以、你非说不对,是不是太另类了?这一步是不是改得太大了?”想起《让子弹飞》中葛优语重心长的话:“我认为酒要一口一口喝,路要一步一步走!步子迈大了,喀!容易扯着蛋”。为了避免扯着蛋的杯具,我们把这些想法写出来,欢迎把您的意见告诉我们。可以邮件回复:fwy01@fuwushe.com