我是靠谱客的博主 沉静酸奶,最近开发中收集的这篇文章主要介绍会计凭证(Document) 如何限制不同财务用户使用不同的财务凭证类型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

过帐期间设置(Posting Period)

Tcode:SE16: V_T010O|OB52|SE16: V_001_R

在此步,我们使用SE16:V_T010O定义过帐期间变式(Variant这鬼东西在SAP我们到处都可碰到),从权限和控制的角度,推荐的做法是,集团有多少个公司代码,通常我们就定义最好和公司代码同名的多少个变式,然后我们使用SE16:V_001_R将公司代码和变式一一对应.

然后我们就可使用OB52对过帐期间进行控制(打开或关闭)
在这里插入图片描述

如图1-[4],是过帐期间的变式名称(和公司代码同名)并分配给了公司代码,控制过帐期间变式的过帐期间也就控制了公司代码的记帐.

如果你静下来仔细考虑,为什么SAP不直接就指定公司代码的过帐期间而要使用一个中间的过帐变式. 我认为这样做的目的是可以更灵活控制过帐期间,比如某集团亚太多个公司可以使用同一变式统一管理,如此而已.

图1-[1]表示Account type,+表示所有的account type,选中的这行似乎表示公司代码5100(因为variant5100已经分配给唯一的公司代码5100了)允许所有的科目类型都允许在2005/12和2006/01期间过帐,一般的做法是为了安全只允许在当前期间做帐,在月结未完成时的头几天才允许需要在上期间做调整,出了月报后立即关闭上期间.

图1-[3]的AuGr表示授权组5100,你PFCG将OB52打开关会计期间的权限加给授权用户,同时,将change,delete等activity从一些用户组拿掉,这些用户我们只让他们有display会计期间开关情况的权限,我们只将可以真正打开和关闭期间的用户包括在授权组5100里面,使用授权对象F_BKPF_BUP可以轻易做到.

并非你打开了+就真的允许了所有(SAP所有的科目除了包括我们一般意义上的总帐科目外,物料,客户,固定资产和供应商等都被看成是相关明细科目,比如原材料会计科目是总帐会计科目,所有的实际原材料被当成了物料的明显科目)的科目过帐目,你做好还需要加入ADMKS Account type的允许过帐期间.

以上讨论的是一般意义上的会计期间控制,SAP有这么些期间概念,物料期间(MMPV/MMPR/MMRV/OMSY),CO期间(以年为单位,OKP1|OKEQN),SPL期间等.

如果物料移动显示期间错误,你需要同时检查物料和会计期间.

集团公司可以设定各公司的会计期间开关只能有该公司的相关授权财务用户.

会计凭证编号(Number range)

在这里插入图片描述

FBN1定义会计凭证编号范围,注意编号有所谓的年度相关(每个会计年度都要设置编号,这样每年的编号范围可以从头开始,比如凭证类型SA的凭证编号每年度都从100000001开始)和年度无关(就是YEAR你设置一个YEAR 9999,SA凭证2005年最后一个号是100199999,2006继续下一号码是100200000)的概念,后者免去你需要每年去设置凭证编号,你可以选择使用哪种编号方式.

图1-[2]表示当前凭证号,图1-[3]表示外部给号,这种编号范围在SAP也随处可见.

为了节省工作量,通常期初时我比较喜欢使用OBH1 从company code 0001 copy某年的编号范围,然后使用OBH2在公司间的不同年份copy.

你在上线时可能会专门使用一些自定义的凭证类型处理期初数据,可以设置和凭证编号相同的一些特殊编号范围比如ZA(Doc type ZA,Number ZA是用来转科目余额的,这些number range只在当年设置就好了,以后就不再为其设置年度编号了,这样,在以后年度你错误选择ZA因为无该年的编号都过不了帐).

会计凭证页头(Document Header)

在这里插入图片描述

图1-[1]:Define document type(tcode:OBA7)

在这里插入图片描述

何时我们还需要自定义doc. Type呢?我们知道doc type的一个作用就是区别凭证的用途,我注意到某些国内ERP系统只是简单地将FI doc type分个记帐转帐付帐凭证而已, 而SAP是为我们提供了足够多的doc type,通常我们可以为导入期初财务数据产生的凭证自定义类型如图2-[1],ZA-ZF是用来导入期初数据的.

图2-[3]:授权组,假设doc type SA使用了授权组SA,然后我们可以根据该授权组限制某些用

户只能使用某些凭证,请看接下来的实例使用授权组限制凭证类型使用,为达到目的我们将所有的凭证类型都在此设置一个比如和凭证类型相同的授权组(Authorization Group).

