Grace Period is added to EOT, how to avoid that?

Our members all have their membership expire December 31st. We allow them until January 31st to purchase a “buy now” one year renewal through a Billing Modification form. The grace period is being added to the EOT and becomes January 31st of the following year. I don’t want the grace period added; we allow access for that additional month but would like to recoup that month in the payment.

Is there an additional field somewhere that will allow that grace period to occur for access but not be added to the new (extended) membership?

Hmm… Not sure how it’d behave, but you could try selling the person a new subscription instead of modifying the existing one. I think that’ll count the subscription from the time of new payment, instaed of the previous EOT.

Test it with a $1 subscription and see if it works. Let me know after you try it. :slight_smile:

We don’t want a “subscription” because that causes the entry of all new data for an existing user. That would not be popular at all.

I’ve found the php code and calculation in the s2Member KB articles to force a specific EOT date (and admittedly got all excited) but Gutenberg is not allowing the entry of the php code that is required for the calculation of dates until the end of the year. The php code is displayed on the screen rather than hidden and calculated.

That has always bugged me too. I investigated it once, but chose a different route.

You might be able to use one of the demotion hooks to delay. I have not tried it yet, but I would probably write a few lines of php in a “MU” plugin using one of these hooks:

https://www.s2member.com/codex/stable/s2member/auto_eot_system/package-filters/