Skip to Content
Technical Articles
Author's profile photo Wei Qu

How Periodic Billing Plan is Generated for Service Contract Items

Introduction

For service contracts in the SAP S/4HANA Cloud, the following two item categories are based on the periodic billing plan: 

  • Service contract item (SCN1) 
  • Service contract item for price adaptation (SCN2)  

For these items (especially when a Monthly settlement period rule is selected), you would notice that in the system generated billing request lines:

  1.  The settlement start and end dates can be very normally set to the exact same days for each month, or
  2.  Very strangely these dates vary a bit and makes the billing values at each billing request line vary as well.

You could find that the special day making the difference is the 28th, in the case of a monthly settlement rule.

If the Contract Start date is set to a day earlier than 28th of each month, the billing plan is generated normally in the system: 12 billing request lines with the same billing value in each line exactly equal to the monthly fee you have configured in the system.  

However, if the Contract Start date is later than 29th, the billing plan is generated, taking February (29th only available for the leap-year February) into account: total 13 billing request lines with the billing value of one settlement period is split. 

Reasons 

The reason behind is that the period billing plan has been pre-configured in the standard system as the standard delivery for periodic billing plan generation. 

Days in Month  30 
Days in Year  360 

With this configuration, the general rule is: 

  • One month is considered as 30 days 
  • The daily price is considered as the Monthly Fee (PSI1) times 12 months and then divided by 360 days. 

Another factor that matters here is that during the generation of a billing plan, the system firstly calculates the settlement start and end dates and then uses these dates to calculate the billing values based on the Monthly Fee.  

 

Calculation Logic 

The following section describes the detailed calculation logic for settlement period calculation and billing value calculation. 

Note:  

  • The following logic explained is only for normal years with 28 days in February.
  • The following logic explained is based on the Monthly settlement period rule.

1. Generation of Settlement Periods 

The settlement period is calculated one by one starting from the contract start date. The end condition is that the calculated last settlement period end date plus 1 day is equal to the contract end date. Then the contract end date will be set to the end date of the last settlement period. 

1.1 Settlement Start Date

  • If the current settlement period is the first settlement period, the settlement start date is set using the contract start date. 
  • If the current settlement period is not the first settlement period, the settlement start date is set to the previous settlement end date plus 1 day. 

 Example 

A service contract item with validity period from 2021.01.01 to 2022.01.01. 

Settlement Start   Settlement End  Remarks 
2021.01.01  2021.01.31  First settlement period 
2021.02.01  2021.01.28  Settlement Period Start Date = 2021.01.31 + 1 Day 
2021.03.01  2021.03.31  Settlement Period Start Date = 2021.02.28 + 1 Day 
….  ….   
2021.11.01  2022.11.30   
2021.12.01  2022.01.01  Settlement Period Start Date = 2021.11.30 + 1 Day 

A service contract item with validity period from 2021.01.30 to 2022.01.30. 

Settlement Start  Settlement End  Remarks 
2021.01.30  2021.02.27  First settlement period 
2021.02.28  2021.03.27  Settlement Period Start Date = 2021.02.27 + 1 Day 
2021.03.28  2021.04.27  Settlement Period Start Date = 2021.03.27 + 1 Day 
….  ….   
2021.11.28  2022.12.27   
2021.12.28  2022.01.27  Settlement Period Start Date = 2021.12.27 + 1 Day 
2022.01.28  2022.01.30  Settlement Period Start Date = 2022.01.28 + 1 Day 

1.2 Settlement End Date

  • The settlement end date is normally equal to the settlement start date plus one month minus 1 day. However, this one month is defined differently based on different settlement start dates: 
    • If the settlement start date is set in a 31-day month (January, March, May, July, August, October, December), then the system takes 31 days for one month. 
    • If the settlement start date is set in a 30-day month (April, June, September, November), then the system takes 30 days for one month. 
    • If the settlement start date is set in February, then the system takes 28 days for one month. 
  • If the month of the calculated settlement end date minus the month of the settlement start date is larger than one, the system sets the settlement end date to the last day of earlier month minus one day. 
  • If the settlement end date plus one day is equal to the contract end date, the system sets the settlement end date to the contract end date. And this settlement period is the last settlement period in the billing plan. 

