简介:这是一份SAP现金销售订单业务处理的流程设计规范,面向涉及现金销售业务的录单文员、销售、仓库及财务人员,用于指导在SAP中完成从订单创建、发货过账到发票清账的标准化操作。文档共1个PDF文件,大小约756KB,内容完整覆盖业务背景、流程概览、详细操作步骤以及系统配置实现,重点说明了订单类型BV、行项目类别BVN、计划行类别ZP、移动类型Z01、定价过程ZKD04/ZKD05、开票类型BV及现金科目确定等配置要点,特别介绍了现金销售与标准销售分离的设计思路,例如订单保存时自动生成交货单、发票提前打印、发货过账采用后台定时作业、出纳收款后直接清账,从而简化流程并提升效率。已有101人学习下载,适合SAP实施顾问、企业IT支持和业务骨干在实际项目配置及日常运行维护中参考。
1. 现金销售业务上SAP:为什么不能继续用发出商品
现金销售在SAP里是个容易被低估的场景。很多公司上线时只配了标准销售流程,遇到一手交钱一手交货的门店或子公司业务,直接把订单类型复制一个出来就用,结果月底财务对账时发现成本挂在发出商品上,收入却已经确认了——物权都转移了,钱也收了,库存商品还在发出商品科目里躺着,怎么看都不对。现金销售的特点是出货和开票几乎同时发生,或者至少月结,不存在跨月开票的问题,这时候再走发出商品中间科目,既绕远了,又会把资产负债表上的存货数据带偏。
这套现金销售配置方案的价值在于:把现金销售从标准销售流程里彻底分离出来,销售订单保存时自动产生交货单,发票打印在仓库拣配与发货过账之前完成,发货过账可以设成后台作业每天定时跑,出纳收了现金直接开票清账。整个过程不需要手动清账,凭证流自动处于清账状态。适合正在上线SAP SD模块、需要处理现金销售业务、又不想在发出商品科目上绕弯子的实施团队。
2. 业务操作流程:从订单到清账的三步闭环
2.1 创建销售订单:立即交货是关键开关
现金销售订单的事务码还是标准的VA01,但订单类型必须选BV,行项目类别是BVN。这里的核心配置差异是:订单类型BV勾选了“立即交货”,保存订单的同时系统会自动产生交货单,不需要像标准流程那样单独做一个VL01N交货单创建动作。
创建订单时要注意几个字段:
- 订单类型:BV,现金销售专用
- 行项目类别:BVN,参考订单出具发票
- 计划行类别:ZP,复制CP创建而来
- 移动类型:Z01,发货过账用;冲销用Z02
客户信息、物料信息、价格信息这些还是按标准流程录入,支付条件明确为现金支付。保存后立即查看订单,凭证流里应该已经能看到自动生成的交货单。
保存订单后,录单文员接下来要做的是把发票打出来。注意顺序:发票打印在仓库拣配和发货过账之前,也就是说卖货的还没拣货,发票已经先开出来了。这是现金销售和传统赊销在操作节奏上最明显的区别——不是货发了再开票,而是订单建立后马上开票,钱货两清。
2.2 发货过账:可以挂后台定时跑
发货过账在MIGO里做,移动类型选Z01。这一笔会产生会计凭证,分录是:
借:主营业务成本 贷:库存商品这跟传统业务的出库分录完全不同。传统业务出库时是:
借:发出商品 贷:库存商品成本不在这时候结算,等开票时才做收入和成本的配比。现金业务没有跨月问题,出库直接转成本。
发货过账这个动作,文档里特别提到可以设置为后台作业,每天定时过账。也就是说仓库拣配完成后,实物已经出库,但系统过账动作可以放在夜深人静的时候集中跑。这个设计对业务量大的门店或子公司很实用,白天录单员只管录单和收钱,过账这种事交给系统定时做,省去每笔单都盯着过账的麻烦。
2.3 开票清账:出纳收钱后直接完成
开票用VF01或VF11,开票类型BV。这一步产生会计凭证:
借:现金-人民币 贷:主营业务收入 销项税现金业务不需要走应收账款,也看不到发出商品。开票完成后,去凭证流里看,会计凭证已经是清账状态,不需要手动清账动作。
这里有个理解上的关键点:传统业务开票时,因为出库时已经挂了发出商品,所以开票要把发出商品转成主营业务成本,同时挂应收账款。现金业务出库时成本已经结转了,开票就只确认收入和现金,两个动作各管一段,不存在交叉。
实操中订单、发货过账、开票三个动作可以不是同一个人完成:录单文员建订单打发票,仓库拣配出库,出纳收钱后在系统里做开票清账。凭证流把三个动作串在一起,什么时候哪一步没做,一眼就能看出来。
3. 订单与行项目配置:BV、BVN、ZP三个对象一次配齐
3.1 订单类型BV:区别只在一个勾选
订单类型配置在后台路径:销售与分销-销售-销售单据-销售单据头-定义销售单据类型。复制一个现有的订单类型,或者直接新建,订单类型代码是BV。
跟常用订单类型相比,最关键的差异就是“立即交货”这个勾选。勾上之后,销售订单保存时系统自动生成一张交货单。这个开关直接决定了第2章里说的“订单保存后自动产生交货单”这个行为能不能成立。
另外还需要维护订单类型的单据范围、号码分配、合作伙伴确定过程等基础设置。这些跟标准订单类型差别不大,照常用配置复制就行。
有个容易漏掉的地方:订单类型BV的“一般控制”页签里,需要把“交货不足/过量”的相关容差设一下。现金业务场景下,客户付了钱通常希望货一次拿齐,分批发货的情况相对少,容差设小了容易卡流程,设大了又容易超发。我一般会参考已有赊销订单类型的容差设置,先保持一致的尺度,跑一段时间再看要不要调。
3.2 行项目类别BVN:发票挂在订单上,不挂交货单
行项目类别配置路径:销售与分销-销售-销售单据-销售单据项目-定义项目类别。行项目类别代码是BVN。
BVN的关键配置是“参考订单出具发票”,而不是参考交货单。这个配置决定了开票时系统去哪里取数——直接读销售订单的金额和数量,而不是等交货单过账后再开票。这是现金销售能实现“先开票后发货”这一操作顺序的根本原因。
项目类别的其他关键设置:
- 项目类别状态:已启用
- 业务项目:勾选
- 定价:需要,走定价过程ZKD04
- 装运:需要,因为涉及发货过账
- 计划行:需要,计划行类别ZP
BVN跟标准行项目类别一个重要区别是:BVN的“交货相关”设置里,不会因为是立即交货而改变交货单生成逻辑,交货单照样自动产生,但发票引用的是订单,不是交货单。这个逻辑关系要想清楚:自动产生交货单是为了后面发货过账用,发票引用订单是为了先开票。两个动作各引用各的单据源头,互不牵扯。
3.3 计划行类别ZP和移动类型Z01、Z02、Z11
计划行类别配置路径:销售与分销-销售-销售单据-销售单据计划行-定义计划行类别。复制计划行CP,创建新的计划行ZP。
ZP的配置要点:
- 计划行类别代码:ZP
- 描述:现金销售计划行
- 物料主数据参考:根据需要设置,一般保持与CP一致
- 移动类型维护:在这里挂上Z01、Z02、Z11三个移动类型
移动类型的准备工作要一次做全:
- 复制601,创建移动类型Z01,用于发货过账
- 复制602,创建移动类型Z02,用于冲销发货过账
- 再随便复制一个移动类型,创建Z11,用来做科目修改码
Z01和Z02成对出现,这是基本原则。只配了Z01不配Z02,发货过账万一错了,想冲销的时候找不到对应的移动类型,单据就卡死在那边。
Z11的作用比较绕:它是一个科目修改码。移动类型Z01要在OMJJ(移动类型维护)里配置科目修改码Z11,配置完成后,在OBYC里查看GBB的Z11科目分配。这样设置完成后,只要物料的评估级别是3000,出库时都直接结转到主营业务成本。
这里我展开说一下科目修改码的工作逻辑。OBYC是SAP自动记账科目确定的核心配置表,GBB是指库存记账的科目确定组,里面的修改码用来区分不同的库存记账场景。标准601移动类型一般用WA或者VAY这类修改码,对应库存商品科目。现金业务需要出库直接进主营业务成本,所以给Z01配了一个自定义修改码Z11,在OBYC-GBB下面给Z11分配主营业务成本科目。
注意这里有个前提:物料的评估级别必须是3000。评估级别跟工厂的 valuation area 设置有关,如果公司用的是工厂级评估,那评估级别就是工厂代码。这条设置生效的前置条件就是评估级别得对上,否则科目确定还是走原来的逻辑。
4. 定价过程与科目确定:ZKD04、ZKD05和现金科目的取舍
4.1 定价过程ZKD04:删掉应计项
定价过程配置路径:销售与分销-基本功能-定价-定价控制-定义并分配定价过程。复制ZKD01,创建一个新的定价过程ZKD04。
标准定价过程里,应计项(Accruals)是一个特殊条件类型,它会把订单金额的一部分先计提到一个应计科目,等后续实际开票时再转出。传统业务模式下,因为有发出商品这个中间科目,应计项需要分配一个帐码来配合发出商品的记账逻辑。
现金业务不需要发出商品,所以应计项在ZKD04里要删除。这个动作的意义是:现金销售从订单到开票不经过任何中间科目,收入直接确认,成本出货时直接结转,定价过程里不应再挂着应计逻辑。
ZKD04配置完,要分配给销售订单类型BV的定价过程。路径在订单类型配置的“定价”页签里设置,找到适用的定价过程,填入ZKD04。
定价过程删除应计项之后,还要检查一下定价过程里的其他条件类型顺序是否正确。现金业务的定价过程比标准过程简单,常见的条件类型保留PR00(价格)、MWST(税)、VPRS(成本)这几项,如果有折扣或附加费条件,按实际情况配置。ZKD04里保留VPRS没有关系,因为订单阶段需要看到成本信息来做毛利分析。
4.2 定价过程ZKD05:删除VPRS,这是账户确定能跑通的前提
复制ZKD04,创建一个新的定价过程ZKD05,分配给开票类型BV。跟ZKD04相比,ZKD05关键差异是删除VPRS,也就是成本价那个条件。
为什么要删VPRS?文档里写得很直接:如果不删除VPRS,最后开票批准至会计的时候,就会账户确定出错。查看报错原因就是这个VPRS找不到对应的科目。
这个报错背后的逻辑是:开票类型BV用的账户确定过程是KOFI00,KOFI00跟标准F2开票类型用的是同一个账户确定过程。在标准流程里,VPRS条件会触发把成本从发出商品转到主营业务成本的记账逻辑,所以KOFI00里为VPRS配置了对应的科目。但现金业务的开票,成本早已在发货过账时结转掉了,发票上如果再带着VPRS条件,系统尝试为VPRS找科目时,在这个业务上下文里找不到合适的科目分配,账户确定就直接报错。
删掉VPRS之后,发票只有收入和税,KOFI00就能正常完成账户确定。为什么删掉就能找到科目,原文档作者也说没彻底搞明白SAP的取值逻辑,但结论是明确的:现金订单和开票使用不同的定价过程,ZKD04在订单阶段保留VPRS做毛利分析,ZKD05在开票阶段删掉VPRS保证账户确定不报错。
如果你想把VPRS保留在开票里,也不是完全不行,需要在KOFI00的账户确定配置里给VPRS专门指定一个对方科目,但这样做的代价是你得单独维护一套开票的科目确定规则,而且很容易跟F2的科目配置互相干扰。既然现金业务成本已经结转,删VPRS是最干净的做法。
4.3 开票类型BV与账户确定过程KOFI00
开票类型配置路径:销售与分销-基本功能-开票-开票凭证-定义开票凭证类型。开票类型代码是BV。
开票类型大部分配置跟F2类似,账户确定过程用KOFI00。这里有个隐患:F2和BV共用KOFI00这个账户确定过程,这也就是为什么VPRS条件在BV开票里会出问题——KOFI00的配置是按F2的标准流程设计的,F2开票时VPRS能找到科目是因为F2的业务上下文里有对应的记账规则,BV现金业务中没有。
所以理解一句话就够:共用一个账户确定过程不是问题,问题是定价过程带不带VPRS。F2的定价过程带VPRS且能正常找到科目,因为标准流程里VPRS有对应的科目分配逻辑;BV的定价过程ZKD05删了VPRS,绕开了找不到科目的问题,让KOFI00只用处理收入和税这两块。
4.4 现金科目确定:把现金科目挂上去
现金科目确定路径:销售与分销-基本功能-账户分配与成本分摊-科目确定-现金科目确定。操作方法是直接分配现金科目就行。
这里要分配什么科目,取决于公司的科目表设置。比如公司用的人民币现金科目是100201(现金-人民币),那就在现金科目确定里把支付方式对应的现金科目填上。开票类型BV开票清账时,系统根据这个配置把现金-人民币科目挂到会计分录的借方。
如果你的公司有多个币种的现金账户,这里可以按支付方式或者按币种分别配置。门店收到的如果是外币现金,需要在配置里加上币种条件,避免所有现金销售都走人民币科目。这一块不难,但容易被忽略。我见过某公司的现金销售开票后,凭证里借方挂的是应收账款而不是现金科目,查了半天就是现金科目确定里漏配了支付方式的科目,导致系统按标准F2路径走了应收。
5. 配置避坑:VPRS删除、Z02冲销和后台过账的常见问题
5.1 开票批准到会计报错,提示VPRS找不到科目
现象:用BV开票类型开票,单据保存没问题,但过账到会计时系统报错,提示条件类型VPRS找不到对应的科目确定。
原因:BV开票类型复用了标准开票类型的账户确定过程KOFI00,但ZKD05定价过程里带了VPRS成本价条件。KOFI00的科目配置是按标准流程建的,现金业务上下文中VPRS触发不到合适的科目。
解决:在定价过程ZKD05里删除VPRS条件。现金业务成本已经在Z01发货过账时结转过一次了,开票时不该再带成本价条件,删掉后KOFI00能正常完成收入和税的账户确定。
这个坑是文档作者自己踩过的,原话是“查看分析原因就是这个VPRS找不到对应的科目,但是为啥删掉就可以找到了,没搞明白SAP的逻辑”。我后来理解是:VPRS在标准流程中会触发成本相关记账,KOFI00配置中也许有一条隐含的取值逻辑,在发票不含VPRS时会走备用路径;当VPRS存在,反而锁死了科目取数,导致找不到科目。
5.2 发货过账错了,找不到冲销移动类型
现象:Z01发货过账做错了,想在MIGO里冲销,发现凭证不能冲,系统提示没有定义冲销移动类型。
原因:配置时只复制了601创建Z01,没复制602创建Z02。SAP里移动类型601和602是两个独立的移动类型,报错冲销需要找到移动类型Z02才能操作。
解决:在移动类型配置里复制602,创建Z02。这样MIGO里就能正常做反向过账,Z02会生成一张冲销凭证,把Z01的会计凭证冲掉。创建Z02时注意科目修改码也要跟Z01保持一致,都指向Z11,否则冲销的科目跟原凭证不一致,对账又会有差异。
这个教训是:移动类型不是配一个就够了,正向和冲销要成对创建。补配Z02时如果物料已经产生了库存差异,冲销完成后要复查一下库存和会计凭证是否已恢复到过账前的状态。
5.3 发票在拣配和发货过账之前打印,仓库还没发货发票已开
现象:第一次跑现金销售,录单员创建销售订单后,系统自动产生了交货单,紧接着仓库按标准流程去拣配。但财务同步操作开票时,发现发票已经打出来了,而货还没发。
原因:这是现金销售的设计意图,不是报错。发票在仓库拣配与发货过账之前完成是业务规则,不是配置错误。
解决:调整操作节奏——录单文员创建订单后立刻开票,仓库在拿到已开具的发票后拣配发货。如果公司里仓库是独立团队,需要提前跟仓库说明这套业务的单据流转节点,避免仓库以为发票错误早开。如果出现发票开了但客户又取消订单的场景,从订单侧做取消并要求发票作废,不要直接把发票冲掉再去处理库存。
5.4 每天大量现金订单,财务逐笔过账忙不过来
现象:现金销售业务上线后订单量很大,录单文员录单、开票、清账一套流程走下来,每天要在MIGO里逐笔做发货过账,财务白天时间被大量机械性操作占满。
原因:发货过账完全可以自动化,但上线时没设置后台作业。
解决:把发货过账设置成后台作业,每天定时过账。配置路径是事务码SM36,创建一个后台作业,作业步骤调用过账程序,时间表里设置每天固定时间点跑。一般安排在凌晨跑,白天录单,晚上自动过账。设置完后台作业后,第二天上班检查作业执行日志,确认无报错凭证即可。
需要注意:后台作业过账的日期是作业运行的日期,如果当天订单需要当天财务入账,定时时间不能设太晚,财务关账时间要跟作业执行时间做配合。如果个别订单需要马上过账,MIGO里手动跑一次也不影响后台作业的批量执行。
5.5 传统业务和现金业务物料共用一个工厂,科目分配串了
现象:同一个工厂下,有的物料走赊销标准流程,有的走现金销售。某天发现赊销出库时成本科目也进了主营业务成本,没有走发出商品。
原因:配置Z11科目修改码时,把评估级别3000的物料全部指向了主营业务成本。赊销业务的发货过账如果用了同一个移动类型或被科目修改码Z11覆盖,成本就会直接进主营业务成本。
解决:确认赊销业务的发货过账移动类型仍然保留标准科目修改码,没有被Z11覆盖。最稳妥的做法是现金销售移动类型Z01只用于现金销售的订单类型和项目类别组合,不要全工厂共用。评估级别3000如果范围太大,可以考虑给现金销售专门建一个评估类型或工厂,做物理隔离。
这个坑通常在测试期就能发现,但前提是测试数据要用两种业务各跑一遍完整流程。如果只测了现金销售,赊销流程在回归测试里漏掉了,上线后第一笔赊销出库就会串科目。
6. 装完怎么验证:凭证流和清账状态的完整检查
配置做完,拿一笔测试订单走完整流程,这是验证配置是否正确的唯一方式。我在某公司上线时是这么测的:
第一步,VA01创建现金销售订单。订单类型BV,行项目类别BVN,物料用一个评估级别为3000的测试物料,客户用一个现金销售专用测试客户。保存后进入VA03查看凭证流,确认系统已自动生成交货单。这一步能验证立即交货开关和计划行类别ZP是否生效。
第二步,在VA03的凭证流里查看定价结果。确认ZKD04定价过程中包含了收入、税、成本(VPRS保留),毛利能正常算出来。如果这里就看不到成本,说明订单定价过程没分对,回后台去检查订单类型BV的定价过程分配。
第三步,执行开票。事务码VF01,输入销售订单号,确认开票类型是BV,保存并过账。过账后立刻用VF03查看这张发票的会计凭证。这一步是关键验证点:
- 借方是现金-人民币科目,不是应收账款
- 贷方是主营业务收入和销项税
- 凭证里没有发出商品,没有VPRS相关过账
如果凭证里有应收账款或发出商品,回到第4.4节和4.2节检查现金科目确定和ZKD05的配置。
第四步,MIGO做发货过账,移动类型输Z01。过账后生成会计凭证,借方是主营业务成本,贷方是库存商品。如果科目不对,回OBYC检查GBB-Z11的科目分配。
第五步,回到VA03查看完整凭证流。理想状态是能看到四张凭证:销售订单、交货单、发货过账凭证(Z01)、开票清账凭证。发票的会计凭证上,清账状态应该已经是“已清账”,不需要任何手动清账操作。
第六步,如果第一次测试就成功,可以再复制一张测试订单,MIGO里用Z02对Z01的凭证做冲销,然后重新过账,验证一下冲销链路是通的。这个动作虽然增加测试工作量,但能保证以后犯错时有后悔药可吃。
第七步,把发货过账改成后台作业跑一次,确认SM36里作业执行成功,过账凭证的日期和数量没有异常。
整套验证走完后,建议写一份测试记录表,把订单号、交货单号、发票号、会计凭证号对应关系保留下来。以后每次配置变更或系统升级,拿这套测试数据跑一遍回归,比看配置截图直观得多。
从那以后我每次配现金销售,都会强制把VPRS删除这步单独检查一遍,再走一次完整凭证流测试,确认清账状态没问题才放手。这个习惯救过我不少次,希望帮到你。
本文还有配套的精品资源,点击获取