图2-[4]:表示凭证用于哪些Account type,我们来假设这样一个场景,客户同时是你的供应商,

你在F-53付款时同时对清一些vendor和customer的未清项,此时假设凭证类型KZ(F-53

默认类型)如不允许Customer(Account type D),是清不了Customer未清项的(关于vendor和customer的未清项对清请参考本书的相关实例).

图2-[5]典型的比如doc type AF,资产折旧的选上了它就只能后台使用了.

图2-[6]为空表示该凭证类型默认的汇率转换类型是M,你可以测试一下,OB07|OB08定义一个exch. Rate type比如Y,在此设置Y,这样外币转换就使用exch. Rate type Y了.

图2-[7]表示该凭证类型(SA)允许公司间直接过帐,我们知道FB50的默认凭证是SA,你在FB50测试一下,Dr:company code 5100记笔费用, Cr行项目公司代码手工输入4100,付笔现金,这就叫公司间过帐,为此你必须首先使用OBYA设置公司间清帐的科目才能过帐,关于公司间清帐请参考本书相关部分.

图2-[8]除了使用凭证的validation外,我们还可以直接设置某种凭证类型过帐时必须输入Reference 字段和document header文本,不大建议如此做法,因为它是doc. Type级的,可能集团公司的某些公司代码我并不需要此功能,你不能强行就给整上去.

图1-[2]:Validation and Substitution(Tcode:OB28|OBBH)

假设你公司代码是四位数字表示,各公司代码的成本中心的前两位是参考公司代码建立的,

比如company code 5100的成本中心是51*****,company code 4100的cost center是

41****,为了防止用户在5100做成本中心消耗时输入成本中心41****或其它,我们就可以使用一个确定(validation)来防止这些错误.

关于确定和退代请参考本书相关实例部分,使用GGB0|GGB1你可以看到SAP相关模块

使用的所有确定和退代.

你使用GCT0传输你自定的确定和退代代码.

图1-[3]:Define Text IDs for Documents(Tcode:OBT8)

在此你定义凭证header的文本ID,这个ID和line item ID(SE16: V_T053)有所不同,我们知

道在记帐比如FB50,我们line item输入ID,然后会自动带出ID表示的文本来,这个header ID

似乎不是这么回事,SAP说这些ID在Correspondence和Payment advice info可以调用.

图1-[4]: Document Change Rules, Document Header

SAP默认财务凭证header字段BKPF-BKTXT和蔼BKPF-XBLNR两个字段内容是可以更改的(比如使用FB02),接下来我们也可设置凭证行项目某些字段内容是否允许修改.

我们记住,并不是某些字段你在次设置了它们可以修改你就真的能修改它们的,在本篇中附送了一个可以修改绝大部分字段内容的程序.

图1-[5]: Maximum Exchange Rate Difference

某企业需求,不允许财务用户在记帐时手工修改汇率,用户是这样做的,假设是FB50,跳到Details tab页,手工输入exch. Rate,或者F-02,外币记帐,直接输入汇率,然后开始记帐,就使用了手工输入的汇率了,现在需要禁止财务人员这样搞法(你说这什么世道,这样故意搞错汇率的帐也记的出来,不过话又说回来,这个世界不做点假帐的会计也不算会计了),你就可以将根据公司代码和外币类型设置最大的汇率差是0,不能有汇率差异,然后OBA5将消息F5 212设置成Error ,Ok,用户手工输入汇率不管用了,如果输入汇率和OB08定义的汇率不同就有F5 212的错误.

现在的问题是,公司(本位币RMB)刚收到一笔100000USD的投资款,按双方协商的汇率是8RMB=1USD,即等于增加投资800000RMB,而现在的汇率变成7.9RMB = 1USD,Ok,你限

定了不能有汇率差异,手工输入汇率出现错误,哎,你又要将F5 212给折腾成警告什么的.

我个人很反对不改善操作流程而滥用系统的做法.

使用授权组限制凭证类型使用

用户需求:

