SAP PS 第11节 收入类项目结果分析及结算

SAP PS 第11节 收入类项目结果分析

  • 1 收入类项目结果分析
    • 1.1 OKG1定义结果分析码
    • 1.2 OKG2定义版本信息,成本控制范围+RA版本
      • 1.2.1 定义结果RA成本要素
      • 1.2.2 定义结果分析版本,传输至财务,要勾选允许RA码的科目分配
    • 1.3 OKG3定义范围+RA码
      • 1.3 1. 6888+0+ZPS001
      • 1.3.2 6888+0+ZPS002,主要是基于成本计算,有不同的状态
        • 1.3.2.1 评估基值是S,取计划收入
        • 1.3.2.2 评估基值是R,取实际收入
      • 1.3.3 6888+0+ZPS003,改一下内容
      • 1.3.4 6888+0+ZRCN01,基于利润的状态核算,主要目的还是用户接口处理
        • 1.3.4.1 CRTD
        • 1.3.4.2 REL
        • 1.3.4.3 TECO
    • 1.4 OKG3定义范围+RA码
    • 1.5 OKG5将控制范围+RA版本+RA码分配成本要素到行标识
    • 1.6 定义结果分析,把定义的行成本要素更新到次级成本要素上显示
    • 1.7 过账给FI规则
    • 1.8 做项目KKA2 结果分析
      • 1.8.1 按照上面逻辑,做计划收入、实际收入、计划成本、实际成本等
      • 1.8.2 看实际结果分析KKA2
      • 1.8.3 看各类行明细
      • 1.8.5 再看模拟过账,会把未实现的准备金54040000过账给FI
  • 2 结算参数文件配置
    • 2.1 分配结构
    • 2.2 PA传输结构
    • 2.3 结算参数文件
  • 3 执行结算
    • 3.1 项目首层WBS维护结算目标
    • 3.2 CJ88执行结算
    • 3.3 项目该记录的收入均记录下,该记录的成本都记录下,准备将项目TECO
      • 3.3.1 再次结果分析
      • 3.3.2 执行CJ88结算
      • 3.3.3 再看项目报表

都说不搞结算的顾问不是好顾问,算了,不能遇到财务当鸵鸟。
PS:以前这的块乱七八糟,最近重构下。

1)收入类项目结算的目的,是为了结算收入-成本的差值(毛利),也就是把项目的余额(毛利)结转到COPA或者财务科目。
如果按照成本类项目的思维,假如成本是1000,转出成本就是1000,这样项目余额才会变为0。
那么有收入和成本的呢?假如收入是1000,成本是300,那么项目余额是不是700呢?是不是需要把700转出,项目余额才能变为0。
理解以上内容是收入类项目的结算基础。

2)结果分析是啥,是为了核实项目进度准备的。POC结果分析的目的,就是为了确定项目进度。
以实际收入/计划收入作为POC进度为例。
假如计划收入100W,实际收入30W,那么核实项目POC进度为30%。
假如此时计划成本50W,实际成本20W,应该转在制品多少钱呢?也就是20W-15W=5W。
理解结果分析的目的,也就是理解匹配的收入和成本,也是收入类项目的结算基础哦。

1 收入类项目结果分析

1.1 OKG1定义结果分析码

此处系统定义了000001-000004,分别用于内部订单/项目、生产订单结算、成本收集器制造、销售订单结算(采用E+空或者E+M模式)

我们直接拷贝成自己的,一点不含糊。
在这里插入图片描述

1.2 OKG2定义版本信息,成本控制范围+RA版本

1.2.1 定义结果RA成本要素

在这里插入图片描述

就定义为次级成本要素即可,类别是31
在这里插入图片描述
在这里插入图片描述

