British Columbia Just Wrote Canada's First Subscription Law — And Split It at 60 Days
BC's BPCPA amendments, in force since August 1, 2026, split subscription renewals into two regimes at the 60-day mark. No US state does it this way.
Every automatic-renewal law we've covered this year has been a US state or an EU-adjacent framework — Colorado, Maryland, Virginia, California, the EU's withdrawal button, the UK's still-delayed DMCCA regime. Canada sat outside all of it, mostly because no Canadian province had actually written subscription-specific rules into its consumer protection statute. That gap closed on August 1, 2026, when British Columbia's amended Business Practices and Consumer Protection Act came into force — and it didn't copy anyone else's structure. It split the whole regime at a single number: 60 days.
Every other jurisdiction we've tracked draws its lines around contract length, trial length, or a flat day-count window that applies the same way regardless of how the subscription is structured. BC's law instead asks one threshold question first — is the renewal term 60 days or less, or longer than that — and only then tells you which set of obligations applies. Get the classification wrong for even one plan tier and you're not slightly out of compliance with the right regime, you're fully compliant with the wrong one.
What actually changed, and what a "subscription contract" is now
Bill 4 passed the BC legislature and received Royal Assent back in March 2025, but the provisions touching subscriptions specifically were held back until August 1, 2026 — a deliberate runway, not a rushed rollout. The amendments create a new defined category inside the BPCPA: a subscription contract, meaning a future performance contract for goods or services supplied on a continuing basis, with a cumulative total price of C$50 or more before tax, shipping, and a short list of other excluded costs.
| Element | What it means for a SaaS product |
|---|---|
| Future performance contract | Payment happens before the full service has been delivered — describes essentially every recurring SaaS subscription |
| Supplied on a continuing basis | Recurring billing of any interval, not a one-time purchase with delayed delivery |
| C$50 minimum total price | Excludes trivial-value add-ons but catches almost every paid SaaS plan, including entry-tier monthly plans |
| Applies to consumers only | A BC resident signing up personally or as a sole proprietor on a personal card — not negotiated enterprise contracts |
Source: Miller Thomson, "Changes to British Columbia's BPCPA Take Effect August 1, 2026" (2026); Mondaq/Miller Thomson subscription contract definition summary (2026).
That C$50 threshold is low enough that almost no self-serve SaaS plan sits below it. A $9/month hobbyist tier clears it in six weeks. The practical effect is that BC didn't carve out a narrow slice of high-value subscriptions the way some jurisdictions target long-term contracts specifically — it wrote a rule that reaches nearly the entire recurring-billing market by default, then differentiates what it requires based on renewal length rather than price.
The 60-day split, in detail
This is the part that has no real analogue in any US state law we've covered. Rather than one notice window that scales with contract length the way Colorado's or Maryland's does, BC splits subscription contracts into two structurally different regimes depending on whether the renewal term is 60 days or less, or longer.
| Requirement | Renewal term ≤ 60 days | Renewal term > 60 days |
|---|---|---|
| Auto-renewal clause validity | Void unless consumer can cancel the renewal at any time, before or after it takes effect | Void unless consumer can cancel the renewal at any time, before or after it takes effect |
| Advance renewal notice | Not separately required | 30 to 60 days before the renewal date |
| Cancelling before renewal | No charge, no penalty | No charge, no penalty |
| Cancelling after renewal | Entitled to a refund on cancellation | Entitled to a refund of a prescribed portion of what was paid under the renewed term |
Source: Fasken, "British Columbia Tightens Consumer Protection Rules: Key Contracting and Sales Practice Changes Effective August 2026" (2026); McMillan LLP, "Consumer Protection Updates in British Columbia" (2026).
A monthly SaaS plan sits in the shorter tier by default — 30-day renewal terms are well under the 60-day line, so the notice requirement doesn't apply and any cancellation, before or after the charge hits, gets a straightforward refund. An annual plan sits in the longer tier every time, which means it needs the 30-to-60-day advance notice most compliance teams already build for other jurisdictions, plus a cancellation path that stays open past the renewal date rather than closing the moment the charge is billed. The genuinely new piece for most SaaS teams is that second half: a subscriber on a BC annual plan who cancels three weeks after the renewal charge posted isn't out of luck the way they might be under a flat no-refund-after-renewal policy. They're owed something back, calculated against a formula the regulations set out — described in the statute and its supporting materials as a "prescribed portion," without a single fixed percentage, because it's meant to scale with how much of the renewed term has actually elapsed.
That mechanic should sound familiar if you've already dealt with mid-cycle proration on Stripe. It's the same underlying math — how much of a period is left, and what's that worth — just applied in the other direction: instead of prorating a plan change forward, BC's rule prorates a post-renewal refund backward from the cancellation date. If your billing logic already handles proration correctly for upgrades and downgrades, the refund calculation for this rule reuses the same arithmetic rather than requiring a separate system.
Sources: BPCPA subscription contract regulations as summarized by Fasken (2026); Cal. Bus. & Prof. Code § 17602; Md. SB49/HB107; Colo. Rev. Stat. § 6-1-732, as cited in our Maryland coverage.
BC's window is the widest of the group at the far edge, but the 30-day floor underneath it sits close to what Maryland and California already require. A renewal-notice send scheduled 30 to 40 days before an annual BC renewal satisfies BC's window and lands inside the Colorado, Maryland, and California windows too — the same strictest-common-floor approach that worked for stacking Maryland against Colorado and California works here as a fifth jurisdiction added to the same send schedule, not a separate one.
Businesses can no longer quietly rewrite the cancellation terms after signup
A second, less-discussed piece of Bill 4 matters just as much for SaaS terms of service. Any clause that lets a business unilaterally amend a contract is now void by default unless the business identified, at the time the consumer signed up, exactly which terms are subject to change. A generic "we may modify these terms at any time" clause — standard in most SaaS terms of service — doesn't satisfy that anymore in BC. And even where a specific term is properly flagged as changeable, the business still can't use that power to make cancellation, returns, exchanges, or refunds harder for the consumer than they were at signup. You can reserve the right to change your feature set or your support hours. You can't reserve the right to quietly add a retention gate to a cancel flow that didn't have one when the subscriber signed up.
Enforcement: a regulator, a small-claims path, and anyone with standing to sue
BC's enforcement stack is broader than most of what we've covered from US states, because it layers three separate mechanisms rather than picking one.
- Regulatory penalties. Consumer Protection BC can pursue administrative and court-ordered penalties under the BPCPA's general offence provisions — fines in the $500 to $10,000 range, with a court able to add up to three times its estimate of the monetary benefit a business gained from the violation, plus an order to pay up to $1,000 into the province's Consumer Advancement Fund. An unpaid administrative penalty compounds too: a 10% surcharge applies on top of whatever was owed.
- Individual consumer claims. Under BPCPA section 171, an affected consumer can sue for damages directly — through Small Claims Court for amounts up to $35,000, or the low-cost Civil Resolution Tribunal for amounts up to $5,000, without needing a lawyer to make either route practical.
- Third-party and class standing. Section 172 is the outlier compared to every other jurisdiction we've covered. It lets any person — not only someone personally harmed by the practice — bring an action in BC Supreme Court for a declaration that a practice is deceptive or unconscionable and an injunction stopping it. The Director of Consumer Protection BC can separately bring an action on behalf of consumers generally or a defined class, which functions like a built-in class-action mechanism without needing a private plaintiff to organize one.
Compare that to Maryland, where a violation only reaches the Attorney General's office and individual subscribers have no direct claim, or Virginia, where the private right of action is limited to subscribers who were actually affected. BC gives you all three at once: a regulator, an accessible small-claims path for anyone who was charged, and a standing rule broad enough that a competitor, an advocacy group, or a journalist with no personal stake could theoretically seek an injunction against a non-compliant cancellation flow.
Not just BC — but BC is the one that's actually live
British Columbia isn't the only province moving on this. Quebec introduced Bill 10 — legislation targeting ticket reselling and online subscription renewal specifically — on December 2, 2025, aimed at the same any-time cancellation principle BC's shorter tier already requires. Ontario and New Brunswick are working through their own consumer protection updates on similar timelines. None of that is in force yet. BC's is, as of six weeks ago, which makes it the one Canadian subscription regime that actually needs a working implementation today rather than a roadmap item for next year.
What to build now
- Classify every plan by renewal term length, not just billing interval. A monthly plan sits in the ≤60-day tier. An annual plan sits in the >60-day tier. If you offer a quarterly or semi-annual plan, check the actual day count against 60 rather than assuming — a 90-day renewal term crosses the line even though it doesn't sound like a "long" contract.
- Add a 30-to-60-day advance renewal notice for every BC subscriber on a >60-day term. If you've already built this for Colorado, Maryland, or California off a Stripe upcoming-invoice webhook, extend the same pre-renewal reminder logic to cover BC rather than standing up a separate send.
- Keep the cancel path open past the renewal date, not just before it. A cancellation flow that only works up until the charge posts, then routes to a support ticket afterward, fails BC's requirement outright — the any-time cancellation right explicitly covers after renewal too.
- Build the post-renewal refund calculation using your existing proration logic. The "prescribed portion" refund is proration run backward from the cancellation date, not a new system.
- Rewrite any blanket "we may change these terms" clause in your ToS. Name the specific terms you reserve the right to change, and don't include cancellation, refund, return, or exchange terms in that list if the change would make them worse for the subscriber.
None of this requires a Canada-specific cancellation flow bolted onto your existing one. It requires the same thing every jurisdiction we've covered this year has required: a cancel action that's actually reachable, before and after the charge hits, with a refund calculation that doesn't depend on the subscriber giving up and going through their bank instead. If you're trying to gauge what a compliance gap like this is actually costing a BC-heavy segment in cancellations and chargebacks, our churn calculator turns that segment's numbers into an MRR figure in under a minute. CancelFlow's cancel path stays open on both sides of a renewal date by default, which is the one part of BC's split regime that a bolted-on support-ticket flow structurally can't satisfy.
Frequently asked questions
When did British Columbia's new subscription contract rules take effect?+
August 1, 2026. The provisions come from Bill 4, the Business Practices and Consumer Protection Amendment Act, 2025, which received Royal Assent on March 31, 2025 but delayed most of its subscription-specific requirements until August 1, 2026 to give businesses a runway to update their contracts and cancellation flows.
Does BC's subscription contract law apply to B2B SaaS?+
No, not directly. The Business Practices and Consumer Protection Act is a consumer protection statute, so its subscription contract rules reach agreements with individual consumers, not business-to-business transactions. The usual caveat that shows up across every jurisdiction we've covered still applies here: a solo founder or freelancer signing up for a paid plan with a personal card is very likely transacting as a consumer under BC law, regardless of what the invoice says their business is.
What is the 60-day rule in BC's subscription contract law?+
Subscription contracts with a renewal term of 60 days or less must let the consumer cancel the renewal at any time, before or after the renewal date, without charge or penalty, and refund them on cancellation. Contracts with a renewal term longer than 60 days get a different set of obligations layered on top: a 30-to-60-day advance renewal notice, the same any-time cancellation right, and — if the consumer cancels after the renewal date rather than before it — entitlement to a refund of a prescribed portion of what they paid under the renewed term, rather than the full any-time refund the shorter tier gets.
Can a BC consumer sue a SaaS company directly over a non-compliant cancellation flow?+
Yes, and the standing to do it is unusually broad. Section 171 of the BPCPA lets a consumer who was actually affected sue for damages, through Small Claims Court for amounts up to $35,000 or the Civil Resolution Tribunal for amounts up to $5,000. Section 172 goes further: it lets any person — not just someone who was personally harmed — bring an action in BC Supreme Court for a declaration that a practice is deceptive or unconscionable and an injunction to stop it, and lets the Director of Consumer Protection BC bring an action on behalf of consumers generally or a defined class.
Stop losing subscribers today
One script tag. One function call. A live cancellation flow in under 10 minutes.
Start free trial →