财务部们做AP的用户只能使用某些凭证类型,做AR的只能使用应收相关的另一些凭证类型等,为此我们可以在所有相关的会计凭证类型中设置授权组(Tcode:OBA7,如图2-[3],我为凭证类型SA定义了一授权组也叫SA(你最好不要给WE,WA,WL,因为通常你不给财务部们用户物体料相关Tcode MB1A,MB1B,MB1C,MIGO,VL02N等就可以了.).

即限制不同财务用户只能使用特定的doc type.

在这里插入图片描述

如图3,假设我想让用户STONEF只能使用FB50和doc type SA记记帐,我们这样做

(1)OBA7给一些手工记帐用的Document type比如AB加入授权组AB,KR加入KR,总之,自动过

帐的doc type WA,WL,WE的我们不加授权组.

(2)PFCG建立一role,用户STONEF被加入该role

(3)加入记帐用的Tcode FB50|F-02等,然后我们选择图3-[2]的Authorization for Document Types后在Authorizatoin group中输入SA到SA,现在用户STONEF就只能使用Doc type SA了.

注意:

SAP的权限检查的逻辑无非是使用下面的代码:

authority-check object ‘F_BKPF_BLA’ “凭证类型的授权对象

  id 'ACTVT' field _actvt         “Activity用来限制用户的行为比如是否可新建修改删除

  id 'BRGRU' field i_brgru.       ”这个就是传说中的授权组

回到第1步,OBA7给所有手工可能使用的doc type加上授权组,这步是关键.假设只有Doc type SA加了授权组SA,然后在图3-[3]加入的doc. Type的授权组是From SA to SA,很好,F-02你可以使用所有的凭证类型,因为其它的凭证都没有设置授权组,上面的authority-check代码返回是成功的,你测试一下,给doc type AB加入一授权组AB,Ok,现在STONEF F-02时不能使用Doc type AB了.

你为需要的doc type都加入授权组(推荐和doc type同名),然后在PFCG中分别加入document type的授权组,该用户就只能使用被授权使用的凭证类型了.

SAP中设置权限其实非常简单,也就那些东西,并且,尽管authority-check这东西SAP不允许我们debug,我们依旧知道实际上授权对象不过是写在表USRBF2中而已,如有debug权限,SAP的权限设置不过是摆设而已.

凭证行项目(Line Item)

在这里插入图片描述

图1-[1]:Define posting Keys(Tcode:OB41)

一般地,我们不需要自定义过帐码,如果可能,最好你记住几个常用的PK码以显示你对FICO

是多么的Professional.

关于记帐码,有两点值一提:

(1)第一点是PK码00,表示Account assignment model,我们使用FKMT定义所谓的Account assignment model,然后我们在记帐时比如F-02时可以使用它, account assignment 是一个你预定义的line item集合可以方便地实际记帐时插入凭证,为此你只要选择记帐码00就行.

本篇接下来会详细介绍FKMT(Acct. assignment),FBD1(Recurring Entry Document)和F-01

(Sample document)在FI模块的应用.

(2)第2点是记帐码的字段状态组,SAP在记帐时会要求u记帐码v会计科目w物料移动类型(物料移动相关比如MIGO 101收货产生会计凭证,当然对于FI直接记帐和movement type就无关了)三者的字段状态组相同,否则过帐时就有错误提示.

图1-[2][3]:Define Field Status Variants and Assingn to company code

Tcode: OBC4|SE16: V_001_P

在这里插入图片描述

OBC4简单地从SAP里copy field status variant到Z001然后简单地分配给所有的集团公司代码就可以,SAP配置不就是简单地拷来拷去吗?

我们知道FS00建立科目主数据时时我们会选择字段状态组,根据实际业务需要,你可能需要更改默认的字段状态组,比如你实施了Business area,相关科目在记帐时要将Business area这个Account assignment 字段显示出来你就需要OBC4更改字段状态.

图1-[4]: Maintain Subscreens for Coding Blocks(Tcode:OXK1|OXK2|OKX3)

详细请参考本篇实例Field status和Coding block subscreen.

图1-[5]: Define Tolerance Groups(SE16: V_T043T| SE16:V_T043)

在这里插入图片描述

你必须为SE16: V_T043T每个公司定义一个记帐Tol. Gr,否则记帐时会提示F5013的警告和F5103的错误,图3中为company code 5100设置了一Tol gr,这个用户每次最大的记帐金额是1000 RMB,并被分配给user STONEF(如图3-[2]),这样在company code 5100中,STONEF最大的记帐金额是1000 RMB .

如有需要,你可定义不同的TOl. Gr定义不同的最大记帐金额并分配给不同层次的财务人员.

问题:

同一个用户比如STONEF,如何设置其在不同公司的不同的最大记帐金额,比如在company code5100允许最大记帐金额是1000HKD,在5300是5000HKD等等.

最后

以上就是沉静酸奶为你收集整理的会计凭证(Document) 如何限制不同财务用户使用不同的财务凭证类型的全部内容,希望文章能够帮你解决会计凭证(Document) 如何限制不同财务用户使用不同的财务凭证类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部