Manage an Entitlement Renewal
An entitlement is approaching its expiration date. This recipe covers checking the renewal policy, handling auto-renewal, performing manual renewal when needed, extending the expiration date, and verifying the renewed status.
Prerequisites
- WordPress admin access.
- An entitlement with status
activethat has an upcoming expiration date. - The Organization's Stripe subscription or payment method is active (for auto-renewal).
Steps
Part A: Check the renewal policy
Step 1. Go to MIDDAG Account > Entitlements and open the entitlement that is approaching expiration.
Step 2. Check the Expiration Date field. The system sends configurable reminders before expiration:
| Reminder | When it is sent |
|---|---|
| First | 30 days before expiration |
| Second | 15 days before expiration |
| Final | 7 days before expiration |
Step 3. Check the Renewal Policy section on the entitlement detail page. The policy is resolved through the 5-level hierarchy (entitlement > product > organization > class > global). Key settings:
| Setting | What it controls |
|---|---|
auto_renew | Whether the system attempts automatic renewal. |
renewal_period | How long the renewal extends (e.g., 12 months). |
renewal_price | Price for the renewal period (may differ from original). |
reminder_schedule | When reminder emails are sent before expiration. |
Step 4. To check or change the policy for this specific entitlement, go to the Policy Overrides tab. Any value set here overrides the class, organization, and global defaults.
Part B: Auto-renewal flow
Step 5. If auto_renew is enabled and the customer has a valid payment method on file:
- The system creates a renewal charge via Stripe at the configured time before expiration.
- If payment succeeds, the entitlement's expiration date extends by the renewal period.
- The entitlement status remains
active-- no interruption occurs. - The customer and admin are notified of the successful renewal.
- A new invoice is generated in Stripe and synced to MIDDAG Account.
Step 6. To verify auto-renewal completed: open the entitlement and check that the Expiration Date moved forward. Also check MIDDAG Account > Invoices for the renewal invoice.
Step 7. If auto-renewal failed (payment declined, expired card):
- The system notifies the customer to update their payment method.
- Depending on the PaymentRecoveryPolicy, the entitlement may be suspended or given a grace period for retry.
- See Suspend for Non-Payment for the full suspension flow.
Part C: Manual renewal
Step 8. If auto-renewal is disabled, or if the customer wants to renew manually:
Option 1 -- Admin-initiated renewal:
- Open the entitlement detail page.
- Click Renew Entitlement.
- Set the new expiration date (the system pre-fills based on the renewal period).
- Optionally link a new WooCommerce order or quote for the renewal payment.
- Click Confirm Renewal.
Option 2 -- Customer-initiated renewal (via portal):
- The customer logs in and navigates to My Products.
- They see a "Renew" button next to entitlements approaching expiration.
- They click Renew, review the renewal terms and price, and proceed to payment.
- After payment, the entitlement expiration date extends automatically.
Option 3 -- Via new quote:
- Create a new quote for the renewal. See Issue a Quote.
- When the customer accepts and pays, the system can extend the existing entitlement or create a new one (depending on the product configuration).
Part D: Verify the renewal
Step 9. Go to MIDDAG Account > Entitlements and open the entitlement.
Step 10. Confirm:
- Status is
active. - Expiration Date has moved forward by the renewal period.
- A renewal invoice exists under Invoices.
- Downstream resources are unaffected: licenses remain active, environments are running, service contracts continue.
Step 11. For PLG entitlements: verify the license expiration date extended to match the new entitlement period. Existing site activations remain intact.
Step 12. For SVC entitlements: verify the linked Contract was renewed or a new contract was created. Check that the CreditBalance was replenished if applicable.
Expected result
- The entitlement's expiration date has been extended.
- Status remains
activewith no service interruption. - A renewal invoice or payment record exists.
- Downstream resources (licenses, services, environments) continue uninterrupted.
- The customer sees the updated expiration date in the portal.
Further reading
- Purchase and Renewal Flow -- the complete renewal flow.
- Policies -- how renewal policies are configured at each hierarchy level.
- Suspend for Non-Payment -- what happens when auto-renewal fails.