Shopify international recurring billing

Shopify international recurring billing is a landed-cost, payment, and delivery problem as much as a billing problem: a subscription can charge successfully and still churn when the next parcel arrives with an unexpected duty, a different currency, an unusable local payment method, or a delivery refusal. The fix is to launch each country as an operating system with a tested renewal path, not as a translation and shipping-rate exercise.
This matters more after de minimis rules changed in major destinations. The former low-value import assumption is no longer a dependable basis for a 2026 subscription model: a duty or tax that was tolerable on one order becomes a repeated margin and customer-experience event on every renewal. The White House low-value import actions show why the US position needs to be checked against the destination and product classification rather than hard-coded into a checkout promise. This article is operational guidance, not tax or customs advice; confirm obligations with a tax adviser, customs broker, and carrier before launch.
Quick answer: what has to work before an international renewal
An international subscription is ready for launch only when five things agree for the same country:
- The landed-cost promise: the customer knows whether duties, import tax, brokerage, and shipping are included or collected later.
- The contract price: the renewal has a known currency, amount, tax treatment, cadence, and exchange-rate policy.
- The payment path: the stored payment method can be charged again under the provider’s rules, including any authentication or customer-update path.
- The delivery path: the carrier has the right customs data, a realistic delivery promise, and a clear process for holds, refusals, and returns.
- The scorecard: the merchant can see whether a failed renewal, customs event, delivery failure, or voluntary cancellation caused the loss.
If one is unknown, the market is not ready. A successful first checkout proves only that one payment and one parcel worked.
Why duties become recurring churn
A one-time cross-border order creates one customs decision. A subscription creates the same decision repeatedly, often under a different product value, exchange rate, carrier route, or tax rule. That changes the unit economics:
- The duty and brokerage cost may recur on every shipment, not just the first one.
- A subscriber who accepts an unexpected charge once may refuse the second parcel.
- A refused parcel can create return freight, disposal, reshipment, support work, and a cancellation.
- A renewal can be financially successful while the delivered order is commercially unprofitable.
Do not model international subscriptions as domestic MRR plus postage. For each market, calculate:
gross profit per renewal = collected product revenue + collected shipping - product cost - fulfilment - shipping - payment fees - duty/tax cost paid by the merchant - brokerage - expected return/refusal cost
The formula is a decision model, not a benchmark. Use your actual invoices and classify the result by country, product, carrier, and subscription cadence. Shopify’s international tools separate duties and import taxes, payments, local pricing, and international shipping; your own model needs to join them at the renewal level.
DDP vs. DDU: who pays when the parcel arrives?

