A subscription renewal is a new order, not a copy of the original checkout total. Its charge can combine the subscription’s stored recurring price, recurring shipping policy, current subscription address, discounts or switch fees, and WooCommerce tax calculation. Reconcile each component separately, and test automatic and manual renewals before changing live tax or shipping rules.
Key takeaways
- Separate recurring product amount, shipping charge, taxable inputs, fees/discounts, and final total.
- Current ArraySubs constructs a new WooCommerce order and calls total calculation.
- ArraySubs Pro renewal shipping is a stored amount, not necessarily a new carrier quote.
- A changed subscription address can affect tax without recalculating stored shipping.
- This explains software behavior; qualified advisers must determine tax obligations.
Initial checkout versus renewal

| Component | Initial order | Current ArraySubs renewal |
|---|---|---|
| Product | Checkout price and first-charge logic | Stored recurring unit amount × quantity |
| Signup fee | Can apply | Not copied to normal renewal |
| Catalog edit | Establishes new offers | Does not automatically reprice existing subscriber |
| Shipping | Woo checkout or initial override | Omitted for one-time; otherwise stored renewal amount |
| Address | Checkout address | Current subscription address copied to order |
| Tax | Woo calculation | Woo calculation after renewal lines are built |
| Ordinary coupon | Can apply | Not generally copied from original order |
| Renewal discount | Usually absent | Supported mechanisms can add a negative fee |
| Deferred switch | Not applicable | Target product/price and fee can apply |
WooCommerce’s tax documentation explains configuration, not whether a merchant legally owes tax. Results depend on address basis, product and shipping tax classes, inclusive/exclusive pricing, tables, rounding, and extensions (setting up taxes).
Current ArraySubs renewal formula
pre-tax amount
= stored recurring unit amount × quantity
+ eligible recurring shipping
+ eligible one-time switch fee
− supported renewal discount
renewal total = pre-tax amount + calculated item/shipping/fee taxes
Current order creation copies subscription billing/shipping addresses, adds product and eligible stored shipping, calls WooCommerce total calculation, then applies an eligible retention discount and recalculates. Third-party tax and Merchant-of-Record integrations can alter outcomes, so test the installed stack.
Worked reconciliation
Assume quantity two at $40 each, $8 recurring shipping, a 10% retention discount on product subtotal, and an illustrative 7.5% tax on product plus shipping:
product = $40 × 2 = $80
discount = $8
shipping = $8
illustrative tax base = $88
illustrative tax = $6.60
total = $80 + $8 − $8 + $6.60 = $86.60

Arithmetic illustration only. The current discount is a non-taxable negative fee, so actual tax treatment can differ from this simplified model.
Use difference decomposition:
renewal − initial total
= removed signup fee
+ recurring-price or locked-price difference
+ renewal-shipping change
+ address, rate, or tax-class change
+ renewal-only fees
− renewal-only discounts
− initial-only coupons
Historical refunds do not alter a future renewal unless an explicit credit or future-facing change is created.
Shipping truth in ArraySubs Pro
- No physical-shipping requirement: no renewal shipping line.
- One-time shipping: initial order only.
- Recurring shipping: add stored renewal amount when above zero.
- Renewal override: stored as the later amount.
- No renewal override: captured initial checkout shipping becomes the renewal amount.
- Changed address: copied to the renewal; stored amount is not automatically re-rated.
- Deferred switch: target shipping context can apply through Pro filtering.
This stored model provides predictability but can become inaccurate after destination, weight, contents, or carrier rates change. Build an explicit update and disclosure policy.
Address and cutoff
ArraySubs Pro lets customers/admins update the subscription address. The current customer cutoff defaults to three days before renewal. The next renewal copies the then-current address, but the cutoff is tied to renewal—not every independently scheduled shipment a separate system might create.

Reconciliation checklist
- Record subscription recurring amount, quantity, address, tax class, shipping type, and stored shipping totals.
- Generate a test renewal.
- Compare product, shipping, fee/discount, item tax, shipping tax, and total lines.
- Run manual and automatic paths in scope.
- Change the subscription address outside the cutoff and repeat.
- Test one-time and recurring shipping separately.
- Match the gateway transaction and accounting/export record.
- Save evidence and obtain qualified tax/accounting review.
For cadence differences, read Billing Schedule vs Shipping Schedule.
Final recommendation
Reconcile renewal components, not one percentage or grand-total difference. Preserve stored-price and shipping truth, test address/tax changes, and get tax advice before changing production. Compare ArraySubs plans.
Frequently asked questions
Are taxes always the same on every renewal?
No. Current ArraySubs constructs a new order from current subscription data and WooCommerce calculation. Address, tax settings, classes, or extensions can change the result.
Does changing address update renewal shipping price?
Not automatically in the current inspected path. The address is copied and can affect tax, while renewal shipping remains a stored amount unless another workflow updates it.
What is one-time versus recurring shipping?
One-time shipping applies to initial checkout only. Recurring shipping stores and adds an eligible amount to later renewal orders.
Will an ordinary checkout coupon automatically discount renewals?
Do not assume so. Current standard renewal creation does not copy original coupon items. Use and test an explicitly supported recurring discount mechanism.
Does refunding the last order lower the next renewal?
Not by itself. A refund adjusts a past transaction. Future billing changes only through a supported credit, discount, product/plan update, or cancellation policy.
Disclosure, verification, and update log
- July 2026: Verified against current ArraySubs renewal creation and ArraySubs Pro shipping behavior. This is not tax, accounting, VAT, GST, or legal advice.
Continue from strategy to setup
Use a recipe when the model is settled
These articles own the decision and operating model. The ArraySubs feature map and recipes cover the exact product, billing, and customer-workflow configuration.
Written by
Emran // ArrayHash
Research and practical guidance for WooCommerce subscription operators and implementation teams.
Technical review
ArraySubs Engineering Team
Reviewed against current ArraySubs code, product documentation, and the linked primary platform sources.