Example

A service contract item with validity period from 2021.01.30 to 2022.01.30 

Settlement Start  Settlement End  Remarks 
2021.01.30  2021.02.27 

Start Month is January, 2021.01.30 + 31 Days = 2021.03.02.  

03 – 01 = 2 which is more than 1 month, then set the settlement period to the last day of earlier moth – 1 day, which is 2021.02.27 

2021.02.28  2021.03.27  Settlement Period Start Date + 28 days (February) – 1 day 
2021.03.28  2021.04.27  Settlement Period Start Date + 31 days – 1 day 
….  ….   
2021.11.28  2022.12.27  Settlement Period Start Date + 30 days – 1 day 
2021.12.28  2022.01.27  Settlement Period Start Date + 31 days – 1 day 
2022.01.28  2022.01.30 

Settlement Period Start Date + 31 days = 2022.01.30 

Because 2022.01.30 is equal to the Contract End Date, this is the last settlement period and thus the system sets the Settlement End Date to Service Contract End Date 

 

2. Calculation of Billing Values 

With the settlement periods calculated in the billing plan, the system calculates billing values based on the settlement start and end dates. 

  • If settlement end date – settlement start date + 1 day > 30 days, the billing value is equal to the monthly fee. 
  • If settlement end date – settlement start date + 1 day = 28, the month of settlement end date is February, and the year is not a leap year, the billing value is equal to monthly fee 
  • If settlement end date – settlement start date + 1 day < 30 and the month of settlement end date is not February, the billing value is equal to

𝑀𝑜𝑛𝑡ℎ𝑙𝑦 𝑓𝑒𝑒−(30−(settlement end date – settlement start date+1))∗daily price

  • If settlement end date – settlement start date + 1 day < 28 and the month of settlement end date is February, then the billing value is equal to

𝑀𝑜𝑛𝑡ℎ𝑙𝑦 𝑓𝑒𝑒−(30−(settlement end date – settlement start date+1))∗daily price

Example

We can take a look at the following four scenarios when for example setting the Monthly Fee to USD 100.  

  1. Service contract item start date is earlier than 28th (01.01)
  2. Service contract item start date is 29th (01.29)
  3. Service contract item start date is 30th (01.30)
  4. Service contract item start date is 31st (01.31)

  Billing%20Plan%20for%20Item%20Start%20on%2001.01

Billing Plan for Item Start on 01.01

  Billing%20Plan%20for%20Item%20Start%20on%2001.29

Billing Plan for Item Start on 01.29

Billing%20Plan%20for%20Item%20Start%20on%2001.30

Billing Plan for Item Start on 01.30

Billing%20Plan%20for%20Item%20Start%20on%2001.31

Billing Plan for Item Start on 01.31

 

Conclusion

In this blog, you have learnt that how the system generates the periodic billing plan for your service contract items. We hope that it give you a clear clue about the reasons why sometimes the billing request lines and the billing values look so different from those in the many other cases in your system.

Test yourself about the leap year case and verify it in your system if you’re curious.

If you have any questions, please comment under this blog. We will get back to you soon with our answers. If you have any other questions about service contracts, you can find Q&A and post your questions in the community. 

 

 

 