1.2.2 定义结果分析版本,传输至财务,要勾选允许RA码的科目分配

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:
1.“传送至财务会计”,这个选项决定了最终的结算是否能产生会计凭证,对“传送至财务会计”打勾,最终结算才能产生会计凭证。但必须在定义好“财务会计的记账规则”之后才能对此选项打勾。
2.在计算在产品WIP或结果分析中,勾选“相关销售订单产品中的定单”的话,如果在结算完销售订单后,生产订单的成本又有所改变,只需要再次结算销售订单,即可以把生产订单上的成本结转出来;反之,则必须先结算生产订单,将成本从生产订单转到销售订单,然后再结算一次销售订单。
3.生成行项目,表示按行来计算资本化成本(应该计入COPA的成本)

1.3 OKG3定义范围+RA码

此处我们先用最简单的非专家模式
在这里插入图片描述
在这里插入图片描述

结果分析方式(01):在结算过程中,将未实现的成本(如在制品、产成品、准备金等)资本化的方式;
状态控制:
结果分析状态(REL):表示在销售订单行项目状态为REL的情况下才可以进行结果分析;
删除的存货/准备金状态(TECO):表示在TECO的状态下实际成本均结转为主营业务成本,而不会结转到在制品或准备金中;
利润基值
对象和独立对象的计划值:表示项目结算时,计划基值取WBS的计划成本。项目结算默认选这个。
销售订单的成本估算:表示销售订单结算时,销售成本先取销售订单成本估算的计划成本,当实际发生的成本(实际成本+在制品)大于计划成本时,销售成本才取实际成本+在制品;
销售订单物料的标准价格:表示销售订单结算时,销售成本先取物料的标准价格,当实际发生的成本(实际成本+在制品)大于标准价格时,销售成本取实际成本+在制品。
评估等级
总计层的评估:表示在成本总计层面进行结果分析,并不对每一个行标示进行结果分析,“行标示”详见1.5。如果选择此项,可能无法看到每个行标识对应的在制品,只能看到系统汇总层面的。
行标识层评估:表示对每一个行标示进行结果分析。例如,系统将对物料、人工、费用都进行独立的资本化,本次选择该项。
仅用于特殊方法的参数:
基础数量(B):表示开票的数量是结果分析的基础,以开票数量为结转销售成本的依据,为开票的数量的成本计入在制品。

稍微复杂的专家模式,我把以前配置的专家模式截图也放下面了1.3.1-1.3.4了。

1.3 1. 6888+0+ZPS001

在这里插入图片描述

1.3.2 6888+0+ZPS002,主要是基于成本计算,有不同的状态

在这里插入图片描述

1.3.2.1 评估基值是S,取计划收入

在这里插入图片描述

1.3.2.2 评估基值是R,取实际收入

在这里插入图片描述

1.3.3 6888+0+ZPS003,改一下内容

在这里插入图片描述

1.3.4 6888+0+ZRCN01,基于利润的状态核算,主要目的还是用户接口处理

1.3.4.1 CRTD

在这里插入图片描述

1.3.4.2 REL

在这里插入图片描述

1.3.4.3 TECO

在这里插入图片描述

1.4 OKG3定义范围+RA码

在这里插入图片描述

“行标示”用于对进行结果分析相关的成本要素或收入要素进行分组。
项目结算,其实用不到SET,但是生产订单结算时会用到。

1.5 OKG5将控制范围+RA版本+RA码分配成本要素到行标识

这儿只是简单的分析下。具体科目还得和财务详细比对并确认。

这儿的目的,就是把相关成本要素都归为到行标识上。最终根据行标识类别来分别进行资本化。(为什么不能根据每个成本要素都资本化呢?因为成本要素太多了,密密麻麻所有成本要素都自己有一套资本化,这报表也没法看了)

在这里插入图片描述

成本要素,就是财务定义的5开头的一些成本要素。有些项目也可能定义为6开头的,看项目情况吧
此处定义了6888控制范围下,ZLGZ01结果分析码的4个行标示分别对应的成本要素的区间范围。其中501开头的是物料,502和503是人工,504~520都是费用,6001是收入。
在这里插入图片描述

