Start dates overview
The plugin's /start-date/ module gives you three independent controls over when a subscription becomes effective: a global anchor day, a customer-selectable date picker, and a wc-scheduled order status that holds the order in limbo until the chosen date. This page is the orientation; the next page goes deep on the anchor day.
The three controls
| Control | What it does | Setting |
|---|---|---|
| Anchor day | Every renewal lands on day N of the month (1–28, or "last day"). First invoice is prorated. | aswc_start_subscription_from_certain_date_of_month |
| Customer-selectable start | Date picker on the product page; customer decides when the subscription activates. | aswc_allow_start_date_subscription |
| Scheduled order status | While start date is in the future, order sits in wc-scheduled instead of processing. | Always on when start date is set |
Three useful combinations
- None of the three
- Vanilla WooCommerce subscription behaviour: subscription activates immediately on checkout, renews on the order anniversary.
- Anchor day only
- All your subscriptions renew on the same day each month. First invoice prorated. Good for shipping ops and accounting.
- Customer-selectable + scheduled status
- Customer pays today but the subscription doesn't start until the date they pick. Good for courses, cohorts, seasonal services.
- All three
- Customer picks a start date; from then on, renewals snap to the global anchor. Less common but valid.
The wc-scheduled order status
When a customer buys with a future start date, payment is captured immediately (no double-tap for SCA on the renewal) but the order sits in a dedicated wc-scheduled status. Inventory is reserved. The plugin transitions the order to processing automatically when the date arrives. Subscription status during this window: scheduled — see Statuses.
Relevant hooks
aswc_start_date_enabled— filter the per-product enable flag.aswc_subscription_start_date— filter the resolved start date for a subscription.aswc_scheduled_status_label— rename thewc-scheduledstatus label shown in admin.