DDP, or Delivered Duty Paid, means the seller takes responsibility for import clearance and the applicable import charges up to delivery. DDU is the older merchant shorthand for a buyer-paid import arrangement; current Incoterms usage generally maps the idea to DAP, where the buyer handles import clearance and charges. Confirm the exact term with your broker and carrier rather than using the acronym as a customer promise.
The choice is operational:
| Model | Subscriber sees at checkout | Merchant must control | Main recurring risk |
|---|---|---|---|
| DDP | A more complete landed price | Classification, tax/duty calculation, importer setup, broker and carrier instructions | You underquote a charge and absorb it on every renewal |
| DDU / DAP | A product and shipping price, with import charges later | Clear disclosure, carrier collection, customer contact, refusal and return handling | Surprise charges create holds, refusals, support contacts, and cancellations |
DDP is usually the clearer customer experience for a replenishment product because the subscriber can compare the recurring total. It is not automatically the higher-margin option: a wrong HS code, origin, tax registration, or carrier configuration can turn a predictable promise into a repeated loss. DDU can work where customers understand import collection and the product economics require it, but “duties may apply” is not a substitute for showing what the customer is likely to pay or who will contact them.
For either model, document the importer of record, who pays the broker, how a refusal is charged, whether a return is refunded, and whether the next renewal is paused while the issue is resolved. Keep those rules visible in the subscription terms and renewal email.
VAT, GST, and tax at renewal
The tax question is not only “what rate applies?” It is “where is the customer at this renewal, what is being supplied, which party is responsible, and is the tax included in the displayed price?” A first checkout can calculate correctly while later renewals drift if the address, market, product classification, tax registration, or tax-inclusive setting changes.
Before launching a country, record:
- the customer location used for tax determination;
- whether the product is taxed at the destination and whether the merchant or marketplace collects it;
- whether the displayed price is tax-inclusive or tax-exclusive;
- the tax registration or fiscal-representative requirement, if any;
- the treatment of shipping, discounts, returns, and failed or partially fulfilled renewals;
- the invoice and receipt fields the customer receives.
Shopify’s duty- and tax-inclusive pricing guidance and tax settings documentation are starting points, not a substitute for local advice. Test a renewal after a customer changes address and test a product return. A tax calculation that is correct for a one-time checkout but absent from the recurring order is a billing defect and a compliance risk.
Do not promise “tax included worldwide.” Publish the rule per market, show the same treatment in checkout and renewal notices, and give support a way to explain a difference without guessing.
Currency and renewal pricing
The currency selected for a Shopify market is the currency displayed to customers and used for transactions in that market, but a subscription renewal still has to preserve a specific contract currency and price. Shopify’s subscription-contract documentation describes the contract as an agreement for a particular billing and delivery schedule at a specific price, and its example contract includes a currency_code. Shopify also documents that local-currency processing depends on the primary gateway: with Shopify Payments or Adyen, compatible methods can process in the customer’s local currency; with another provider, local currency may be display-only and the customer is charged in the store currency.
That creates four tests:
- Checkout currency: what currency does the customer see and authorize?
- Contract currency: what currency is stored on the subscription contract?
- Renewal amount: what amount and tax treatment are sent to the payment provider later?
- Fallback behavior: what happens if the market, currency, gateway, or product is disabled?
A storefront showing GBP while a renewal charges USD is not necessarily a technical failure if it was disclosed, but it is a customer-experience failure when the subscriber expected a stable local amount. Choose one policy per market: fixed local price, converted price with a disclosed rate policy, or store-currency billing. Then show that policy in the checkout, contract portal, pre-billing email, and support documentation.
Price tests should include rounding, exchange-rate movement, refunds, discounts, shipping, and tax-inclusive display. Measure renewal price variance as the difference between the amount shown in the last renewal notice and the amount actually charged, split into merchant pricing change, currency movement, tax change, and error. Do not call a currency-driven difference a churn benchmark; it is a diagnostic.
Local payment methods and failed renewals