Assigned Tags

      8 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Maneesh Sonawane
      Maneesh Sonawane

      Hi Wei,

      Greeting from me.

      Facing the issue in Bill Plan calculation in SAP.

      We create service contract for our customer and as per customer request we charge them monthly, bi-monthly, quarterly, six-monthly and yearly.

      We enter the pricing condition for the 1 month and as per the contract start date and end date SAP system generates the bill plan.

       

      But whenever our bill plant start with 31st May, 31st Jul and 31st Aug and we are charging to customer either bi-monthly, quarterly or six monthly, system not calculation charge for 1 day which is starting day i.e. 31st day of May, Jul and Aug months.

      Please help to resolve this issue.

       

      Regards,

      Amey Patil

      amey.patil@savictech.com

       

       

       

      Author's profile photo Wei Qu
      Wei Qu
      Blog Post Author

      Hi Amey,

      Thanks for your comment.

      As you have learned from the above log, the current calculation works as that and is not perfect. We have known the issue that you posted. We're having the internal discussion and investigation. If there's any progress, we will update the blog and let you know. We may contact you for more details that you've observed, if you allow.

      Thank you very much.

      Best regards,

      Wei

      Author's profile photo Chetna Khaparde
      Chetna Khaparde

      Hi Wei,

      Thank you for posting this blog. It is super helpful.

      We working on S/4HANA 1909 version and the periodic billing calculation does not seem to work as you explained above. If you could check my question in the Q&A section (link below) it would be great. Thanks.

      https://answers.sap.com/questions/13771799/sales-contract-periodic-billing-with-ad-annual-adv.html?childToView=13769927

       

      Best regards,

      Chetna

       

      Author's profile photo Tom Wei
      Tom Wei

      Hi Chetna

      What you discuss is about the SD period billing plan technical in Sales Contract.  What Wei Explain in this blog is coming from CRM. It only applies for Service contract.  they have different technical and different logic.  Please do not mix them.

      Best Regards

      Tom

       

      Author's profile photo Soufiane ElHayani
      Soufiane ElHayani

      Hello,

      Thank your for this blog.

      Could you please tell us which scope item is refer to in S4HC?

      Thanks in advance,

       

      Soufiane

      Author's profile photo Tom Wei
      Tom Wei

      Hi Soufiane

      The scope item for this one is 3MO.

      Best Regards

      Tom

      Author's profile photo Ajit Inamdar
      Ajit Inamdar

      Hi Wei,

      Thank you for posting this blog. It explains how period billing plan is generated for Service Contract Items (SCN1/SCN2)

      However we are similar facing billing plan calculation issues during  migration of open Service Contracts.  There are around 500 migrated Service Contracts where contract start dates starts between 29th to 31 st of the month. So for those migrated Service Contracts , billing plan values are incorrect on first settlement period and on month of February.

      Could you please let us know if there is any workaround solution on this issue as original billing plan values on settlement period were already agreed with the customer in legacy system. Hence it will not be possible to have billing plan values differences on migrated Service Contracts. Pls kindly advise on it.

      Regards,

      Ajit

      Author's profile photo Neil Xu
      Neil Xu

      Hello Aljit,

       

      If you would just want to adjust billing plan's billing request line's price, you could change the item category of your service contract item from SCN1 (standard item) to SCN2 (price adaptation item). In the price adaptation item, it is possible to add pricing condition type PMBL(Monthly) with expected billing value to replace the original calculated monthly billing value. If you would like to have fix-price for the billing request line, please use pricing condition type PMV1 (fix-price) to set the billing value.

      And also, a new set of settlement rules are introduced in S/4HANA cloud to make customer have more options regarding the start dates starts between 29th to 31st of the month. (I'm not familiar with your legacy data so that you can check whether these date rules can fulfill your requirement or not)

      1. Monthly by Calendar (Settlement Period) - BILL0013
      2. Quarterly by Calendar (Settlement Period) - BILL0014
      3. Half-Yearly by Calendar (Settlement Period) - BILL0015
      4. Yearly by Calendar (Settlement Period) - BILL0016

      These date rules are currently not yet by-default added into the standard date profile, you can check the following blog to find out how to configure them.

      https://blogs.sap.com/2022/11/29/how-to-use-date-management-to-configure-service-contract-dates/

       

      Thanks a lot.

       

      Best. Regards.

      Neil