=== SubPortal – Subscription Customer Portal for WooCommerce ===
Contributors: giannis4
Tags: woocommerce subscriptions, subscription management, customer portal, self-service, my account
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Requires Plugins: woocommerce
WC requires at least: 10.7
WC tested up to: 10.9
Stable tag: 1.1.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Customer self-service portal for WooCommerce Subscriptions: skip, pause, resume, cancel with reasons, and edit addresses from My Account.

== Description ==

**SubPortal** turns the **WooCommerce Subscriptions My Account** area into a full **self-service portal**.

Customers **handle routine requests in a minute instead of contacting support**, and every change leaves a note on the subscription so your team can see exactly what happened.

Fewer tickets, fewer silent cancellations, longer-running subscriptions.

**Important:** This plugin is an extension of the [WooCommerce](https://wordpress.org/plugins/woocommerce/) and [WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/) plugins, and it cannot function independently.

= What customers can do =

* **Skip the next order** - move the upcoming renewal one billing interval forward, leaving the rest of the schedule untouched.
* **Pause and resume** - pause until a chosen date (with quick presets) or indefinitely; a scheduled resume reactivates the subscription automatically, and billing continues one full interval after resuming.
* **Cancel with a reason** - customers choose a cancellation reason, with room for details, so you learn why subscribers leave.
* **Edit addresses** - update a subscription's billing or shipping address, with an optional "apply to all my subscriptions" checkbox.
* **See related orders** - every subscription card shows its latest order and links to the full history.


= The case for self-service =

* **79% of consumers want the option to pause** before they even sign up, and 58% paused a subscription instead of canceling in the past year (Chargebee Global Consumer Insights Report).
* Stores that offer pausing save an average of **9.6% of subscriptions that would otherwise cancel** (Recharge, data from 1,700+ merchants).
* **81% of customers try to sort things out themselves** before they contact support (Harvard Business Review).

For a subscriber who can't skip one delivery, canceling the whole subscription is often the path of least resistance. A skip button keeps that customer.

= What you control =

* Enable or disable each feature - dashboard, skip, pause, cancel, address editing - from WooCommerce > Settings > SubPortal.
* Cap how far into the future customers can pause.

= Built for real stores =

* Every action is validated server-side on every request: ownership, subscription status, and payment-gateway support - never just hidden buttons.
* Every action writes an order note and an entry in a dedicated WooCommerce log source.
* Compatible with High-Performance Order Storage (HPOS).
* Templates are overridable from your theme the standard WooCommerce way.
* Works with WooCommerce Subscriptions.

= Documentation =

Every feature has a guide on our site:

* [Requirements and setup](https://thewpgarden.com/docs/subportal/requirements-and-setup/)
* [Skip the next order](https://thewpgarden.com/docs/subportal/skip-the-next-order/)
* [Pause and resume a subscription](https://thewpgarden.com/docs/subportal/pause-and-resume/)
* [Cancel with a reason](https://thewpgarden.com/docs/subportal/cancel-with-a-reason/)
* [Edit a subscription address](https://thewpgarden.com/docs/subportal/edit-a-subscription-address/)
* [Order notes and logging](https://thewpgarden.com/docs/subportal/order-notes-and-logging/)

Start at the [SubPortal documentation](https://thewpgarden.com/docs/subportal/) index, see the [SubPortal plugin page](https://thewpgarden.com/plugins/subportal/) for an overview, or ask a question on our [support page](https://thewpgarden.com/support/).

SubPortal is made and maintained by [The WP Garden](https://thewpgarden.com/).

== Installation ==

1. Upload the "SubPortal" plugin into the `wp-content/plugins/` directory.
2. Activate the "SubPortal" plugin.
3. Go to WooCommerce > Settings > SubPortal and choose which features your customers can use.

The [requirements and setup guide](https://thewpgarden.com/docs/subportal/requirements-and-setup/) walks through the same steps in detail.


== Frequently Asked Questions ==

= What does SubPortal require? =

WooCommerce and WooCommerce Subscriptions.

= Can customers bypass the rules? =

No. SubPortal re-checks every request on the server: who owns the subscription, its current status, and whether the payment gateway supports the change.

= Can I disable individual features? =

Yes. Dashboard, skip, pause, cancel, and address editing each have their own toggle under WooCommerce > Settings > SubPortal.

= Will it work with my theme? =

SubPortal renders inside the normal My Account pages, and you can override its templates from your theme the standard WooCommerce way.

= How do I see what a customer changed? =

Every action leaves an order note on the subscription and a line in a dedicated "subportal" log source under WooCommerce > Status > Logs. See [Order notes and logging](https://thewpgarden.com/docs/subportal/order-notes-and-logging/).

= Where is the documentation? =

At [thewpgarden.com/docs/subportal](https://thewpgarden.com/docs/subportal/) - setup, plus a guide for each feature.

= How do I get support? =

Post in the [WordPress.org support forum](https://wordpress.org/support/plugin/subportal/), or reach us through the [The WP Garden support page](https://thewpgarden.com/support/).

== Screenshots ==
1. Customer self service subscription management.
2. Enable automatic reactivation for paused subscriptions
3. Ask for the cancelation reason.
4. SubPortal Settings.

== Changelog ==

= 1.1.2 =
* Hardened the subscriptions dashboard against unusual line items: a subscription containing a non-product line item, or a product from a plugin that reports a variation type without being one, cannot break the My Account page.
* Internal: added an automated test suite and coding-standards tooling. No change to how the portal behaves for customers.

= 1.1.1 =
* Added a "Settings" link to the SubPortal row on the Plugins screen.

= 1.1.0 =
* After a subscription action, the dashboard now scrolls back to the affected subscription card, shows the confirmation right above it, and briefly highlights it.
* Dashboard cards now list each line item on its own row with the product image, price, variation, and quantity. Product images can be switched off under WooCommerce > Settings > SubPortal.
* The billing schedule ("every 6 weeks") now sits under the card title, and the Total row shows the plain amount.

= 1.0.0 =
* First Edition release

== Upgrade Notice ==

= 1.1.1 =
Adds a Settings link to the plugin row on the Plugins screen.

= 1.1.0 =
Dashboard cards now show per-item rows with product images, and after any action the page returns you to the card you acted on.
