转载自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

550

一般情况下只要有与SAP的财务相关的都会用到这一部份 – 收付款条件,

包括供应商的,客户的以及其它发票类的都会用到,这些收付款条件决定着收付款的日期。

在阐述收付款条件之前先来了解几个名词:

  1. Baseline date   – 基准日,基本可以理解成结算日,即每个公司每个月都有自己的结算的那天,叫Baseline date ;
  2. Net due date    – 到期日;
  3. Document date - 发票输入日期;
  4. Posting date    – 过账日期,即过账到FI的日期;
  5. Entry date      – 输入日期,这个可能大家会和Document date理解成一样,其实不然,Document date ,这个是发票日期,可以是前一天,也可以是后一天或者当前日期,但Entry date 是当前日期,所以这两个还是有点区别的;

551

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去维护收付款条件。

552

  1. 去参考一些Invoice的payment terms 来确定新Invoice 的payment terms .
  2. 到期的payment terms结算日失效 ,到变成有效的payment terms .

553

一个新的payment terms 包含的基本数据:

  1. Day Limit         –  SAP标准的解释是: Day of the month up until which the corresponding terms are valid.其实就是当前日期的是否附件该会议条件的使用,如果是就会自动计算Baseline date ,否则需要手动去输入。
  2. Description       –  每一个payment terms的描述。
  3. Account type      - Account type 是指这个Payment terms 将适用于供应商还是客户。
  4. Block key         -  Default value for the payment blocking key.这个就是说明如果是这个值将会默认为这些payment 将要block,也就是锁住这些Doc.。
  5. Payment method  -  The payment method determines how payments are to be made,e.g. by check, bank transfer or bill of exchange.也就是说,这个Payment 同时确定收付款方式。

554

Payment terms 每一个是都可以去默认一个Baseline date 或者通过计算得到一个baseline date;

Baseline date 可以是:

  1. No default
  2. Document date
  3. Posting date
  4. Entry date

四个中的任何一个日期,通过一些计算得到其最终的Baseline date.

  1. 默认日期的 01 号,也叫第一天;
  2. 默认日期的月份 + 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月份的月底,所以希望大家对这一点能够很好的分辩和区别出来。

555

556

折让有两种,如下图:

  1. 在期间内的折让;其Days是升序的,也就是说天数只能是下面的数字大于上面的数字;
  2. 在某个特定日期的折让;Fixed date + Additional months 连用,也是升序;

折让的百分比是降序的,这也附合实际的操作情况,越靠近net due date 的日期的折让也是最低的;

557

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;

558

分期付款的部份,需要体符合两个条件:

  1. Day Limits = 0;
  2. 勾选 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.

559

560

Samples for terms of payment

 

如何建立一个payment terms。

建立路径在上面的文章中已经说明,就不再重复,只要记住一个TX:OBB8.

561

单击New Entries 去建立一个新的Payment terms。

562

一个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如下所示:

  1. Z00 + 0 ,Default Baseline date = Posting date;
  2. Z00 + 18,Default Baseline date = Posting date;
  3. Z00 + 30,Default Baseline date = Posting date;

564

将这个Payment terms 来分配给Customer C9999;

测试一下系统会不会自动去检测用那一个Payment terms ;

01010101

01010102

为什么会这样?不是说根据日期时间来自动选择Payment 的吗?Posting date =  2010-01-20,就应该选择Z00 + 30 的payment terms,其实不然,由于Z00+0 是在到期时立即收付款,所以不管你怎么去改,SAP始终拿的是 Z00 + 0 的收款方式。所以现在把Z00 + 0 的payment terms 删除掉来看看Z00会选择那个Day Limits。

569

570

由于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。

573

等等,其实像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去看一下。

574

大家可能会发现,为什么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。

01010103

而1800001453 用到的Payment terms 是 Z00 + 18,这个有折让的部份,且是45天净到期,它的Baseline date = 2010.01.20 + 45  天 = 2010.03.06,所以如果这样的话,就不难解答这个问题;

分两种情况:

  1. 如果有Net due date的部份,则其折让的最后的Net due date = Baseline date + No. of days(最大的值)或者 Net due date = Baseline date + Fixed date + Additional months.
  2. 如果没有Net due date的部份,直接是Net due date = Baseline date .

Get Net due date function.

SAP -> SE37 -> Function : NET_DUE_DATE_GET.

01010104