转载自http://www.imyang.com/archives/437
Maintain Terms of Payment
In this step, we will define rules with which the system can determine the required terms of payment automatically. The rules are stored under a four-character key. Assign the terms of payment specified to the customers in the master record via the key. The key and the terms determined with it are proposed when entering a document to the customer account.
In this article , We will study the standard course and how to calculation the baseline date & net due date .
1、Standard Course Study
一般情况下只要有与SAP的财务相关的都会用到这一部份 – 收付款条件,
包括供应商的,客户的以及其它发票类的都会用到,这些收付款条件决定着收付款的日期。
在阐述收付款条件之前先来了解几个名词:
- Baseline date – 基准日,基本可以理解成结算日,即每个公司每个月都有自己的结算的那天,叫Baseline date ;
- Net due date – 到期日;
- Document date - 发票输入日期;
- Posting date – 过账日期,即过账到FI的日期;
- Entry date – 输入日期,这个可能大家会和Document date理解成一样,其实不然,Document date ,这个是发票日期,可以是前一天,也可以是后一天或者当前日期,但Entry date 是当前日期,所以这两个还是有点区别的;
Payment terms 会用在FI/SD/MM中,SD/MM最后汇总到FI都将直接影响到他的payment date。
SD 定义路径:
SAP -> Logistics -> Sales and Distribution -> Master Data -> Others -> OBB8 – Terms of Payment .
SAP -> IMG -> Sales and Distribution -> Master Data -> Business Partners -> Customer -> Billing Document -> Define Terms of Payment – OVSE.
FI 定义路径:
SAP -> IMG -> Financial Accounting -> Accounts Receivable and Accounts Payable -> Business Transactions -> Incoming Invoices/Credit Memos -> Maintain Terms of Payment – OBB8.
SAP -> IMG -> Financial Accounting -> Accounts Receivable and Accounts Payable -> Business Transactions -> Outgoing Invoices/Credit Memos -> Maintain Terms of Payment – OBB8.
MM定义路径:
SAP -> IMG -> Materials Management -> Purchasing -> Vendor Master -> Define Terms of Payment – OME2.
总之,这些定义的都是直接或者间接的调用OBB8去维护收付款条件。
- 去参考一些Invoice的payment terms 来确定新Invoice 的payment terms .
- 到期的payment terms结算日失效 ,到变成有效的payment terms .
一个新的payment terms 包含的基本数据:
- Day Limit – SAP标准的解释是: Day of the month up until which the corresponding terms are valid.其实就是当前日期的是否附件该会议条件的使用,如果是就会自动计算Baseline date ,否则需要手动去输入。
- Description – 每一个payment terms的描述。
- Account type - Account type 是指这个Payment terms 将适用于供应商还是客户。
- Block key - Default value for the payment blocking key.这个就是说明如果是这个值将会默认为这些payment 将要block,也就是锁住这些Doc.。
- Payment method - The payment method determines how payments are to be made,e.g. by check, bank transfer or bill of exchange.也就是说,这个Payment 同时确定收付款方式。
Payment terms 每一个是都可以去默认一个Baseline date 或者通过计算得到一个baseline date;
Baseline date 可以是:
- No default
- Document date
- Posting date
- Entry date
四个中的任何一个日期,通过一些计算得到其最终的Baseline date.
- 默认日期的 01 号,也叫第一天;
- 默认日期的月份 + 1的日期;
其实这个默认日期需要作一些特别区分,因为有些月份是31天,有些月份28天,这个怎么弄,SAP想了一个法则,让你们自己去整吧,我总结起来是仅大不由小,也就是说尽大的月份不顾小的月份;怎么理解呢,下面给你举个例子说明一下:
如果在Fixed day = 28,那基准日期就是当月的28日,eg. 你的开始基准日期是2010.01.12.则此时的Baselie date 是 2010.01.28;如果你设置的Fixed day 为31时,则到二月份的时候,系统会自动的计算2月份的月底是几号,比如你的开始Baseline date 为2010.02.01,Fixed day = 31时,系统自动自动算成2010.02.28为最终Baseline date;因为28日是2月份的月底,所以希望大家对这一点能够很好的分辩和区别出来。
折让有两种,如下图:
- 在期间内的折让;其Days是升序的,也就是说天数只能是下面的数字大于上面的数字;
- 在某个特定日期的折让;Fixed date + Additional months 连用,也是升序;
折让的百分比是降序的,这也附合实际的操作情况,越靠近net due date 的日期的折让也是最低的;
Payment terms 里面有个Day Limits 的用法:很多时间我们并不会在意这些,都不会去区别这部份的值的日期;其实在SAP的标准功能中是有作区分的;
Payment terms 的主键是 payment terms + day limits 也就是说只有这两个才可以确定最终的Baseline date,也是两个不同的payment terms,如何区别,这就用到了Day Limits。
举个例子说明一下吧:
e.g. 有一个payment terms – 0001, 设置了两个不同的Day Limits 一个是Day Limits = 15;另外一个 Day Limits = 21;Baseline date = Posting date 的时候;这个时候就产生了两个payment terms : 0001 + 15 和 0001 + 21 两个;如果Posting date = 0 ~ 15,则会使用 0001 + 15 的 payment terms;如果posting date = 16 ~ 21 ,则会使用 0001 + 21 的payment terms ,来进行计算出最终的Baseline date;如果超出21;系统会提示Specify payment period baseline date,则这个时候则需要手动去输入Baseline date;
分期付款的部份,需要体符合两个条件:
- Day Limits = 0;
- 勾选 R Installment payment ;
只有符合上述条件的payment terms ,才可以OBB9里面维护分期收付款。
OBB9 PATH:SAP -> IMG -> Financial Accounting -> Accounts Receivable and Accounts Payable -> Business Transactions -> Define Terms of Payment for Installment Payments – OBB9.
Samples for terms of payment
如何建立一个payment terms。
建立路径在上面的文章中已经说明,就不再重复,只要记住一个TX:OBB8.
单击New Entries 去建立一个新的Payment terms。
一个Payment terms 主要是分几个部份:
第一部份是Payment terms + Day Limit,前面讲述过,这里就不再重复;
第二部份是Account Type 这个说明,这个Payment terms 将会应用到供应商还是客户那里,还是两个都可以;
第三部份就是Baseline date 的计算;Fixed day 理解成结算日(已经在前面的几个名词中解释过);Additional months 这个是指结算日是否需要增加月份;
第四部份就是一个Default值,前面已经说到就不再重复;
第五部份是Default Baseline date;其实我们最后看到的都是经过计算的Baseline date;一般情况下会将默认的Baseline date 定义为Posting date,但也有可能定义在Document date上,就业务逻辑而言,两者都有各自的理论依据;根据各公司的要求不同,各默认的Baseline date 也不尽不同;
第六部份是Percentage 通过单词也能理解,这个就是折让的百分比;
第七部份就 No.of days或者Fixed date + Additional Months,两者不能同时使用,只能二选一;
同样方法我定义了三个Payment terms如下所示:
- Z00 + 0 ,Default Baseline date = Posting date;
- Z00 + 18,Default Baseline date = Posting date;
- Z00 + 30,Default Baseline date = Posting date;
将这个Payment terms 来分配给Customer C9999;
测试一下系统会不会自动去检测用那一个Payment terms ;
为什么会这样?不是说根据日期时间来自动选择Payment 的吗?Posting date = 2010-01-20,就应该选择Z00 + 30 的payment terms,其实不然,由于Z00+0 是在到期时立即收付款,所以不管你怎么去改,SAP始终拿的是 Z00 + 0 的收款方式。所以现在把Z00 + 0 的payment terms 删除掉来看看Z00会选择那个Day Limits。
由于Posting date = 2010.01.23所以,系统会自动选取 Z00 + 30的payment terms,而Z00 + 30 的payment terms的Calculation baseline date = Fixed day + additional months,也就是说是下一个月的1号,当前Posting date = 2010.01.23所以下一个月的一号应该是2010.02.01,来看一下Z00 + 30 的设置。
再来做一张Posting date 在18号的看看。
系统就自动选取了 Z00 + 18的payment terms,
看看Z00 + 18的payment terms。
等等,其实像Installment payment,No. of days ,Fixed date + Additional months 的分期收付款以及折让的就不再一一详述,大家可以自己去测试,去作一些相关的Demo,相信可以找到你想要的;在前面也有提到其实最终的Baseline date = Default baseline date + Calculation baseline date 。Default baseline date 又可以在 No default,Posting date,Document date,Entry date 中任一选择。
Net due date 又是如何计算的呢,给大家一个例子一看就明白了。
就看刚才的这张Document ,我们就FBL5N去看一下。
大家可能会发现,为什么1800001450~1800001452的Baseline date = Net due date,而只有1800001453的Net due date = 2010.03.06,为什么,且听我慢慢道来;
由于 1800001450~1800001452 这几个用的payment terms都用的是Z00 + 30,而Z00 + 30 是没有设置Net duedate的,也就是多少天之内或者期间内付款会到期,过了这个日期,就只能叫Overdue。
而1800001453 用到的Payment terms 是 Z00 + 18,这个有折让的部份,且是45天净到期,它的Baseline date = 2010.01.20 + 45 天 = 2010.03.06,所以如果这样的话,就不难解答这个问题;
分两种情况:
- 如果有Net due date的部份,则其折让的最后的Net due date = Baseline date + No. of days(最大的值)或者 Net due date = Baseline date + Fixed date + Additional months.
- 如果没有Net due date的部份,直接是Net due date = Baseline date .
Get Net due date function.
SAP -> SE37 -> Function : NET_DUE_DATE_GET.