Shopify says local payment methods are available only for supported countries and eligible currencies, and its market settings show the methods eligible for that market. The list includes region-specific methods such as iDEAL | Wero, Bancontact, BLIK, MobilePay, and others, but availability at first checkout is not proof that a method can fund an off-session recurring charge.
For each target market, verify all of this with the payment provider and subscription app:
- Can the method be used for the initial subscription checkout?
- Is a reusable payment authorization created, and under what customer-consent rules?
- Can a renewal be charged without the customer returning to checkout?
- When is step-up authentication required?
- What error reaches the subscription system when the method cannot renew?
- Can the customer replace it with a card or another recurring-compatible method?
Track failed renewals by market, method, error class, and recovery outcome. A global failed-payment rate hides the fact that cards may recover normally while one local method fails every month. The existing failed-payment recovery playbook covers decline classification, retry limits, and payment-method update links; international billing adds the method-compatibility and authentication checks before that playbook begins.
Do not simply add every local method to checkout. A smaller set of recurring-compatible methods with a tested recovery path is better than a larger set that creates silent failed renewals.
Delivery, customs holds, and refusal churn
Delivery failure is subscription churn when the customer experiences it as “I paid and the product never arrived,” even if the billing attempt succeeded. The operational chain is longer across borders: address validation, export documentation, HS code and origin, carrier handoff, import clearance, duty collection, local delivery, and returns.
Measure each stage separately:
- days from successful renewal to carrier acceptance;
- days in customs hold;
- percentage of shipments requiring customer action;
- refusal, abandonment, and return-to-sender rate;
- reshipment cost and time;
- support contacts per 100 renewals;
- cancellation within 30 days of a customs or delivery event.
A parcel refused because the subscriber would not pay import charges is not the same as a card decline. Give it its own event and reason code. The customer may still want the product; the delivery promise failed. That distinction matters because the fix could be DDP, better checkout disclosure, a different carrier, a lower shipment cadence, or a market-specific pause flow rather than more payment retries.
For perishable products such as coffee, add the time and condition risk of a returned parcel. A reshipment can protect the relationship while destroying the margin, so report retained customer gross profit after reshipment, not only the successful delivery rate.
Country launch checklist
Use this sequence for every new country or market. Do not treat a country as launched because the storefront translated successfully.
- Choose the market and fulfilment route. Choose one country or a clearly defined market, then document the ship-from location, product classification, carrier, delivery promise, returns route, and whether the order will be delivered duty paid or delivered duty unpaid.
- Model the landed renewal cost. Model the landed renewal cost for the actual subscription: product, shipping, import duty, brokerage, tax, payment fees, refunds, and the cost of a refused or returned parcel. Run the model for the first order and for every renewal.
- Configure tax and duty collection. Configure the market’s tax and duty treatment in Shopify and confirm who is the importer of record. Make the checkout disclosure, invoice, commercial invoice, and carrier instruction agree.
- Lock the currency and renewal price. Test the checkout and the next billing cycle in the market’s currency. Record the subscription contract currency, the renewal price, the exchange-rate policy, rounding, tax inclusion, and what happens if the market or currency is disabled.
- Test recurring payment paths. Test the cards and local payment methods that customers can use at checkout, then test a renewal, an expired card, an authentication challenge, a declined local method, and the payment-method update path.
- Run a delivery and refusal test. Send a test parcel or use a carrier test environment to verify customs documents, duty collection, tracking, address handling, delivery estimates, returns, and the customer message when a parcel is refused or held.
- Launch with a market scorecard. Launch with a separate scorecard for authorization rate, failed renewals, duty variance, delivery time, customs holds, refusal and return rate, support contacts, cancellation rate, and gross margin per renewal.
Do not roll out the same setting to five countries because the first one passed. The market, currency, payment method, tax treatment, carrier, and customs process are all variables.
Metrics that tell you what broke