1.6 定义结果分析,把定义的行成本要素更新到次级成本要素上显示

在这里插入图片描述
此处定义了结果分析数据被更新(即:结果被保存)时,每一个行标示(成本要素组)对应的次级成本要素。在项目结算时,SET的就不需要做资本化了,因为SET的是毛利转出部分。

PS:此处其实是很难理解的。
我们在以最初的例子作为演示:

假如计划收入100W,实际收入30W,那么核实项目POC进度为30%。
假如此时总计划成本50W,总实际成本20W
其中成本中
人工计划10W,实际人工费4W
物料计划30W,实际物料成本10W
其他费用计划10W,实际费用6W

那么按照POC进度,如果按行进行资本化,那么

人工计划10W,实际人工费4W,需要资本化的费用是3W,转在制品的是1W
物料计划30W,实际物料成本14W,需要资本化的费用是9W,转在制品的是5W
其他费用计划10W,实际费用2W,需要资本化的是3W,转在制品的是-1W。负的在制品即为准备金。

831000001:存储人工成本的在制品1W
831000002:存储人工成本的准备金0。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000002也可以配置成831000001,财务上认为负的在制品即为准备金。
831000007:存储人工成本需要资本化的金额3W

831000003:存储物料成本的在制品5W
831000004:存储物料成本的准备金0。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000004也可以配置成831000003,财务上认为负的在制品即为准备金。
831000008:存储物料成本需要资本化的金额9W

831000005:存储费用成本的在制品0
831000006:存储费用成本的准备金1W。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000004也可以配置成831000003,财务上认为负的在制品即为准备金。
831000009:存储费用成本需要资本化的金额3W

831000010:存储实际收入30W

1.7 过账给FI规则

本次就只定义3行(简单处理,也可以按照结果分析的值分行处理,这个需要咱们自己详细测试体会)
在这里插入图片描述
5001990200生产成本-生产成本结转-在制品转出(非成本要素) 在制品(非成本要素)
6401090000主营业务成本-工程施工成本(非成本要素) 6401990000主营业务成本-主营业务成本转出(非成本要素)
此处定义了结算之后,过账到财务会计时,不同的结果分析类别所需使用的损益类及资产负债类科目,即产生会计凭证时所记入的科目。其中,WIPR表示在制品;RUCR表示未实现的成本储备,即负在制品;COSR表示主营业务成本。

有朋友问到6401090000主营业务成本必须要转出吗?这个真得看财务管理的规范性了。比如要查主营业务成本,我想直接查主营业务成本的科目余额,那么必须转。如果仅仅为了出损益表,有损益表自行累加主营业务成本的话,也可以不转,无非就是把项目上的借方金额累加即可。

大家来猜一下:
WIPR 5001990200的金额等于啥,是不是831000001+831000003+831000005
RUCR 5001990200的金额等于啥,是不是831000002+831000004+831000006,不过是负的

所以项目上常用的配置是831000001和831000002合并成一个次级成本要素。

1.8 做项目KKA2 结果分析

1.8.1 按照上面逻辑,做计划收入、实际收入、计划成本、实际成本等

由于这儿只是模拟,且物料账已运行,我就直接用CJR2做成本要素计划,用F-02直接记账实际成本了。

实际项目上,计划收入应该是开票计划传递,计划成本可以CJR2,也可以用启用网络和物料成本计划。
实际成本,就是财务记账、收货确认、服务确认等产生的。

在这里插入图片描述

在这里插入图片描述

1.8.2 看实际结果分析KKA2

在这里插入图片描述

在这里插入图片描述

1.8.3 看各类行明细

保存并退出结果分析,选择菜单-显示结果分析

在这里插入图片描述

整个区域分成4部分,其中82100002是属于临时计算用的,当然这些也可以转到FI科目上,具体如何计算的,有兴趣可以自行研究。
WIPR部分就是在制品和RUCR准备金部分
COSR是要资本化的成本
VLRV就是实际收入。

