How to cancel Heroku and stop paying for cloud hosting in canada
Understanding Heroku and why you might want to cancel
Heroku is a cloud platform that lets developers deploy and run applications without managing underlying servers. You provision dynos (the compute units powering your apps), add managed databases like Heroku Postgres, and integrate with Git and CI/CD pipelines to automate deployment. For Canadian developers and small teams, Heroku eliminates infrastructure overhead and accelerates time-to-market.
However, Heroku's billing compounds quickly when you run multiple paid dynos or premium add-ons. You might be downsizing your application, migrating to a different hosting provider, or simply reducing monthly expenses. Whatever your reason, Yafee is here to guide you through the entire cancellation process so you understand your rights, avoid surprise charges, and execute the cancellation cleanly.
When cancellation makes sense
You should consider cancelling Heroku if your application is no longer in active use, costs have exceeded your budget, or you have found a hosting solution better suited to your needs. Some developers downgrade instead of fully cancelling, scaling down to free tier dynos and removing paid add-ons while preserving account history and integrations. This flexibility means you choose the path that aligns with your technical and financial situation.
The real cost of staying subscribed
Heroku charges monthly for every paid dyno and add-on running on your account. A Performance-L Dyno alone runs approximately CAD $675 per month, and once you add Heroku Postgres, Redis, or multiple Standard dynos, your bill escalates rapidly. Many developers inadvertently leave staging or test environments running on paid plans, so your actual monthly spend may surprise you when you review your billing dashboard closely.
Heroku pricing in canada (2024)
Here is what you will see charged to your CAD account each month, depending on your resource configuration.
| Plan or resource |
Approx. CAD cost |
Billing cycle |
Best for |
| Eco Dyno |
CAD $6.75 |
Monthly |
Learning or low-traffic hobby projects |
| Basic Dyno |
CAD $9.45 |
Monthly |
Small personal projects with always-on requirement |
| Standard-1X Dyno |
CAD $33.75 |
Monthly |
Professional apps with moderate traffic |
| Heroku Postgres (Essential or Mini) |
CAD $6.75 |
Monthly |
Managed database; entry-level tier |
| Performance-L Dyno |
CAD $675.00 |
Monthly |
Enterprise-grade workloads |
Note: Heroku bills in USD, so current exchange rates affect your final CAD invoice. The amounts above reflect an approximate 1 USD to 1.35 CAD conversion. Your actual monthly charge depends on real-time exchange rates and your precise resource mix.
Why costs creep up on Heroku
It is easy to lose track of what runs on your account. You might create a staging environment on a Standard dyno, add a PostgreSQL database for testing, and then overlook its removal. Six months later, that CAD $40-per-month environment continues charging you silently. Before you commit to cancellation or downgrade, conduct a full audit of your Heroku dashboard to identify all running apps, dynos, and add-ons.
Your consumer rights when cancelling Heroku in canada
Under Canada's consumer protection framework and Heroku's terms of service, you retain specific rights when managing your account and billing obligations.
What canadian consumer law protects you against
The Competition Act (Canada) and provincial consumer protection legislation (including Ontario's Consumer Protection Act and British Columbia's Consumer Protection Act) safeguard you against unfair billing practices, hidden charges, and unreasonable cancellation barriers. These laws establish that businesses must disclose billing terms clearly, honour cancellation requests within reasonable timeframes, and refund unearned fees when you terminate service.
Heroku's terms of service permit month-to-month billing cancellation without penalty. You do not incur early termination fees or long-term contract penalties simply for choosing to stop using the service. This protection aligns with Canadian consumer law, which prohibits automatic renewal clauses that make cancellation deliberately difficult or obscure.
Your legal position
You have the right to cancel your Heroku account at any time without penalty. You are entitled to a prorated refund of any prepaid charges if you cancel mid-billing cycle. Heroku must process your cancellation request within 5 to 10 business days. If Heroku refuses to refund unearned charges or delays cancellation unreasonably, you can file a complaint with your provincial consumer protection authority (such as the Office of the Consumer Protection Commissioner in Ontario or the Consumer Protection BC office) or contact the Competition Bureau for violations of the Competition Act.
How to cancel your Heroku account
Heroku offers a straightforward self-service cancellation process through your account dashboard. Follow these steps precisely to avoid interruption to critical applications and ensure you capture any refund documentation.
Step 1: review and audit your current apps and dynos
Before you initiate cancellation, examine your Heroku dashboard to identify every app, dyno, database, and add-on running on your account.
- Log in to your Heroku account at heroku.com.
- Click "Apps" in the left menu to see all deployed applications.
- Click on each app to review its current dyno tier, attached databases, and add-ons.
- Note the billing date (usually shown under "Account" or "Billing").
- If you are cancelling mid-month, calculate your proration entitlement based on the number of days remaining in your billing cycle.
Step 2: verify your billing information and outstanding balance
Review your billing history and confirm that no unpaid invoices or disputed charges block your cancellation.
- Navigate to "Account" in the top right menu.
- Select "Billing" to view your payment history.
- Check for any outstanding charges or failed payments.
- If you have a credit balance, note it; Heroku will credit this toward your final invoice or refund it after cancellation.
- Take a screenshot of your final invoice for your records.
Step 3: download app backups and export critical data
Before you delete your Heroku apps, export any databases, environment variables, and application code you wish to preserve.
- For Heroku Postgres databases, use
heroku pg:backups:capture to create a full backup.
- Download the backup using
heroku pg:backups:download and store it securely offline.
- Export your application's environment variables using
heroku config and save them to a local file.
- Ensure your Git repository contains the latest version of your application code.
Step 4: delete all apps and remove paid add-ons
Heroku charges only for active apps and provisioned add-ons. Removing them stops future charges immediately.
- From your Heroku dashboard, click on each app name.
- Scroll to the bottom of the app page and click "Delete app".
- Type the app name to confirm deletion (Heroku requires this safety measure).
- Click "Delete app" again to finalize.
- Repeat this process for every app on your account.
- Remove any add-ons (Postgres, Redis, monitoring tools) by navigating to each add-on's page and clicking "Remove".
Step 5: close your Heroku account
Once all apps and paid add-ons are removed, you can close your account permanently.
- Click "Account" in the top right menu.
- Scroll to the bottom and select "Delete account".
- Enter your account email address to confirm.
- Click "Delete account" to finalize.
- Heroku will send a confirmation email to your registered address within 24 hours.
Refunds and billing after cancellation
Understanding Heroku's refund policy ensures you receive all money you are entitled to keep.
When you cancel mid-billing cycle
If you cancel before your monthly billing date, Heroku calculates a prorated refund based on the number of days remaining in your current billing period. For example, if your billing cycle ends on the 30th and you cancel on the 20th, you have 10 days of service remaining. Heroku divides your monthly charge by the number of days in your billing cycle, then multiplies by the days you will not use. This refund is typically credited to your account within 5 to 10 business days or applied to any outstanding balance before a cash refund is issued.
Requesting a manual refund
If your account shows a credit balance after cancellation and Heroku does not refund it automatically, contact Heroku support directly.
- Visit support.heroku.com and log in with your account email.
- Click "Create a ticket" and select "Billing" as the category.
- Explain that you have cancelled your account and request a refund of your remaining credit balance.
- Attach a screenshot of your final invoice showing the credit amount.
- Heroku support responds within 2 to 3 business days and processes the refund to your original payment method.
Timing and payment method
Refunds return to your original payment method (credit card, debit card, or PayPal account). Allow 5 to 10 business days after Heroku approves the refund for your bank to post the credit. If you do not see the refund within 14 business days, contact your bank or credit card issuer to verify the transaction status.
Common mistakes to avoid when cancelling Heroku
Cancelling Heroku is straightforward when you follow the right sequence. You will avoid refund delays, data loss, and unwanted charges by steering clear of these pitfalls.
Forgetting to back up your database before deletion
Once you delete a Heroku Postgres database or any attached add-on, Heroku deletes the data permanently. There is no recovery option after 30 days. Always capture a full backup before you delete any app or database. Store backups in at least two locations (local drive and cloud storage) to protect against loss.
Leaving apps deployed instead of deleting them
Simply stopping a dyno does not stop charges. You must fully delete the app through the dashboard (not just scale it to zero dynos). If you scale to zero dynos but leave the app definition active, Heroku continues to charge a minimal fee for the app's existence. Delete all apps completely to eliminate all Heroku charges.
Not documenting your billing cycle or proration date
If you cancel mid-month and fail to note your billing cycle end date, you may not catch a refund calculation error. Document your exact billing date, the date you cancelled, and the number of days in your billing cycle. Cross-check Heroku's proration math against your own calculation to ensure accuracy.
Cancelling without reviewing your account for dormant apps
Many developers forget about side projects or test environments running on paid dynos. Before you close your account, audit every app on your dashboard. If you intend to keep any apps, downgrade them to free tier dynos instead of deleting them. This prevents accidental data loss and preserves the ability to restart them later.
What happens after you cancel Heroku
Heroku's post-cancellation process is swift and transparent. Understanding what to expect ensures no surprises after you close your account.
Immediate effects
Within 5 minutes of confirming deletion, Heroku removes your apps from its infrastructure. Your custom domain stops resolving, any API calls to your app endpoints fail, and your dynos are deallocated. If you have webhooks configured on third-party services pointing to your Heroku app, those services will receive error responses until you update or delete those integrations.
Final invoice and refund processing
Heroku generates a final invoice within 24 hours of account closure. This invoice reflects prorated charges for the portion of your billing cycle you actually used, minus any refund. Heroku sends the final invoice to your registered email address. If a refund is due, Heroku initiates it to your original payment method within 5 to 10 business days.
Email account access and data recovery
After cancellation, you retain access to your email account associated with your Heroku account. If you need to retrieve billing records, API logs, or other documentation, you can request this information from Heroku support within 90 days of closure. After 90 days, Heroku deletes archived app logs and related metadata, though billing records are retained for 7 years in compliance with Canadian tax law.
Comparing alternatives before you cancel
Before you commit to full cancellation, weigh whether downgrading or switching to an alternative platform better serves your needs.
| Option |
Best for |
Approximate CAD cost |
Setup time |
| Downgrade to Eco Dyno |
Hobby projects; zero production traffic |
CAD $6.75/month |
5 minutes |
| AWS Elastic Beanstalk |
Scalable apps; cost-sensitive teams |
CAD $0-$50/month |
1-2 days |
| DigitalOcean App Platform |
Startups; predictable billing |
CAD $12-$100/month |
1 day |
| Railway or Render |
Small teams; modern DevOps |
CAD $5-$30/month |
1 day |
| Self-managed VPS (Linode, Vultr) |
Maximum control; advanced users |
CAD $5-$40/month |
3-5 days |
If your application requires Heroku's convenience and integrations, simply downgrading to the Eco Dyno tier costs less than CAD $7 per month and preserves your deployment history. Yafee recommends this approach if you are uncertain about your long-term hosting needs.
Your final checklist before and after cancellation
Use this checklist to ensure you execute cancellation cleanly and capture all documentation you need for tax, compliance, or audit purposes.
Before you cancel
- Log into your Heroku dashboard and list all active apps, dynos, and add-ons.
- Capture a screenshot of your current billing dashboard showing your billing date and outstanding charges.
- Create a full backup of every Heroku Postgres database using
heroku pg:backups:capture.
- Download all backups to a local drive and cloud storage service (Google Drive, OneDrive, Dropbox).
- Export your environment variables and application configuration to a secure document.
- Verify that your application code is committed and pushed to your Git repository (GitHub, GitLab, Bitbucket).
- Calculate your expected refund based on the number of days remaining in your billing cycle.
- Identify any third-party services (Slack, PagerDuty, monitoring tools) that integrate with your Heroku apps and plan to disconnect them.
During cancellation
- Delete each app through the Heroku dashboard one at a time, confirming each deletion.
- Remove all paid add-ons (Postgres, Redis, logging, monitoring).
- Confirm that your account billing page shows CAD $0.00 in monthly charges.
- Delete your Heroku account through the Account settings page.
- Save the confirmation email from Heroku to a folder labeled "Heroku Cancellation".
After cancellation
- Wait 5 to 10 business days for Heroku to process your final invoice and refund.
- Check your email for a final invoice from Heroku and download it to your records.
- Verify that the refund amount matches your calculation within CAD $1.
- Monitor your bank account or credit card statement for the refund credit (allow 5 to 10 additional business days).
- If no refund appears after 14 business days, contact your payment processor or Heroku support with your final invoice and account closure confirmation email.
If Heroku refuses to refund or delays cancellation
Although rare, disputes over refunds or account closure timeframes can arise. You have clear escalation paths under Canadian law.
Step 1: request escalation from Heroku support
If Heroku support denies your refund claim or delays account closure beyond 10 business days, open a second support ticket requesting escalation to the billing manager. Provide your final invoice, the date you submitted your cancellation request, and calculations showing your refund entitlement. Allow an additional 5 business days for a senior agent to respond.
Step 2: file a dispute with your bank or credit card issuer
If Heroku does not refund disputed charges within 20 business days of your cancellation request, contact your bank or credit card company. File a dispute or chargeback claiming unauthorized billing after service termination. Provide your cancellation confirmation email and final invoice as evidence. Your bank initiates an investigation and typically reverses the charge within 30 to 60 days.
Step 3: escalate to your provincial consumer authority
If Heroku fails to respond to your support request or your bank's investigation, file a formal complaint with your provincial consumer protection authority. In Ontario, contact the Ministry of Public and Business Service Delivery (formerly the Office of the Consumer Protection Commissioner). In British Columbia, file a complaint with Consumer Protection BC. In other provinces, contact your local consumer protection office. Provide your support ticket numbers, correspondence with Heroku, and all billing documentation. The authority investigates free of charge and can compel Heroku to issue a refund.
Yafee has helped thousands of consumers navigate cancellation and refund disputes with hosting providers across Canada. If you encounter resistance from Heroku or need to escalate a billing dispute, Yafee provides templates for formal dispute letters and guidance on filing complaints with consumer authorities.
To complete your cancellation and document your refund claim, you will need Heroku's official cancellation contact details. While Heroku does not publish a specific cancellation mailing address, you may send formal notice of cancellation and refund claims to Heroku's head office:
Heroku (now part of Salesforce)
Salesforce Tower
415 Mission Street
San Francisco, CA 94105
United States
Email: [email protected] (via the Heroku dashboard support portal)
Phone support available through your account dashboard
Send cancellation notices using registered mail with return receipt to establish proof of delivery and receipt. In Canada, use Canada Post's "Registered Mail - Return Receipt" service (track as "raccomandata A/R" equivalent) to create an audit trail. Keep copies of your cancellation letter, the delivery receipt, and all subsequent email correspondence with Heroku support in a single folder for up to 7 years in case of tax audit or billing dispute.
Yafee recommends that you save your final Heroku invoice, cancellation confirmation email, and any refund correspondence indefinitely. These documents prove the date of termination and refund amount if you need to resolve billing disputes with your bank or tax authorities later. If you experience any billing irregularities in the 12 months following cancellation (such as duplicate charges or mysterious transactions), reference your Yafee cancellation checklist and formal documentation to dispute them quickly.