销售订单发货这个动作,在企业级ERP里从来不是"仓库把货发出去"这么简单。我在几个集团级ERP项目上做过财务模块的落地,最常被业务和财务同时追问的一个问题就是:货已经发了,系统到底该记应收还是记发出商品?收入能不能确认?成本什么时候结转?如果客户还没验收、票也还没开,账上要不要挂递延?这些问题在国产化替代的大背景下变得尤其密集——不少团队从旧的ERP平台迁移到新的集团级ERP平台,业务逻辑没变,但会计事件的触发链路、科目确定的配置方式、月结的跑批顺序全变了,照搬旧习惯必然出错。这篇就把"发货"这一个业务动作拆开,从事件线、履约义务线、开票线、会计线四条并行轨道去讲清楚应收、收入、成本、递延收入、递延成本分别在什么时点、由什么程序触发、生成什么分录、对不上时去哪儿查。适合正在做ERP财务模块实施、做收入准则落地、或者天天在月结现场抓差异的同行参考,也适合业务侧想搞明白"为什么我货发了财务不认收入"的同学。
1. 先把"发货"拆成四条线,别混在一个动作里想
1.1 一个交货单背后其实跑着四套时间轴
很多人以为发货就是"库存减了、成本走了、收入来了",实际上系统里这四件事压根不在同一个时刻发生。我习惯把它们分成四条线来看:业务事件线管的是货物流,从拣配、出库过账、装运、到客户签收;履约义务线管的是准则口径,判断控制权有没有转移、这笔履约义务是不是已经履行完毕;开票线管的是票据流,什么时候开票、开什么票、税率多少;会计线才是最终的记账,由前面三条线的状态组合决定生成哪些会计事件。这四条线在系统里对应四组不同的时间戳,任何一组时间戳错位,就会产生暂估、递延或者跨期差异。做实施的时候我一般会先画一张时间戳对照表,把所有可能的错位组合穷举一遍,再决定配置哪些会计事件、哪些需要人工干预。这张表在项目里叫"事件矩阵",是后面所有分录逻辑的根。
| 线别 | 系统对象 | 典型时间点 | 影响收入 | 影响应收 | 影响成本 |
|---|---|---|---|---|---|
| 业务事件线 | 交货单、出库过账、签收单 | 出库过账日、签收日 | 间接 | 否 | 出库即影响 |
| 履约义务线 | 履约义务、收入确认单 | 验收日、控制权转移日 | 直接 | 否 | 间接 |
| 开票线 | 发票、红字发票 | 开票日、上传日 | 否 | 直接 | 否 |
| 会计线 | 会计事件、日记账分录 | 过账日、期间 | 承接前三条 | 承接 | 承接 |
这张表看着简单,但真正落地时最容易被忽略的是"出库过账日"和"签收日"之间的时间差。仓库为了赶月末指标,常常在28号集中过账,客户实际签收要拖到下个月5号。如果收入确认挂在签收日,那这批货月末就得全部躺在发出商品里;如果错误地挂在出库日,那就是提前确认收入,审计一查一个准。所以我在项目启动阶段一定会跟业务确认两件事:签收凭证怎么采集(纸质回单、客户门户、电子签章、第三方物流回传),以及签收数据回传系统的时效。
1.2 发货不等于收入确认,判定口径只有一条
准则口径下的判定其实只有一条主线:控制权是否转移给客户。但这条主线在不同业务形态下的表现形式差别巨大。标准内销、客户自提、送货上门签收、需要安装调试后验收、出口FOB/CIF、寄售仓客户领用、试用期内的可退货销售,这七种形态的控制权转移时点完全不同。我在配置收入确认规则的时候,一般会按"交货类型+客户类型+物料组"三个维度组合出确认策略,而不是简单按交货类型一刀切。原因是同一个交货类型,卖给经销商的普通商品和卖给大客户的需安装设备,确认时点根本不是一回事。
举个具体的:某制造企业有一类产品是标准件,客户下单后直接发货,签收即完成履约;另一类是非标设备,合同里明确写了"到货后由我方工程师完成安装调试,双方签署验收报告后视为交付完成"。这两类如果都挂在同一个交货类型上,系统配置就只能二选一,必然错一边。我的做法是给非标设备单独建一个交货类型,并在物料主数据上打上"需验收"标识,收入确认程序在跑批时按标识分流,需验收的直接进"已发货未确认"池子,等验收单回传后再触发确认。
提示:判定口径必须以合同条款为准,不是以系统默认值为准。合同里关于"风险转移""验收标准""退货权期限"的表述,要在需求阶段就逐条翻译成系统里的字段和配置。这一步偷懒,后面月结天天吵架。
1.3 为什么必须先做履约义务拆分,再谈分录
新收入准则落地最容易翻车的地方,不是分录本身,而是履约义务没有拆干净。一份销售合同里可能同时包含设备、安装服务、延保服务、备件耗材,这四样东西的控制权转移时点完全不同,如果按合同总额一次性确认,报表就失真了。系统层面要落地这件事,需要在销售订单行上区分"商品类行"和"服务类行",服务类行再标记是"单独售价可观察"还是"需分摊",然后按相对单独售价比例把合同总价分摊到各履约义务上。分摊结果会写到订单行的"履约义务金额"字段,后续发货、验收、开票、收入确认全部按这个金额走,不再看原始订单金额。
这套逻辑听起来标准,实操中的难点在于"单独售价"从哪儿来。我一般用三层兜底:优先取价目表中的单卖价格,没有单卖价格的取同类客户最近90天的实际成交均价,两者都没有的按成本加成法测算并留档说明。系统里对应配一张"单独售价来源优先级"规则表,跑批时按优先级取数并记录取值来源,方便审计追溯。这一步做完,后面发货触发的收入确认金额才有依据,否则每次都靠财务手工调,规模一大就管不住。
1.4 会计事件的建模方式决定了后期改配置的成本
不同ERP平台对会计事件的建模思路差异挺大。有的平台走"业务事件→会计事件→过账规则→分录"四层解耦,业务侧只管发事件,财务侧配规则,改规则不动代码;有的平台是硬编码在过账程序里,改一个科目要发版。前者灵活但配置量大,后者简单但维护成本高。我在选型和迁移评估时会把"会计事件是否可配置"作为一个硬指标,因为它直接决定了后续准则变化、税率调整、科目体系重构时的响应速度。
落地时的经验是:不要一上来就把所有事件都做成可配置,那样配置表会膨胀到没人看得懂。我的做法是先梳理出"事件类型清单",一般一个销售到收款闭环在15到25个事件类型之间,然后把其中变更频率高的(收入确认、税额拆分、成本结转)做成参数化配置,变更频率低但影响大的(退货、折让、坏账)做成规则+审批双控,剩下的固定逻辑直接固化。这样既保留了灵活性,又不至于配置失控。
2. 主数据与科目确定:让系统知道该记哪一笔
2.1 记账码与科目确定的映射关系
发货触发的第一笔分录通常是库存转出,这笔分录的科目不是写死在程序里的,而是由一组"确定条件"推导出来的。常见的确定维度包括:物料组、工厂、库存地点、移动类型、客户组、销售组织。系统按这些维度组合去匹配一张科目确定表,匹配到哪一行就用哪一行的存货科目和对方科目。这套机制的好处是同一套程序能适配不同业务,坏处是一旦匹配不上或者匹配错了,分录就记到莫名其妙的科目上,月结时全靠人工翻凭证。
我在项目里一定会做两件事:第一,把科目确定表的维度组合做一次全量覆盖测试,用测试脚本把所有物料组×工厂×移动类型的组合跑一遍,看有没有落空的;第二,给科目确定表加一个"匹配日志",记录每次匹配命中的规则行号,出问题直接查日志,不用猜。这个日志在生产环境会有点性能开销,一般只在上线后前三个月开启,稳定后关掉,需要时再临时打开。
2.2 收入确认方式的选择与配置成本
收入确认方式常见的有三种:交付确认(签收或验收后一次性确认)、完工百分比(按投入或产出进度分期确认)、里程碑确认(按合同约定的节点确认)。这三种在系统里的实现难度完全不同。交付确认最简单,一个状态字段加一个过账程序就够;完工百分比需要成本归集、进度测算、期间调整,配置量大概是交付确认的三到五倍;里程碑确认介于两者之间,但难点在于里程碑的认定要和业务系统的项目节点打通。
我个人的建议是:不要为了"看起来先进"而选完工百分比。如果业务实质是标准产品销售,硬套完工百分比只会增加对账难度。判断标准很简单——如果客户是在整个建造过程中持续受益、且企业有权就已完成部分收取款项,那才用完工百分比;否则老老实实交付确认。我见过一个项目,明明是标准设备销售,非要按完工百分比确认,结果每个月都要测算进度、调整收入,财务三个人忙半个月,最后审计还是要求改回交付确认。
2.3 三张单据的绑定关系要提前定死
销售订单、交货单、发票这三张单据的绑定关系,是整个链路能不能自动化的关键。常见的绑定方式有三种:订单行到交货单行一对多、多对一、多对多。一对多最常见(分批交货),多对一在合并发货场景出现,多对多在换货、拆单场景出现。绑定关系没定清楚,后面开票数量、收入确认数量、成本结转数量三个数永远对不上。
我的做法是在订单行上维护两个关键字段:已交货数量和已开票数量,每次交货过账和开票过账都回写这两个字段,月末直接用订单行的"订购数量−已交货数量"查未发货,"已交货数量−已开票数量"查已发货未开票。这两个余额就是后面所有暂估和递延的源头,把它们看住了,账基本不会乱。
2.4 一个具体的参数算例:暂估应收的价税拆分
假设某笔交货单含税金额113万元,增值税率13%,已签收但月末尚未开票。这时候收入要确认,税不能确认(纳税义务还没发生),所以要做价税拆分:不含税收入=113÷1.13=100万元,待转销项税额=13万元。分录上就是应收暂估113万元拆成主营业务收入100万元和应交税费—待转销项税额13万元。下月开票时,先冲回暂估应收113万元,再按正式发票记应收账款113万元、销项税额13万元,同时把待转销项税额13万元冲平。
这个算法看着简单,坑在于折扣和运费。如果订单上有商业折扣,折扣是开在票上的还是私下返利,处理完全不同:票上折扣按净额确认收入,私下返利要计提预计负债。运费如果是代垫,记其他应收款,不计入收入;如果是包含在售价里的,属于单项履约义务,要分摊交易价格。我在项目里会把这三类情况做成三个开关,配置在订单类型上,跑批时自动判断,避免财务手工区分。
3. 五个典型场景的完整走账链路
3.1 场景一:先发货、客户签收、后开票(标准内销)
这是最常见也最基础的场景。触发程序依次是:交货单拣配过账→出库过账(此时库存减少,成本转到发出商品)→签收单回传并审核→收入确认程序跑批→开票程序生成发票→应收过账。
第一个会计事件是出库过账:借"发出商品",贷"库存商品",金额按标准成本或移动平均价。这一步只动存货,不动损益。第二个事件是签收确认,系统按履约义务金额确认收入:借"应收账款—暂估",贷"主营业务收入",贷"应交税费—待转销项税额";同时结转成本:借"主营业务成本",贷"发出商品"。第三个事件是开票:借"应收账款—正式",贷"应收账款—暂估"(红字冲回可以合并做),借"应交税费—待转销项税额",贷"应交税费—应交增值税(销项税额)"。
差异原因主要出在三个地方:签收单回传延迟导致收入确认跨月;开票价格和订单价格不一致导致应收暂估和正式应收对不上;标准成本和实际成本差异没有及时分摊导致成本结转金额偏差。核对点我一般设四个:交货单已签收数量与收入确认数量一致;应收暂估余额等于已签收未开票的含税金额;发出商品余额等于已发货未签收的成本金额;收入确认金额等于开票不含税金额加未开票不含税金额。
3.2 场景二:需安装验收,发货时不能确认收入
非标设备、系统集成、工程项目这类业务,发货只是物理转移,控制权没转移,收入不能确认。触发链路变成:出库过账→发出商品→到货签收(仅记录物流状态,不触发收入)→安装调试→验收报告签署→收入确认→开票。
这里的关键是"发出商品"要在账上趴一段时间,可能是几周也可能是几个月。分录上,出库时借"发出商品"贷"库存商品";如果这时候客户要求先开票,那就借"应收账款"贷"合同负债"贷"应交税费—应交增值税(销项税额)",注意这时候税要确认,因为开票即产生纳税义务,但收入不能确认,所以挂合同负债。验收完成后,借"合同负债"贷"主营业务收入",同时借"主营业务成本"贷"发出商品"。
这个场景最容易出的问题是"已开票未验收"的余额没人管。合同负债科目越滚越大,实际上有些项目早就验收了,只是验收单没回传系统。我的做法是每月跑一次"合同负债账龄分析",超过90天的逐笔核实,该补验收单的补,该确认收入的确认。另一个坑是安装成本的处理——如果安装是单独履约义务,安装成本要先归集到合同履约成本,验收后随收入一起结转;如果安装只是辅助性活动,直接计入销售费用。这个判断要在合同评审阶段就定下来。
3.3 场景三:先开票后发货,预收与合同负债的区分
客户先付款或者先要求开票,货还没发,这时候收到的是预收款还是合同负债?判断标准是:有没有形成"向客户转让商品"的现时义务。如果合同已经签订、款项已收、企业必须发货,那就是合同负债;如果只是意向金、可退定金,那是预收款(其他应付款)。系统里我一般用两个不同的订单类型来区分,跑批时按类型落到不同科目。
分录链路:收款时借"银行存款"贷"合同负债"(不含税部分)贷"应交税费—待转销项税额"(如果已开票则直接记销项税额);发货时借"发出商品"贷"库存商品";签收确认时借"合同负债"贷"主营业务收入",借"主营业务成本"贷"发出商品",同时把待转销项税额转成销项税额(如果开票时没确认)。
核对点在于合同负债余额必须能逐笔对应到具体的订单行,不能是个混池。我见过有企业把预收、合同负债、其他应付款混在一个科目里,月末根本拆不开,报表附注全靠估。正确的做法是科目下挂"客户+订单行"的辅助核算,余额表能一直钻到单据。
3.4 场景四:出口业务,FOB与CIF的时点差异
出口业务的收入确认时点取决于贸易术语。FOB(装运港船上交货)下,货物越过船舷控制权就转移了,收入确认时点是装船日(提单日);CIF(成本加保险费加运费)下,虽然运费保险由卖方承担,但风险转移时点仍然是装船日,运费保险作为单项履约义务或者合同履约成本处理。这两个术语在系统里的差别主要体现在运费的处理上,收入确认时点反而一致。
分录上,装船确认收入时借"应收账款"(外币,按交易日即期汇率折算)贷"主营业务收入",同时借"主营业务成本"贷"发出商品"。月末要做外币货币性项目重估,应收账款的汇兑差额记"财务费用—汇兑损益"。出口退税的处理是另一条线:借"应收出口退税"贷"应交税费—应交增值税(出口退税)",退税额按免抵退办法计算,这块要和税务系统对接,不能手工算。
差异原因主要是汇率。发货日、开票日、收款日三个汇率不同,如果系统里配的是固定汇率,月末重估就会产生大额差异。我的建议是应收科目用交易日即期汇率记账,月末统一重估,不要在每笔业务上手工调汇。另一个坑是出口货物的成本结转——出口产品的标准成本里如果包含内销分摊的期间费用,会导致成本虚高,这个要在成本核算方案里单独处理。
3.5 场景五:寄售、VMI与附退货权销售
寄售和VMI(供应商管理库存)的共同特点是货物发到客户仓库但控制权没转移,客户领用后才确认收入。触发链路是:发货到寄售仓(借"发出商品—寄售"贷"库存商品",不动收入)→客户领用报告回传→确认收入并结转成本。这里的难点是领用数据的采集,有的客户给Excel,有的给门户接口,有的干脆月末给个总数。系统里要建"寄售库存"这个特殊库存状态,和普通库存分开管理,月末对账时寄售库存余额要和客户方的库存报告对上。
附退货权销售的处理更复杂。准则要求按预期退货比例确认"应付退货款"负债,同时确认"应收退货成本"资产(按预期退回商品的账面价值)。分录是:确认收入时借"主营业务收入"(退货部分)贷"应付退货款",借"应收退货成本"贷"主营业务成本"。退货期满或者实际退货发生时再冲销这两项。系统里要配一个"退货率"参数,可以按物料、按客户、按历史数据测算,每期复核调整。
我遇到过一个坑:退货率参数设成固定值之后没人维护,两年没改,结果实际退货率从3%涨到8%,负债计提严重不足,审计调整了一大笔。后来改成按季度用滚动12个月的实际退货数据重算,超标自动预警。这个机制不复杂,但要有专人负责,否则参数就是摆设。
4. 递延收入与递延成本的落地细节
4.1 递延收入的三种来源要分开管
递延收入在系统里其实对应三个不同来源,混在一起就查不清:第一种是已开票未履约,对应合同负债;第二种是已收款未开票未履约,对应预收账款;第三种是服务期内分期确认的递延,比如三年延保服务,收款时全额挂递延,按月摊销确认收入。这三种在报表上可能都列在"合同负债"项目下,但管理口径完全不同,我在科目设置上一定会做三级明细,跑批时按业务类型自动落科目。
延保服务的摊销要建"服务期间"字段,系统按月跑摊销程序,借"合同负债—延保"贷"主营业务收入—服务",摊销金额=合同金额÷服务月数,最后一个月做尾差调整。注意摊销要和服务实际提供情况匹配,如果客户中途终止服务,剩余递延要一次性确认或按合同约定处理,这个要有审批。
4.2 递延成本:合同履约成本与合同取得成本的区分
递延成本分两类,处理逻辑完全不同。合同取得成本是指为取得合同发生的增量成本,比如销售佣金,预期能够收回的就要资本化,借"合同取得成本"贷"银行存款"或"应付职工薪酬",然后按与收入确认相同的基础摊销,借"销售费用"贷"合同取得成本"。判断"增量"的标准是:不签这个合同就不会发生这笔支出。销售人员的固定工资不算增量,提成才算。
合同履约成本是指为履行合同发生的、不属于其他准则规范范围的成本,比如项目现场的差旅、外包实施费、专用模具。归集时借"合同履约成本"贷"银行存款/应付账款/应付职工薪酬",结转时借"主营业务成本"贷"合同履约成本"。这里最容易出错的是把应该费用化的支出资本化了,比如项目投标阶段的费用、已经明确无法收回的成本,这些不能资本化。我的原则是:只有"已经中标、成本能可靠计量、预期能收回"三个条件同时满足才进合同履约成本,否则一律费用化。
4.3 月结跑批顺序错一步,后面全乱
月结的跑批顺序是有严格依赖的,我把它整理成一张顺序表,项目上都按这个执行:
| 顺序 | 跑批任务 | 依赖 | 出错后果 |
|---|---|---|---|
| 1 | 库存期间关闭、发货过账截止 | 无 | 跨期发货,成本错期间 |
| 2 | 成本计算与差异分摊 | 1 | 发出商品金额不准 |
| 3 | 收入确认批量运行 | 1、2 | 收入与成本不配比 |
| 4 | 开票截止与发票过账 | 3 | 暂估应收挂账不清 |
| 5 | 外币应收重估 | 4 | 汇兑损益漏记 |
| 6 | 递延摊销运行 | 3 | 服务收入跨期 |
| 7 | 总账过账与期间关闭 | 全部 | 报表取数不平 |
这个顺序不能颠倒,尤其是收入确认必须在成本计算之后跑,否则结转成本时用的是旧成本,收入成本不配比。我见过有项目为了赶报表,先跑收入再跑成本,结果主营业务成本是空的,第二天补跑,报表已经发出去了,只能出更正公告。
4.4 自动化到什么程度要有个度
现在很多项目都在推"月结自动化",我的观点是:能自动的自动,该人工的必须留人工。可以自动的是批量过账、摊销计算、重估、对账报表生成;必须人工的是异常清单处理、验收单补录、退货率复核、重大合同判断。我一般会设一个"异常阈值",比如收入确认金额与订单金额偏差超过5%的、应收暂估账龄超过60天的、发出商品余额超过30天的,自动进异常池,必须人工处理完才能关账。这个机制看着增加工作量,实际上是防止带病关账,比事后审计调整划算得多。
5. 差异排查实录与常见问题速查
5.1 四个必查的平衡关系
每月关账前我一定跑这四个平衡检查,任何一个不平都不能关账:
第一,数量平衡:订单行订购数量 = 已交货数量 + 未交货数量;已交货数量 = 已签收数量 + 在途数量;已签收数量 = 已确认收入数量 + 待确认数量。这三个等式把业务到财务的数量链条串起来了。
第二,金额平衡:应收暂估余额 = 已签收未开票的含税金额;发出商品余额 = 已发货未签收的标准成本;合同负债余额 = 已开票未履约金额 + 预收款;递延成本余额 = 未结转的合同履约成本 + 未摊销的合同取得成本。
第三,税额平衡:待转销项税额发生额 = 已确认收入未开票的不含税金额 × 税率;销项税额发生额 = 已开票金额 ÷ (1+税率) × 税率。这两个要能对上,对不上就是有票没记或者有收入没计提。
第四,期间平衡:本期收入确认金额 = 本期开票不含税金额 + 期末应收暂估 − 期初应收暂估。这个等式是收入与开票的桥梁,不平就说明有跨期。
5.2 常见问题速查表
| 现象 | 可能原因 | 排查路径 | 处理方式 |
|---|---|---|---|
| 收入确认了但成本没结转 | 成本计算未跑或发出商品无余额 | 查交货单成本状态、查物料成本估算 | 补跑成本计算,差异手工调整 |
| 应收暂估长期挂账 | 开票未关联交货单、客户拒收未处理 | 查暂估明细账龄、查交货单开票状态 | 补开票或冲销暂估转其他应收 |
| 合同负债越滚越大 | 验收单未回传、项目已完工未确认 | 查合同负债账龄、查项目验收状态 | 催收验收单,超期强制复核 |
| 发出商品余额为负 | 先确认成本后发货、退货未冲回 | 查物料明细账、查退货单过账顺序 | 调整过账顺序,补做冲回 |
| 收入成本不配比 | 收入按售价确认、成本按标准成本结转且差异未分摊 | 查成本差异分摊程序、查毛利分析 | 补跑差异分摊,调整主营业务成本 |
| 外币应收汇兑差异大 | 用了固定汇率、月末未重估 | 查汇率配置、查重估程序日志 | 改即期汇率,补做重估 |
| 退货负债计提不足 | 退货率参数长期未更新 | 查参数维护记录、查实际退货率 | 按滚动12个月数据重算并调整 |
| 开票金额与订单金额不符 | 订单变更未同步、折扣未正确传递 | 查订单变更历史、查价格条件 | 补做价格差异调整或红字发票 |
5.3 几条踩过坑才总结出来的经验
第一,不要把"发货"当成一个点,要当成一个区间。从拣配到签收可能跨好几天,系统里每个状态变化都可能有会计事件,配置的时候要把整个状态机画出来,别只盯着出库过账那一下。
第二,暂估应收一定要能钻到单据。我见过有企业暂估科目余额几千万,问财务是哪些单,答不上来,只能靠估。辅助核算必须挂到交货单号,余额表点进去就是明细,这是底线。
第三,验收单的采集比收入确认程序更难。程序跑批半小时就配好了,验收单回传要跟客户、跟销售、跟物流三方扯皮。项目上线前一定要把验收单的采集方式、回传时效、缺失处理规则定死,否则收入确认永远滞后。
第四,退货率和坏账率这类参数要有复核机制。参数设一次用三年是常态,但业务在变,参数不跟就会失真。我的做法是把参数复核写进月结检查清单,每季度强制复核一次,复核记录留档。
第五,月结不要追求"一次跑完"。分阶段跑,每阶段跑完做一次平衡检查,发现问题当场处理,比全部跑完再回头找要快得多。我一般把月结分成库存段、成本段、收入段、应收段、总账段五段,每段之间设检查点。
第六,测试环境一定要造跨期数据。很多问题只在跨月时才暴露,测试时如果所有单据都在同一个月,跑得再顺也说明不了什么。我会专门造一批"上月发货本月签收""本月发货下月开票""上月开票本月验收"的数据,把跨期场景跑透。
5.4 关于账务与业务的对话方式
最后说个软性的经验。发货到收入这条链路上,财务和业务吵架是常态:业务说我货都发了凭什么不算业绩,财务说客户没签收凭什么确认收入。这种争执靠讲准则条文是讲不通的,我的做法是把"控制权转移"翻译成业务听得懂的话——"客户签收了,说明货他收下了、风险他担了、钱他该付了,这时候才算我们的收入"。然后把签收单的采集做成业务流程里的一个必填动作,业务不传签收单,系统就不让做下一步,用流程倒逼而不是用制度压迫。这个改动看着小,实际效果比开十次协调会都好。
这套东西落到系统里,说到底就是一句话:把业务动作拆细,把每个动作对应的会计后果配清楚,把每个后果的核对方法定下来。拆得越细,后面越省事;拆得越粗,月结越痛苦。我现在做新项目,需求阶段花在事件矩阵上的时间能占到三分之一,看着慢,实际上是把后面几个月的救火时间提前花掉了。