Support · Ecommerce · 14 min read
Launch a store that can take Canadian money
Tax, shipping, and checkout are the product. The theme is decoration.

Tax is the product. The theme can wait.
A Canadian store that looks finished and cannot collect tax correctly is not finished. We start with the goods you sell, whether they are physical, digital, or mixed, and the provinces and territories you will actually ship to on day one. Theme galleries, font pairings, and homepage videos come after that list is honest. If you cannot name the tax treatment, we will not spend a week moving collection cards around a mockup. SYCGeeks is a Vancouver studio. We quote the ecommerce system in Canadian dollars, we ship the store in English and French when you need both, and we treat GST/HST as launch work, not a plugin you toggle the night before a campaign.
Federal GST sits at five percent. Harmonized sales tax applies in participating provinces. British Columbia, Saskatchewan, and Manitoba still layer a provincial sales tax on top of GST. Quebec uses GST plus QST. Alberta and the territories generally collect GST only. Those sentences are a map, not a substitute for your accountant. Rates move. Thresholds for small suppliers move. Digital products, shipping charges, gift cards, and services booked from the same cart can each behave differently. We configure the store for the rules that apply to your catalogue at launch, then we write the rule down in your dashboard so the next person does not guess.
If you are under the small-supplier threshold and your accountant says you will not collect GST/HST yet, say so in the brief. We can still price in CAD, print a clean receipt, and leave a path to turn tax on when you register. What we will not do is hide a five-percent surprise inside a theme setting that only the developer understands. If you already have a GST/HST number, send it. If you sell into Quebec, tell us whether French legal pages and QST on the receipt are required on day one. Bilingual tax copy is architecture. It is not a flag icon.
We will ask who in your company can approve a tax line on a receipt. If the answer is “whoever designed the logo,” we will wait. A store that cannot explain GST on a $48 CAD hoodie will train your support inbox to hate you. Decide the handling before anyone opens a theme. That is the whole point of this page.
Name the provinces you actually ship.
Shopify and most custom checkouts will happily offer every province and territory because the default list is complete. Completeness is not a shipping policy. If you only fulfill from a Vancouver studio or a single warehouse in the Lower Mainland, say so. If you refuse remote communities this winter because courier surcharges would eat the margin, write that down before we encode free-shipping banners. A banner that promises Canada-wide delivery when you only pack for British Columbia and Alberta is a customer-service product, not a marketing win.
We want three facts on paper: where inventory sits, which carriers you already pay, and the first markets that must work on launch week. Pickup at a Vancouver counter is a real method. So is a flat $12 CAD to the rest of British Columbia and a calculated rate everywhere else. So is “we do not ship to the territories yet.” What we will not do is invent five shipping tiers because a competitor’s theme showed five. Each tier is a promise your staff will have to keep on a Saturday. If you do not have staff on Saturday, do not sell Saturday urgency.
Quebec is not “the rest of Canada.” Language, tax, and carrier behaviour all change. If you will take Quebec orders on day one, French checkout labels, French shipping emails, and QST on the receipt are part of the store, not a later translation pass. If you will not ship to Quebec yet, the store should say so before someone in Montréal enters a card. Hiding a province in a dropdown is how you collect angry tickets and still owe a refund.
Cross-border shipping to the United States is a second phase unless you already have a broker, a landed-cost story, and a returns address that is not a P.O. box you never check. We can quote it. We will not smuggle it into a Canadian launch because a theme had a USA flag. Launch is the provinces you can pack this month. Everything else is a published add-on on the same project.
One primary processor, then wallets.
Checkout should feel native on a phone. Apple Pay, cards, and PayPal can sit together if the primary processor can settle in CAD. We do not stack five buttons because a competitor did. Pick Square if you already take cards at a counter and want appointments, hardware, and the website on one account. Pick Stripe if subscriptions, usage, or a custom Next.js checkout is the product. Add PayPal beside the card rail so Canadians who already trust that login can finish. Do not make PayPal the only way to pay a custom store. The brand and the return path are less yours.
Interac e-Transfer is a first-class path on our own checkout when a buyer wants to pay the studio without a card. We email a confirmation number and a match key such as SYCG-4K7N2P. The key goes in the Interac message so we can pair the transfer to the purchase. The project does not open on a screenshot of a banking app. If your store will offer e-Transfer to customers, we will design the same discipline: a unique key, a waiting status, and a human match. “Send it to info@ and we will figure it out” is how money gets lost on a Friday.
Optional ETH is a rail we offer on studio invoices, quoted from a live Uniswap price and converted to CAD. It is useful for some clients. It is confusing for most shoppers buying a jacket. If you want a crypto option on your store, we treat it as an extra with a signed amount and a confirmed transaction. It is never the only path. A Canadian store that cannot take a card or Interac is not a store. It is a hobby with a domain.
Read the Canadian fee pages for Square, Stripe, and PayPal before you sign. We will tell you which integration we can keep healthy after launch, not which logo looks newest. Care is $450 CAD a month or $4,500 CAD a year — two months included versus paying monthly. Watching the processor is part of that hour. A store without someone watching settlement is a weekend problem waiting for Monday. Call +1 (672) 200-7924 on a weekday if checkout is down. Write admin@sycgeeks.ca if you need a CAD quote for a new rail.
Checkout has to work on a Canadian phone.
Most of your buyers will not sit at a desktop in a quiet office. They will be on a sidewalk, in a car, or in a shop comparing your price to a tab they have not closed. The first screen of checkout should show CAD, the tax story you already decided, and a way to pay that does not require creating an account they will never use again. Guest checkout is not a compromise. Forced accounts are how carts die. If you need an account for loyalty, collect it after the card succeeds.
Apple Pay belongs when Square or Stripe can settle it, and only in browsers that actually support it. We will not paint a black Apple Pay button that does nothing in Firefox. That is theatre, and Canadian shoppers have seen it. Google Pay can sit beside it when the processor supports it. Cards stay. PayPal stays if you asked for it. The order of buttons is a conversion decision we will make with you, not a pile of logos from a plugin pack.
Every label has to fit in French. “Pay now” is short. “Payer maintenant” is longer. “Place order” and “Passer la commande” are not the same width. If your theme was designed around English verbs, French will wrap, overflow, or get truncated into nonsense. We test both languages on a phone-width screen, including error states: declined card, expired Apple Pay session, missing apartment number, postal code that does not match the province. A checkout that fails in French is a Canadian product bug.
PIPEDA is about purpose. Checkout collects a name, an email, a shipping address, and a payment token. The privacy page should say why, who processes the card (Square, Stripe, PayPal — not “our partners”), and how long you keep the address after fulfillment. We do not drop a tracker because a Shopify app did. Chat widgets that record the cart are still personal information. If you do not need them to complete the sale, they wait.
Place a real CAD order before anyone claps.
Before launch we place a real order, refund it, and read the receipt. If the French receipt is English with accents, we are not done. If the tax line is missing, we are not done. If the currency symbol is USD because someone left a sandbox toggle in the wrong place, we are not done. A demo Visa in a US Stripe account is not a Canadian test. Use a real CAD settlement path, even if the amount is $1.00 and you refund it ten minutes later.
The test order should travel the same path a stranger will travel. Pick a SKU that has tax, pick a province you actually ship to, pay with the primary processor, then pay again with Apple Pay if it is in scope, then PayPal if it is in scope. Open the email in both languages. Click the tracking placeholder. Attempt a refund from the merchant dashboard, not only from ours. If staff cannot refund without calling us, the store is not yours yet.
Read the packing slip. If it shows an internal SKU the customer should never see, fix the template. If it shows a Vancouver return address you do not monitor, fix the address. If Interac is offered, generate a match key, send a dummy transfer in a test conversation, and confirm the waiting status is visible. Keys look like SYCG- plus six characters. They are unique. They are not “invoice 1.”
Only then do we change DNS, submit sitemaps, and tell you it is live. Launch support after that is for defects, not new collections. If checkout fails on a French receipt in week two, that is care. If you want a second marketplace, that is a quote on the same project. You will see the distinction written in the dashboard notes, not buried in a Slack nobody owns.
English and French have to finish the same sale.
If you serve Quebec, a federal audience, or simply want the store to feel finished in Canada, both official languages need a real information architecture. We design the language switch so a shopper keeps their cart and their place in checkout. Headlines are rewritten, not squeezed. Product titles that were cute in English often become unclear in French; we will say so instead of running them through a machine and calling it a second catalogue.
Legal pages travel with checkout: privacy, terms, refunds, shipping. PIPEDA wants purpose. A refund policy that only exists in English is a policy Quebec shoppers cannot use. Shipping times that say “1-2 business days” without naming the warehouse province are a guess. We put the warehouse city on the shipping page. If you fulfill from Vancouver, say Vancouver. Searchers and shoppers are looking for proof you are here.
Receipts, failed-payment emails, and “your order is out for delivery” messages are part of the store. They are not leftovers for a junior to translate on Friday. We test them. If you only have English copy on day one, we can still structure the French routes and ship a complete first language. We will not pretend a machine dump is a second store. An extra language pass after launch is a published add-on — $1,800 CAD standard, about 25 percent less on care — attached to the same project.
Accessibility is launch work on the same pages. Contrast, labels, and keyboard paths through checkout are not a later audit you buy when a complaint arrives. Decorative product photos still need alt text a screen reader can skip or use. We build to WCAG practices a public-facing Canadian store should meet. If your college or insurer has extra rules, send them in the brief.
What we need before we write production code.
Send the catalogue, even if it is a spreadsheet. Send the provinces you ship. Send the Square, Stripe, or PayPal account you already pay for, or say you have none. Send whether English, French, or both must be correct on day one. Send the date that actually matters — a market, a fiscal year, a lease. A messy brief is fine. An invisible one is not. We quote in CAD before anyone writes production code. Discovery is a conversation on Pacific time from Vancouver.
You can book a Square appointment before you become a client. Discovery is 45 minutes and complementary. A project review is 60 minutes at $250 CAD. Bring the same facts you would put in an email. We will not spend the hour guessing the product. If you would rather write, admin@sycgeeks.ca is the fastest path to a scoped quote. If production is down after you launch, call +1 (672) 200-7924 on a weekday. That line is for heat.
Once you approve, we open a project in your dashboard, set the workflow, and book the first working session. You will always know the current step. After go-live the project stays on the account as launched. Notes, receipts, and the next request live there. We do not ask you to open a new thread with a stranger. Care takes defects and small updates out of the reserved hour. New pages, checkout changes, product stills, and collections are published add-ons. Care members pay about 25 percent less. You pay on that project, we set status back to active, and we keep the history.
A Canadian store is not a theme. It is tax you can explain, provinces you can pack, a processor that settles in CAD, inventory that does not lie on Saturday, and a receipt a person in both official languages can read. We will not upsell custom checkout because it is interesting. If Shopify will take Canadian payments and your staff can run it on Monday, that is the recommendation. If checkout is the product, we will say so and quote the custom path. Either way, we test a real CAD order before anyone announces you are open.