整个成本和上面分析的结果是一致的,再贴下计算过程。

我们在以最初的例子作为演示:

假如计划收入100W,实际收入30W,那么核实项目POC进度为30%。
假如此时总计划成本50W,总实际成本20W
其中成本中
人工计划10W,实际人工费4W
物料计划30W,实际物料成本10W
其他费用计划10W,实际费用6W

那么按照POC进度,如果按行进行资本化,那么

人工计划10W,实际人工费4W,需要资本化的费用是3W,转在制品的是1W
物料计划30W,实际物料成本14W,需要资本化的费用是9W,转在制品的是5W
其他费用计划10W,实际费用2W,需要资本化的是3W,转在制品的是-1W。负的在制品即为准备金。

831000001:存储人工成本的在制品1W
831000002:存储人工成本的准备金0。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000002也可以配置成831000001,财务上认为负的在制品即为准备金。
831000007:存储人工成本需要资本化的金额3W

831000003:存储物料成本的在制品5W
831000004:存储物料成本的准备金0。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000004也可以配置成831000003,财务上认为负的在制品即为准备金。
831000008:存储物料成本需要资本化的金额9W

831000005:存储费用成本的在制品0
831000006:存储费用成本的准备金1W。 如果没有启用准备金科目的话,也就是未来不需要分析准备金科目,此处831000004也可以配置成831000003,财务上认为负的在制品即为准备金。
831000009:存储费用成本需要资本化的金额3W

831000010:存储实际收入30W

1.8.5 再看模拟过账,会把未实现的准备金54040000过账给FI

跟1.7配置的过账规则相映射的
在这里插入图片描述

2 结算参数文件配置

本次模拟大家常用的基于值字段的COPA(基于科目的不需要配置PA传输结构,只需要在结转科目中维护不同的结转科目即可)
关于COPA的配置,包括生产订单差异、销售成本拆分等,稍后专门写篇文章。。

2.1 分配结构

由于有PA传输文件,实际上这四类合并成一类也没问题。但是为了好理解,还是分成4类了。
在这里插入图片描述

分配结构中4个分配对应的源都是结果分析里面,需要资本化的次级成本要素
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

结算成本要素,都定义的是821000001,也就是项目收入-成本的差值,要通过该成本要素转出到COPA对象中。
在这里插入图片描述

2.2 PA传输结构

在这里插入图片描述

对于人工成本,还是要资本化的人工成本,转入人工成本值字段
在这里插入图片描述
在这里插入图片描述

对于物料成本,还是要资本化的物料成本,转入物料成本值字段
在这里插入图片描述
在这里插入图片描述
对于费用成本,还是要资本化的费用成本,转入费用成本值字段
在这里插入图片描述
在这里插入图片描述
对于收入,转入收入值字段
在这里插入图片描述
在这里插入图片描述

2.3 结算参数文件

在这里插入图片描述

3 执行结算

3.1 项目首层WBS维护结算目标

在这里插入图片描述

3.2 CJ88执行结算

在这里插入图片描述

发送方:
在这里插入图片描述

接收方
在这里插入图片描述

产生的会计凭证,与模拟科目是一致的
在这里插入图片描述

获利分析凭证:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

看看CJI3和3543等报表,此时肯定是不平的(思考下为什么?而且正好是5W,是不是跟在制品一样呢?项目余额,哈哈,期待看这篇文章的兄弟们没懵逼啊)。

在这里插入图片描述

在这里插入图片描述

3.3 项目该记录的收入均记录下,该记录的成本都记录下,准备将项目TECO

在这里插入图片描述

额,通过上面,我们发现,我物料成本花少了(原材料降价了)、人工花超了(现在人力成本贼贵啊)、差旅费少了(因为XX出差少了)、收入还是跟计划一样(一般收入为合同的不含税金额,不能说不给执行合同吧,大不了欠一堆应收账款而已)

