AAdvanced Subscriptions
Features Pricing Docs Changelog Contact — Español
Sign in Buy the plugin →
Start dates · 6 min read

Anchor day — deep dive

Pin every renewal to the same day of the month so logistics, accounting and support all line up on the same calendar. This page covers the setup, the prorate formula for the first invoice, the edge cases (28th / 29th / 30th / 31st, month-end) and how to migrate an existing customer base onto a single anchor.

Last reviewed 2026-05-27 Plugin v2.0.0

Turning it on

  1. Go to WooCommerce → Settings → Advanced Subscriptions → Start dates.
  2. Set Anchor day of the month to a number from 1 to 28, or last for the last day of each month.
  3. Save. From this point, new subscriptions land on that day.

Per-product override: set the Anchor day field in the product editor's Subscription tab. The per-product value wins over the global one.

The prorate formula

When a customer signs up between two anchor dates, the plugin charges only the fraction of the cycle remaining until the next anchor. Formula:

FORMULA
first_invoice = recurring_price × ( days_to_next_anchor / cycle_days )

Worked examples

Recurring priceAnchor daySignup dayFirst invoiceNext renewal
€30 / mo115€15.00 (half cycle)1 of next month
€30 / mo128€3.00 (~10%)1 of next month
€30 / mo12€28.94 (~96.5%)1 of next month
€30 / molast15€15–16 (depending on month length)last of current month

Migrating existing subscriptions to a new anchor

Turning on a global anchor only affects new subscriptions by default. To roll existing customers onto the new anchor:

  • One-by-one: edit each subscription, change the Next payment date to the next occurrence of the anchor. Charge or credit-note the difference manually.
  • Bulk: use the bulk action Re-anchor selected subscriptions from the Subscriptions list. The plugin recalculates the next payment date and (optionally) emits prorate adjustment line items on the next renewal.
  • Roll forward only: enable the setting Restore schedule offset on resume if you want a paused subscription to keep its original offset when reactivated (instead of snapping to the new global anchor).

Cycles longer than a month

For yearly subscriptions, the anchor day still applies but on the anniversary month:

  • Subscription created on 14 March, recurring yearly, anchor day = 1.
  • First invoice: prorated from 14 March to 1 April.
  • Then 1 April every year onwards.

For quarterly subscriptions, same logic: anchor on day N of the renewal month every 3 months.

Relevant hooks