Use the same start-of-period denominator and contract definitions in every market, then add cross-border events to the existing subscription analytics framework.
| Metric | Calculation | What it diagnoses |
|---|---|---|
| Failed-renewal rate | Failed renewal attempts ÷ renewal attempts | Payment method, authentication, or billing defects |
| Recovery rate | Failed renewals returned to active ÷ failed renewals | Dunning and payment-method update effectiveness |
| Duty variance | Actual duty and brokerage - amount modelled | Classification, carrier, or destination-cost drift |
| Customs-hold rate | Shipments held in customs ÷ shipped renewals | Documentation, classification, or importer setup |
| Refusal/return rate | Refused or returned parcels ÷ shipped renewals | Landed-cost surprise, delivery, or address problems |
| Delivery contact rate | Delivery or customs support contacts ÷ shipped renewals | Promise clarity and carrier experience |
| Market gross margin | Collected renewal revenue - all renewal-level costs | Whether the market is economically viable |
| Post-event cancellation rate | Cancellations after a customs or delivery event ÷ affected active subscribers | Whether an operational failure becomes churn |
The useful comparison is market against market and month against month using the same definitions. This repository’s subscription analytics guide explains why active contracts, paused contracts, failed contracts, and prepaid terms must not be blended into one denominator. Apply the same discipline here: separate FAILED billing outcomes from delivery refusals and voluntary cancellations, then connect them through a customer-level timeline.
What to do when a market fails
Pause expansion before you patch blindly. First identify whether the loss began at authorization, tax calculation, customs, delivery, or the customer’s decision to cancel. Then contain the affected market: stop new acquisitions if the landed price is wrong, pause upcoming renewals where delivery cannot complete, contact subscribers with a concrete explanation, and preserve the subscription rather than forcing a cancellation.
A good recovery message answers four questions: what happened, what the customer will pay, when the parcel will arrive, and what the customer can do instead. “Your order is delayed” is not enough when the real issue is an unpaid import charge. Give the subscriber a valid payment or delivery action, a current expiry date, and a reachable support path.
Curobi can help with subscription contracts, customer portal controls, failed-payment recovery, dunning, and subscription analytics, but no subscription app decides your importer-of-record status, tax registration, HS classification, carrier contract, or local legal obligation. Those remain merchant and adviser responsibilities. The app should make the billing and customer state visible enough for your market operations to act on it.
Frequently asked questions
Should I use DDP or DDU for international Shopify subscriptions?
Use DDP when you want the merchant to control and prepay import duties, taxes, and customs clearance so the subscriber sees a more predictable landed cost. Use DDU, also called DAP in current Incoterms terminology, only when the customer can clearly accept that the carrier or customs authority may collect import charges on delivery. For a recurring product, DDP is usually easier to explain and measure, but it can be less attractive if your duty and tax model is not accurate. The right choice depends on the destination, product classification, carrier, importer-of-record arrangement, and margin; it is not a Shopify setting you can choose once for every country.
Why can an international subscription renew in the wrong currency?
An international subscription can renew in the wrong currency when the market currency shown at checkout is confused with the store currency, the payment gateway cannot process local-currency charges, the market or currency changes after the contract is created, or the subscription app does not preserve the contract’s currency and price. Shopify documents that a subscription contract has a specific currency, billing schedule, delivery schedule, and price. Test the original checkout and a simulated renewal, and report the contract currency and renewal amount separately from the storefront’s current display currency.
Do local payment methods work for recurring Shopify subscriptions?
Not automatically. Shopify says local payment methods are available only for supported countries and eligible currencies, and payment-method availability is shown per market. A method that works for the first checkout may not be a valid off-session recurring instrument for later charges, or may require customer authentication. Before launching, verify that the method can authorize the first purchase, be stored or reused under the payment provider’s rules, and complete a renewal; otherwise offer a card or another recurring-compatible method and give the subscriber a clear update path.
How should I measure international subscription churn?
Measure international churn by market and by cause, not as one global percentage. Start with billable active subscribers in each market, then report failed-renewal rate, voluntary cancellation rate, customs-hold rate, delivery refusal or return rate, duty variance per shipment, delivery time, support contacts, and gross margin per renewal. Keep the same start-of-period denominator and contract-status definitions across markets, and label whether a return or refusal becomes a cancellation. A global average can hide a market where the product is wanted but every renewal arrives with an unexpected import charge.
The takeaway
International subscriptions do not fail at one setting. They fail when a merchant treats a new country as a storefront translation and forgets that each renewal is a new customs event, tax calculation, payment authorization, and delivery promise. Launch one market with DDP or DDU chosen deliberately, a currency and renewal-price test, a recurring-compatible payment path, and a scorecard that can distinguish payment failure from delivery refusal. Then let the evidence decide whether the next country is ready.
Sources: Shopify Help Center: Payments in international markets, Shopify Help Center: Pricing in local currencies, Shopify Help Center: Local payment methods, Shopify international sales tools, Shopify: About subscription contracts, Shopify: Duties and import taxes, and The White House: Further amendment to duties applied to low-value imports (retrieved 21 September 2026). Definitions of DDP and DAP/DDU should be confirmed with the carrier or customs broker for the destination market.
Related reading: Shopify subscription analytics for definitions and denominator discipline, how to recover failed subscription payments on Shopify for dunning and recovery, and run a coffee subscription on Shopify for the fulfilment and cadence side of recurring operations.
Start a 14-day Curobi trial when the billing and delivery model is ready to test.






