Mobile App Refresh Campaign [Banner] 2024

Product Icon


by  Woo
Powerful marketing automation for WooCommerce. AutomateWoo has the tools you need to grow your store and make more money.

Action to change a subscription’s next payment date

Github Issue:


Current Status


Last updated: November 11, 2019


Log in to comment on this feature request.

  1. Robert Hemsing says:

    Would really, really love the ability to move a renewal date by a relative date input!

  2. Dakotah Intriglia says:

    +1 for this feature. Really hoping it gets added in. Linking this request in as it is another potential solution:

  3. Geoffrey BOUHIER says:

    Hi everyone,
    I have some difficulties in setting up the operation I want with Automatewoo.
    I propose a monthly box (single product) with different subscription options:
    Monthly payment with automatic renewal every month ($29/mo)
    Annual payment with automatic renewal every year (310$/year)
    3-month subscription paid in one go at subscription ($82 gift card)
    6 month subscription paid in one go at subscription ($160 gift card)
    12-month subscription paid in one go at the time of subscription ($310 gift card)
    For the first subscription option (monthly payment), I synchronised the monthly payments on the 11th, so it works correctly: when a subscription is purchased, the order immediately goes to the completed status and a new one will be created on the 11th of the next month.
    For the second option (yearly payment), I followed the excellent guide on prepaid orders with Automatewoo and took inspiration from @danielbitzer ‘s snippet to add a custom function to set the first payment date (on the 11th of the following month). The problems are as follows:
    The first renewal is indeed pushed to the 11th of the following month but I still have an order with the status "processing" that appears and does not change to completed. This can be confusing when processing orders. I would like the order to be completed or the order not to be created at all.
    Since we are changing the price of the annual subscription from $310 to a monthly subscription of $0/mo, we can no longer have a correct estimate of the upcoming monthly/annual recurring revenue?
    For the gift cards (3/6/12 months), I tried to set up the subscription as follows: $82 every 3 months, expires after 3 months, no signup fee.
    The problem is that with this configuration, Woocommerce Subscription estimates that the customer will need to be charged after three months, so it asks them to enter their credit card. I don’t want this because it’s a gift card…
    So I tried to do it differently: $82 sign-up fee, $0/mo for 3 months, expires after 3 months. It works better because the user doesn’t need to enter his credit card anymore, the gift card is enough.
    However I have read that this is not a good practice and should be avoided: use the Automatewoo guide on prepaid orders instead. Would this be feasible or could it cause problems: update schedule with Automatewoo?
    I am really struggling, any help or tips to achieve this would be really grateful !

  4. Sander Cisinski says:

    Dan Bitzer: Hi, I don’t get how you can use your snippet to move the day to the first of each month…

  5. Jason Humphries says:

    Hi – I’ve just voted on this feature as we periodically need to re-adjust the renewal date on a batch of subscribers to align with the operations side of our 3-times a year wine club shipments. Will give the php function based work-around a go for now but would really like for less tech members of our team to be able to access this in the gui. Thank you!

  6. Dan Bitzer says:

    Related: How to pause a subscription for X months via coupons

  7. Magda Kubiś says:

    Dan Bitzer: Thank you! I’ve adjusted it to my subscription and it worked like a charm!

  8. Leighton Adem says:

    Dan Bitzer: Your a legend Dan, and a life saver Dan.
    Thanks for that

  9. Dan Bitzer says:

    As an interim solution, I’ve created a code snippet capable of modifying a subscription’s next payment date via a custom function action.

  10. Dan Bitzer says:

    Wes Humpage: I think this is already possible if you use the order.meta_ date variable. However, the date must be in a specific format for that variable to work. Check out the order.meta_date variable. You should be able to use the modify parameter to modify it by X days.

  11. Dan Bitzer says:

    Wes Humpage: Yes, we have discussed having that kind of feature

  12. Wes Humpage says:

    Could you even set it up so that it might be =todays date + 3 days?

  13. Wes Humpage says:

    Hi Dan
    This is a great idea, we actually have an extra field called "Delivery Date". It would be great to have this new feature to be able to modify any custom fields like mine as well