建筑企业的资金流,说到底是几件事叠在一起:哪个项目收了钱、从哪个银行账户进出、这笔钱算在哪个费用科目下。
这家国内知名建筑企业用勤哲 Excel 服务器来管这笔账。出纳登记时可以写清项目和银行,却说不准费用分类;会计懂分类,又不该去改出纳记的金额和日期。
同时在建的工程很多,每天几十笔流水。系统最终要产出四张报表,其中第四张是多维统计报表。
建筑企业的资金流,说到底是几件事叠在一起:哪个项目收了钱、从哪个银行账户进出、这笔钱算在哪个费用科目下。
这家国内知名建筑企业用勤哲 Excel 服务器来管这笔账。出纳登记时可以写清项目和银行,却说不准费用分类;会计懂分类,又不该去改出纳记的金额和日期。
同时在建的工程很多,每天几十笔流水。系统最终要产出四张报表,其中第四张是多维统计报表。
客户提的要求很具体。项目名称、银行账号、费用分类要能自动选,打拼音首字母或数字就能定位;出纳登记时把费用分类留空,由会计补选,且会计只能改这一格。
报表要动态反映项目余额,前三张表里的蓝色部分必须相等,对不上就是数据出了问题。年底还要能自动启用新表,同时保持数据连续。
这四条不是功能清单,是四种角色在同一个数字上的分工。系统要做的,是把分工变成规矩。
前三张报表实现起来不难。第四张卡住的不是技术,是结构:项目数量每年都在变,每个项目要横着排三列——项目累计、本年度、本月。
第一个难点是行性质不统一。汇总行、项目行、明细行混在一张表里,简单的交叉表没法统一提数。
第二个难点是最后一行“期末资金余额”。每个项目那三列的公式都不一样,明细表向右自动扩展时,公式跟着复制就错了位。
第三个最麻烦:“本月”列的期初数要用上月的期末数。这个值既不在 Excel 的某个固定单元格里,也不能直接从数据库一条语句取出来。
与其让四张报表各自算,不如让所有报表都从同一张最简单的录入表取数,统计交给系统。
方案的第一步是把录入做薄。流水号和付款日期自动生成,余额自动计算,项目名称、银行账号、费用分类都设成列表选项,点开就能选。
真正起作用的是那套两步工作流。第一步由出纳填报,除费用分类外的内容一次填完;第二步流转到会计或会计主管,只做一件事:选费用分类。
权限卡在流程上,会计改不了出纳填的金额和日期。责任因此清楚了:数字错了找出纳,分类错了找会计,不必再互相解释。
第二步按客户提供的表样,做了三个纯查询模板。模板不存数据,只负责把录入表里的记录按指定格式摆出来。
纯查询模板的好处是“格式自由”。客户的表头、列宽、合计行都是既定的,换个通用报表工具往往要迁就它的版式;这里改的是模板,报表长的就是客户要的样子。
表1另走一条路,用自定义查询实现。它需要的字段组合和排序规则比较特殊,用自定义查询比套模板更直接。
跨年是财务系统最容易出事的时候。手工做法是年底把余额抄下来,第二年新建一个表,再把期初填进去,抄错一位,全年对不上。
这套系统设了年末自动转结模板,配一个定时任务,每年 12 月 31 日 23:50 执行:把当年的期末余额结转为次年的期初,新表自动启用,历史数据留在原处。
定在 23:50 而不是零点,是为了在跨年之前把上一年的账结清。零点之后进来的流水,直接记进新表,不会混进旧账里。
做完之后,日常操作回到最简单的一步:出纳登记摘要和金额,会计选一个费用分类。四张报表、余额结转、跨年启用,全部由系统完成。
这家企业原来的设想,是靠增加专业会计来承担统计工作。系统上线后,这部分人力被省了下来——不是软件替代了会计的判断,而是把抄写、加总、对表这些动作交给了机器。
勤哲 Excel 服务器在这类项目里的价值,是让人按业务本来的样子设计表格,再由系统保证表与表之间的数字关系。表样可以很复杂,填表的人却只需要面对一格。