任何学习的思路:一句话,好记性不如烂笔头,多问多记多思考,多总结!
SAP中对于公司间的业务有标准的解决方案,主要针对第三方销售、第三方采购、委外业务、跨工厂调拨物料等,以下是参考一些资料以及个人的总结:
首先公司间交易大概分为以下几种:
1. 第三方销售(third-party order processing)
2. 跨公司销售(cross-company sales)
3. 公司间转储(Intercompany stock transfer)
4. 跨公司转储(cross-company stock transfer)
5. 转包(Subcontracting)
6. 跨公司采购(cross-company purchasing)。
第一到第五中业务相关的图示如下(此图来源于网络,非个人原创):
下面分别对上述六种业务进行解释说明。
适用业务场景:公司对于客户的订单直接让供应商把货发给客户,公司和客户、供应商分别进行结算,相当于公司只是个皮包公司,没有物流执行的环节,只有接单和结算的环节。参考步骤如下:
1. 创建公司对客户的销售订单;
2. 自动生成公司对供应商的采购申请;
3. 采购订单收货(也相当于给客户发货的确认)MIGO;
4. 系统自动更新订单计划行的日期。计划行的确认日期为采购订单的到货日;
5. 采购订单发票交验MIRO,生成应付款,并按照采购金额计入销售成本的凭证;
6. 公司对客户开票,生成应收账款、税和收入的凭证。
适用业务场景,集团内有一家专门负责生产的公司,有独立负责销售的公司,所有的产品均通过销售公司进行销售,不过发货则由生产公司直接发送给客户,销售公司负责接单以及和客户、生产公司的结算。通常销售公司和生产公司在同一个地区,以便于发票及时开具。从财务角度来讲,负责销售的公司没有物流环节,不体现存货进出,只有接单和结算环节,生产公司负责物流,体现存货进出。参考步骤如下:
1. 公司代码1创建销售订单,发货工厂为公司代码2下工厂;
2. 公司代码1创建交货单,装运点为公司代码2下装运点;
3. 公司代码1进行发货过账,产生公司代码2下的会计凭证;
4. 公司代码1对客户开具发票;
5. 公司代码2对公司代码1开具公司间发票,同时通过IDoc产生公司代码1对公司代码2应付。
适用业务场景:不同工厂属于同一个公司代码进行工厂间的物料调拨,参考步骤如下:
1. 一步法调拨,使用移动类型301。
2. 两步法调拨,使用移动类型303和305,可通过MB5T查看在途的库存。
适用业务场景:不同工厂属于不同公司代码进行工厂间的物料调拨。参考步骤如下:
1. 公司代码1向公司代码2下采购订单;
2. 公司代码2创建向公司代码1的交货单并进行发货过账;
3. 公司代码1进行收货;
4. 公司代码2向公司代码1开销售发票,产生向公司代码1的应收;
5. 公司代码1做发票校验,产生向公司代码2的应付。
说明:STO可配置为公司代码2发货过账时公司代码1在系统中同时进行收货,公司代码2开具销售发票时通过IDoc产生公司代码1的应付。
适用业务场景:委外加工业务,具体可分为标准委外和工序委外,最大的区别是是否需要对发出的物料进行物流管理,如果要,建议走标准委外,另外,如果委外周期长,加工步骤多,也是建议走标准委外,具体情况根据实际业务判断,工序委外直接由生产订单触发一个F类的采购订单,采购一笔加工费到生产订单,此处不再进行具体描述,以下是对标准委外进行步骤说明。
1. 公司向加工商下采购订单,采购价格为加工费,同时在采购订单中指定组件,组件中包括向加工商发出的材料;
2. 公司向加工商发货,可以有或没有交货单,库存状态有自有库存变为O库存;
3. 公司收货,产生会计凭证,消耗原材料,计算加工费,更新产成品,可理解为消耗的原材料成本加上加工费等于加工完成的产成品成本,如果有差异,则计入价差科目;
4. 公司发票校验,产生向加工商的应付。
适用业务场景:集团内销售公司需要传递需求到生产公司,并希望通过销售公司的销售订单链接整个业务过程,销售公司和生产公司通过STO进行物流转移和财务结算,最终销售公司向客户发货并和客户结算,参考步骤如下:
1. 集团外客户向公司代码1下订单,公司代码1创建自己销售范围下订单;
2. 公司代码1跑MRP,产生向公司代码2的采购申请,并转换为跨公司采购订单;
3. 在公司代码2跑MRP,产生计划订单,转为生产订单(注意MRP4视图独立/集中设置为1),订单中可以看到原始销售订单号码;
4. 生产订单完工收货,收货后为客户库存,VL10B发货给公司代码1,发货后变为公司代码1在途库存,MB5T可查看;
5. 公司代码1收货;
6. 公司代码2开具发票给公司代码1;
7. 公司代码1做发票校验(也可在6.步骤中通过IDoc同时产生公司代码1对公司代码2的应付);
8. 公司代码1发货给客户,并开具发票。
1. 公司间转移资产如何实现?
答:如果公司间进行合并,比如公司2被公司1完全吸收合并,也就是说资产不是通过买卖方式进行转移,而是合并的话,我们可考虑通过ABT1N进行批量的资产跨公司转移,在使用ABT1N进行跨公司资产转移的是注意点如下:
1) 需要配置公司并分配公司代码给公司,SAP中才可以视为公司为联营公司,公司代码和分配给同一个公司或者不同公司,ABT1N生成的凭证有所不同;
2) 配置转移变式,转移变式中设定转移方法和使用的事物类型,并可以针对转移变式设置哪些字段可以在转移时复制到目标公司的新的资产号中(在ABT1N中需使用转移到新资产);
3) 设置资本化日期可以修改(以便资本化日期可以从原始字段复制到目标资产);
4) AO90配置从关联公司购置对应的科目;
5) 可能需修改AC305/306消息号为警告,如果固定资产清理科目设置为资产负债类科目的话。
说明:在使用LSMW录屏过程中,SM35执行时,会出现“LEAVE TO TRANSACTION 在批处理中不能使用”的错误提示,不过不影响执行的结果(可以正常导入),判断是因为ABT1N正常操作时保存后会出现一个对话框提示产生的凭证,而在批处理中无法显示这个对话框导致的。
2. 如何进行公司间清账科目的配置?
答:可使用事物代码OBYA进行配置,配置的事物代码可选择40/50或01/31,如果公司间仅交易不挂客户、供应商,则配置40/50以及对应的总账科目作为公司间清账科目即可,如果公司间交易需要挂客户、供应商(比如通过发货单产生公司间交易),则需配置01/31并把客户、供应商设置为清账科目。公司间清账配置对应的表为T001U。
3. 内部订单是否可以跨公司使用?
答:使用统计性内部订单可统计跨公司费用,比如一个项目,部分费用发生在A公司,部分费用发生在B公司,A,B公司记账时除了记账到各自成本中心外,也记账到同一个统计型内部订单,这样通过内部订单统计到A和B一共发生的费用。创建这种统计型内部订单时不需输入公司代码。实际型内部订单不可以跨公司代码,创建时必须输入公司代码。
另外,模型订单(Model Order)用来指定内部订单创建时的默认值,可将模型订单分配给内部订单。
4. 何时会产生跨公司的会计凭证?
答:当一笔业务交易(不管来源于后勤业务还是财务模块)涉及到了两个公司代码,此时会产生跨公司会计凭证,即一笔业务分别在两个公司下产生一笔会计凭证,后勤业务比如跨公司发料,跨公司报工等都会自动产生跨公司会计凭证。在财务模块输入凭证时,如果在一个行项目中输入了不同于凭证抬头的公司代码,则会产生跨公司会计凭证,如下图所示:
20190702更新:
配置OBYA公司间清账科目的前提是OBY6中公司代码参数中字段“公司”均不为空或者均为空,不可以其中一个公司代码有值,另外一个公司代码没有值。
另外,可使用SE38执行程序RFBVOR00程序查询跨公司凭证,或通过FBU2查询。
2021-07-24更新:
对于跨公司销售的补充说明:
因为跨公司销售模式下销售公司不体现库存的进出,其成本是直接计入销售成本科目,也就是说从库存成本上看,是不包括跨公司销售的物料的,从销售成本角度看,则是包括的。国内有些公司受传统会计的思维影响,要求销售公司体现库存进出。笔者对此的观点如下:
跨公司销售的目的就是为了减少业务环节的,因为业务本质是销售公司没有库存进出,主要体现结算信息。
另外,销售公司增加了库存进出,就变成了两个公司间正常的买卖业务,本身就不再是跨公司的业务模式。
因此,建议从业务角度理解,而非只关注财务核算步骤,国内的确因为传统财务核算理念的限制,有时会要求不管怎样,都要体现库存进出,个人认为这是只注重形式不注重业务实质的体现,也是过于保守的体现。
财务的核心是看是否真实反映了业务,而不应仅仅局限于核算的形式!
不管是国际会计准则还是国内的会计准则,也在随着实际业务的发展而不断的完善和改进的,我们认为既简化了业务操作的节点,又反映了业务实际情况的跨公司销售方案是有其合理性的。
2022-03-10更新:
SAP最新的云版本也支持了跨公司销售模式下,可以体现销售公司库存进出的方案,在本地版本没有,笔者没有测试过,请大家以测试为准。