最后把咱们项目TECO下。

3.3.1 再次结果分析

TECO了,就应该把所有在制品全转回来了。
在这里插入图片描述

3.3.2 执行CJ88结算

发送方:
在这里插入图片描述

接收方:
在这里插入图片描述

会计凭证,冲回5W的在制品
在这里插入图片描述
看获利分析凭证
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3.3 再看项目报表

在这里插入图片描述
在这里插入图片描述

关闭项目,再见

### 回答1: 在 TURBO C 2.0 中,您可以使用 biosdisk() 函数来格式化软盘。 下面是一段代示例: ``` #include <stdio.h> #include <dos.h> int main() { // 定义扇区的大小 unsigned int sector_size[3] = {512, 512, 1024}; // 定义填充字 unsigned char fill_char[3] = {0xF6, 0xF6, 0x48}; // 格式化磁道 70 面 0 的前三个扇区 for (int i = 0; i < 3; i++) { int result = biosdisk(2, 0, 70, 0, i + 1, 1, sector_size[i], fill_char[i]); if (result != 0) { printf("格式化扇区 %d 失败,返回: %d\n", i + 1, result); } } return 0; } ``` 请注意,在使用 biosdisk() 函数之前,需要包含 dos.h 头文件。 希望这能帮到您! ### 回答2: 使用TURBO C 2.0语言,可以通过以下代格式化软盘的70磁道0面,并分别格式化3个扇区,大小分别为512字、512字和1024字。其中,前两个扇区使用F6填充,第三个扇区使用48填充。 ```c #include<stdlib.h> #include<stdio.h> #include<dos.h> void formatFloppyDisk(){ union REGS regs; regs.h.ah = 0x0;// To format a floppy disk, we set AH=0 regs.h.dl = 0;// Drive number (0=A, 1=B, etc.) regs.x.cx = 0;// Track number to format regs.h.dh = 0;// Head number regs.h.al = 0;// Sector size (0=default, 1=512 bytes, 2=1024 bytes, 3=2048 bytes etc.) int FILL_BYTE = 0;// The byte value to fill the sectors with during formatting int NUM_SECTORS = 3;// Number of sectors to format // To format 70th track 0th head regs.x.ax = 0x1301; // 0x13 = Reset disk system, 01H = Reset only specified drive int86(0x13, &regs, &regs); // BIOS interrupt to reset disk system for (int i=0; i<NUM_SECTORS; i++){ regs.x.ax = 0x3101; // 0x31 = Write Format, 01H = Format only current track regs.x.bx = 0x0001; // 0x00 = Drive A:, 01H = Head 1, 0 = Generate ID Field depending on the disk in the drive 1 = Keep the ID Field all zeros regs.x.cx = 0x0170; // Track number=70(0-79 range) regs.h.dh = 0x00; // Head number=0 or 1 regs.h.al = 0x02; // Control byte=always zero regs.x.dx = i+1; // Sector number starting from 1 regs.x.si = 0x0000; // segment and offset of read/write buffer regs.x.di = 0x0000; // segment and offset of result if(i == 2){ FILL_BYTE = 0x48; // Fill the third sector with 48 regs.x.ax = 0x3102; // 0x31 = Write Format, 02H = Format sequential tracks immediately following the one being formatted }else{ FILL_BYTE = 0xF6; // Fill the first two sectors with F6 } regs.h.ah = FILL_BYTE; // Fill the sector with specified byte int86(0x13, &regs, &regs); // BIOS interrupt to format the specified sector } } int main(){ formatFloppyDisk(); return 0; } ``` 上述代使用了INT 0x13,即BIOS中断服务例程,来执行软盘格式化操作。通过设置寄存器的不同参数,可以指定要格式化的磁道、面、扇区大小和填充字。在这个例子中,我们格式化了软盘70磁道0面的3个扇区,前两个扇区使用F6填充,第三个扇区使用48填充。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值