# Fixed day payment terms – The magic behind due date determination!!!

Payment terms define the parameters to derive the due date for the payment of an invoice, cash discount terms and periods, installment terms, default payment block/method that can be set etc. Usually baseline date is defined and derived from payment terms which is in turn used as the base for calculation of due date for payment.

Fixed date payment terms are used when the due date for the payment is a fixed date.

E.G: Payment is due on 20th October of every year.

Usually this kind of payment terms are used in case of seasonal sales/purchases.

Many people might have a doubt, * if the due date is a fixed day, why do we need payment terms at all?*. Instead, can’t we enter the due date directly in invoice? Fixed day payment terms are used for better management of invoices/payments. We maintain the payment terms in master data of customer/vendor which is defaulted to invoice automatically. So, we don’t have to go through the pain of remembering each fixed date for every customer/vendor.

Definition of fixed day payment term is done with out any baseline date as shown below. **Then, how does SAP derives due date?**

There is no standard SAP logic which determines the due date for fixed day payment terms. It is left to customers to write their own logic through

* BTE (Business transaction event) 1120*.

Implicit enhancement can be done in the BTE function module **OPEN_FI_PERFORM_00001120_P** to write custom ABAP logic and update the field **ZFBDT **(Baseline date) of internal table **t_bsegsub**.

One of the flexible way is to maintain a TVARVC variable with the list of fixed day payment terms in the format YYYYMMDD where MMDD is already known.

Year can be replaced with current year/year from posting date through program logic.

In below screenshot, 15th January of every year is the fixed due date for the payment term 070. This TVARVC variable can be queried with the payment term as low value to identify the due date from high value. YYYY should be replaced with year from posting date/any other logic based on business requirement.

Above BTE is called for every FI document creation where due date determination is required (From sales, purchase etc). So, logic has to be restricted based on business requirement.

Your valuable comments/any other better approach if you know would be most welcome 🙂

Best regards,

Vinod Vemuru.

Hi Vinod,

Useful document. Thanks for sharing.

Srinu.

Thanks Srinivas 🙂

Good one...Thanks.

Best Regards,

Naresh K.

Thanks Naresh 🙂

Hi,

Nice one. Keep sharing knowledge 🙂

BR, Srinivas Salpala

Thanks Srinivas 🙂

Your Blog is usful and Good.. Thanks ...

Thanks Ramesh 🙂

Very Nice document Vinod. Appreciate the add-on Knowledge 🙂

Thanks Sowmya 🙂

Hello Vinod,

It is really a nice blog. Thanks to know a new topic from your end and at the same time we are expecting more articles in future also 🙂

Doubt - If we want to give any discount how can we proceed further on that.

Can we fix this fixed pyt terms issue through validation/substitution also?

Thanks & Regards,

Lakshmi S

Thanks Lakshmi 🙂

The requirement you are asking is for our client only 😛 . We explored multiple options with no luck. So, posted question in forum (By Rudra) to seek experts advice.

Thanks,

V V

Thanks for sharing this insightful information......nice to have this document handy!

-Amir

Thanks Amir 🙂

Hi Vinod,

Nice document...Thanks for sharing.

Regards,

kalim

Thanks Kalim 🙂

Hi Vinod,

Well written with clear flow of information...

Thanks for sharing..

Rahul

Thanks a lot Rahul 🙂

Good Document, thanks for sharing...

Regards,

Narin Kamuni

Thanks narin 🙂

Wonderful Document. This is infact an Innovation!

Thanks a lot Naseem 🙂

Nice Document

Thanks for sharing

Regards

Prasad

Hi Vinod,

Thanks for sharing the knowledge..A question asked often, and you addressed it .

Regards,

Kavita

Thanks Prasad, Kavita 🙂

Hi Vinod

Nice document

I am wondering cant this be achieved using the fields "Fixed date" and "additional months"??

If you want invoice will be due always in the next month, on 15th, you can have "Fixed date = 15" and "Additional months = 1"..

For the example you have considered, try with Additional months = 12

Pardon me, if I am wrong, but my memory says I did it once... It was way 3 yrs back.. Can you please check this aspect?

Br, Ajay M

Hi Vinod

I tested this in my system and it worked.

See below..

Can you please revise the document accordingly. Please let me know incase I have misunderstood the whole issue

Br. Ajay M

Thanks Ajay for your valuable inputs.

However, requirement here is little different. It is not always fixed day + fixed additional months. Payment term can be used any time during the year. Due date year should be adjusted to current year/next year comparing with posting date.

E.G:If my Fixed due date is 15.02.YYYY, If I use my payment terms in Jan 14, then due date would be 15.02.

2014. If I use the same payment term from Feb on wards till Jan 2015(This is business requirement), then due date should be 15.02.2015. Can this dynamic date determination possible through standard SAP setup? Awaiting your expert advice 🙂Thanks,

V V

Hi Vinod

Not this dynamism, but some dynamism is possible

Example - If Invoice date is between 1-15, then 15th of next month.. For 16-31, 30th of next month... Such dynamic determination is possible

For the case you have suggested, it wont support.. However, you can have 2 payment terms and write a plain substitution to substitute payment term based on posting date... I dont prefer to go for ABAP if Std solution is possible

No doubts the BTE is a good solution in the case you have suggested.

Br, Ajay M

Hi Vinod,

Very good document.

Regards

Diwa

Thanks Diwa 🙂

Thank you Vinod . for your addition of knowledge. appreciated

Regards,

Sreehari

Thanks Sreehari 🙂

Thanks Vinod, its very informative document.

Regards,

Ramesh Kumar

Thanks Ramesh 🙂

Hi Vinod,

Thanks for your document. I don't whether it works in my case or not.

We have a requirement to take fixed Day as baseline Date. For Ex: 5th of every Month. After 5th any invoice (Until next 5th) should pick next month 5th as Baseline date. But in standard system it is picking Current month fixed date even after the date.

Hello,

As we can code our own logic in BTE, this works fine. Get help from your ABAPer on how to code this logic.

Thanks,

V V

Hi Vinod,

Thanks for sharing, appreciate the hardwork.

Regards

Arvind Leo Pereira

Thanks Arvind 🙂

Just a question : In

BSEG_SUBSTthere is noBaseline Date (ZFBDT)field ...Have you an idea/workaround ?

Regards,

Youri

Solved

I append structure with my field ZFBDT to BSEG_SUBST 😉

Thanks for this document.

Regards

Youri

Thanks for posting solution 🙂 . Didn't find time to check this 😐

Thanks for the valuable content.