苏雨桐搬家的那天,星辰账上多出了一笔不属于星辰的钱。
她从学校宿舍搬到离公司两站路的一间合租房。全部行李只有两个纸箱、一床卷起来的被褥、一盆没完全救活的文竹和一辆借来的三轮车。
马飞原本说叫辆面包车,被她拒绝。面包车要四十元,三轮车只要给看门师傅买两包烟。结果出校门时赶上阵雨,纸箱底被打湿,装书的那只在路口裂开,词典、论文和一叠检索样本撒了一地。
两个人蹲在雨里捡书。马飞把外套脱下来铺在三轮车底,苏雨桐却先去抢那盆文竹。它在公司窗台养出几片新叶,好不容易活过来,不能再折一次。
“书湿了还能晒。”她抱着花盆说,“根烂了就真没了。”
他们到新住处时都淋透了。房东大姐给了两条旧毛巾,又烧一壶姜水。屋子不大,窗外正对别人家的厨房后墙,胜在能放下一张书桌,步行十分钟可到公共汽车站。
马飞帮她把书按高矮排进砖头和木板搭成的书架,才回公司。三楼门口,周会计已经等了一个多小时,手里捏着银行回单,脸色比雨云还沉。
“账户上来了两万四。”她说。
陈维明从里面探出头:“哪个客户?”
“汇款用途写的是采购控制板,收款人却是我们公司。”
华北技术资料服务部上线一批工业控制板目录后,一家外地工厂通过商业资料页找到了供货商。采购员打不通供货商电话,便找到星辰,问能否先把货款汇给平台,再由星辰转过去。小郭回复说星辰只提供信息,不经手货款。
对方还是汇了。
“可能觉得网站是谁的,钱就该给谁。”小郭说。
“也可能怕直接给陌生供货商不安全。”陈维明看着回单,“我们若帮他转一次,服务费是不是可以——”
“不能转。”周会计打断,“合同里没有代收,营业范围里也没有。更麻烦的是,这两万四进了公司账户,银行流水只看得见收款。你转给供货商,账上算什么?采购?借款?代付款?哪一种都不是真的。”
钱就在账户里,看上去像收入,却不能花。
马飞想起一九九九年的技术条件。电子商务刚刚被少数人谈起,银行转账仍要填单、盖章、排队。未来一个按下确认就能完成的付款动作,在眼前却穿过电话、传真、银行柜台、会计科目和互不认识的三家公司。
“先通知汇款方,原路退回。”他说。
“退款也不是按一下就回去。”周会计说,“得拿回单去银行说明,收对方账户资料,写退款原因。手续费谁承担,也要确认。”
陈维明仍不甘心:“对方愿意让我们代付,我们为什么一定说不?”
“因为愿意不等于我们有权做。”苏雨桐换了件干衬衫赶来,头发还在滴水,“他今天汇两万四,明天有人汇二十四万。货没到,谁负责?供应商跑了,谁解释?公司账户冻结,搜索工资从哪发?”
“所以才值得做成业务。”
“做业务之前先弄清楚这是什么业务。”
雨敲着窗,众人围在会议桌旁。那张回单放在中间,像一只突然闯进屋里的湿鞋,谁都不能假装没看见。
周会计拿出三本空白账册。
第一本是公司财务账。每一笔钱属于谁、因什么合同发生、该进什么科目、税费如何处理,都要能与银行流水和凭证对应。
第二本是服务履约账。商业资料何时上线、展示了多少、客户是否验收、故障如何补偿。这里记录星辰答应了什么,不等同于钱已经到账。
第三本原本没有名字。周会计指着那两万四千元说:“如果以后真做你们说的付款服务,就得有一本账,记付款人想做什么、银行做到了哪一步、收款人是否确认、失败和退回是什么状态。这本不能拿财务收入账代替。”
马飞在封面写下:交易状态账。
“现在只能为这次误汇做记录。”他说,“不代表已经开办代收业务。”
于是,一笔钱被三种方式描述。
公司财务账:来源不明待退款项,不确认为收入。
服务履约账:星辰未接受代购或代付委托,没有交付义务。
交易状态账:汇款方已发出,星辰已收到,退款资料待确认,未转供应商。
三句话看似重复,回答的却是三个不同问题。钱在哪里,星辰答应过什么,用户现在以为什么正在发生。
“为什么不能只在财务账旁边写备注?”小郭问。
“因为以后操作的人不一定看得到全部财务凭证,财务也不该靠翻技术日志判断客户指令。”周会计说,“可以相互对照,不能混成一本谁都改的流水账。”
林海提出,每个状态变化都要有时间、操作人和依据,不能把“待确认”直接覆盖成“已退回”。苏雨桐又加了一条:任何一方的电话说明都只是指令证据,不能替代银行回执。
陈维明听着,忽然把三本账排成一条线:“你们知道这是什么吗?”
“麻烦。”小郭说。
“是机会。”陈维明用手指从第一本划到第三本,“现在买卖双方最怕的就是不知道钱和货走到哪。谁能把状态说清楚,谁就能收服务费。”
马飞没有否认。支付业务的入口并不在一枚漂亮按钮上,而在这张让所有人头痛的错误回单里。用户真正缺的不是再多一个收款账户,而是一套能被信任的状态、边界和追索方法。
但这也意味着,系统一旦说错,损失不再只是一次搜索失败。
搜索返回错误结果,用户可能多走弯路;支付状态若错,钱会被重复转出、错误冻结或永远对不上。两者都依赖数据,责任却不是一个量级。
“先退这一笔。”马飞说,“退完以后再做需求研究。不在公司账户里留钱做试验。”
接下来的两天,他们为退款跑了三趟银行。
第一趟缺汇款方盖章确认;第二趟对方传真过来的账号有一位数字模糊;第三趟,银行柜员发现原汇款单位全称与传真抬头少了“有限”两个字,要求重新出具说明。
苏雨桐陪周会计去第二趟。银行大厅没有座位,她们站了两个小时。前面一位老人拿着存折反复询问利息,后面有人因为插队争吵。轮到星辰时已经接近下班,柜员一页页翻材料,说今天来不及处理。
走出银行,太阳突然从云后出来。两个人又饿又累,在路边买了两碗凉粉。苏雨桐从书包里拿出被雨泡皱的论文,边吃边摊开晾。
周会计问她为什么不留在学校。大学稳定,有食堂、有宿舍,做研究也不用天天追别人盖章。
“学校的问题也不少。”苏雨桐说,“只是账本不一样。”
“后悔搬出来吗?”
她低头搅凉粉。合租房的床板太硬,夜里隔壁夫妻吵架,窗外厨房五点就开始剁菜。可她也第一次有一张完全属于自己的书桌,不必在熄灯后躲进机房写论文。
“还没住够三天,不下结论。”她说。
周会计笑起来:“你们公司的人,什么都要满一个观察期。”
第三天下午,两万四千元终于原路退回。手续费由汇款方承担,因为星辰此前已明确拒绝代付。对方采购员打电话致歉,又问星辰什么时候能真正提供安全付款服务。
马飞回答:“现在没有日期。”
“你们做搜索都做出来了,转个钱这么难?”
“正因为是钱,不能假装简单。”
对方叹气,说那只能自己再联系供货商。挂电话前,他留下一个问题:如果钱已经汇出,供货商说没收到,到底该信谁?
这句话被写进交易状态账的第一页。
退款完成的晚上,众人帮苏雨桐重新搬了一次书。第一次淋湿的纸箱彻底塌了,林海从机房找来装硬盘的结实箱子。陈维明开来一辆借的面包车,坚持证明四十元车费不是浪费。
合租房里只有一把椅子。大家轮流坐,剩下的人靠墙吃房东送来的葱花饼。文竹被安置在窗台,窗外虽是厨房后墙,午后仍能照进一小块光。
马飞把三本账的复印页带来,铺在她的新书桌上继续讨论。房东大姐经过门口,看见满纸数字,问他们是不是在炒股票。
“不是。”苏雨桐说,“在想怎么不把别人的钱算成自己的。”
房东大姐说:“那可比炒股票难。”
夜里十一点,众人才离开。马飞走到院门口,回头看见苏雨桐站在二楼窗边,正把三本账的页角用字典压平。那盆文竹在灯下投出细细的影子。
搜索业务给星辰带来了第一笔正现金流,也把陌生人的交易需求带到门口。支付不再只是路线图上“二〇〇〇年”后面的两个字。
它变成了两万四千元不该属于谁的现实问题。
三种账本也没有解决这个问题。它们只是把混在一起的东西分开,让所有人第一次看见:公司拥有的钱、公司答应的事和用户相信的状态,必须能够彼此核对,却永远不能偷换。
马飞在事故问题册旁另开一只文件夹,封面写“支付预研”。
里面第一份材料不是产品设计,而是一张已经完成退款的银行回单。
回单上盖着红章,纸面被来回折叠,留下三道深痕。
每一道折痕,都比“支付”这个词更接近真实。