How do I configure all Canadian provincial tax rates correctly in WooCommerce?
In WooCommerce, go to Settings > Tax and enable taxes. Under Tax Rates, add a rate for each Canadian province. For HST provinces, add the combined rate for that province against the province code. For Quebec, add GST (5%) as a standard rate and QST (9.975%) as a compound rate — compound means QST is calculated on the GST-inclusive price. For BC, Saskatchewan, and Manitoba, add GST and PST as separate non-compound rates. Alberta, Nunavut, Yukon, and Northwest Territories have GST only. Set the tax class to standard for all taxable products. After configuration, test by adding a product to the cart and checking the tax calculation for at least three different province addresses to confirm the rates are applying correctly.
How do I set up a bilingual French-English WooCommerce store with WPML for Canadian buyers?
Install WPML and the WooCommerce Multilingual add-on. Set English as the primary language and French (Canada) as the secondary language. Translate all product titles, descriptions, short descriptions, and attributes. Under WPML > WooCommerce Multilingual, translate all WooCommerce checkout field labels and system strings into French. For CASL compliance, ensure the marketing consent checkbox in WooCommerce checkout is present in both language versions and that consent is recorded at the contact level in your email marketing platform with the source language noted. Test the full checkout flow — in French — through to order confirmation email to confirm that a French-session purchase generates French-language emails.
How do I add Canada Post calculated shipping to WooCommerce?
Register for a Canada Post business account and obtain your Customer Number and API keys from the Canada Post Developer Portal. Install the Canada Post WooCommerce plugin. In the plugin settings, enter your origin postal code, Customer Number, and API credentials. Enable the shipping services you want to offer (Regular Parcel, Expedited Parcel, Xpresspost, Priority). In WooCommerce, enter weight (in kg) and dimensions (length, width, height in cm) for every product in your catalogue — the API uses these to calculate rates and to determine if a parcel qualifies for certain services. Create a shipping zone for Canada and add Canada Post as the shipping method within that zone. Test with several destination postal codes, including rural codes, to confirm rates are returning correctly.
How do I make WooCommerce transactional emails French for Quebec customers?
Install WPML's WooCommerce Multilingual plugin. Under WooCommerce > Emails, each email template will now show a language selector. Create French translations of each email template: New Order (admin), Order Processing, Order Completed, Order Shipped, and any other templates you use. WPML WooCommerce Multilingual sends emails in the language of the order, which is set by the language of the buyer's session at checkout. Confirm this is working by placing a test order while browsing the French version of the site and checking that the order confirmation email arrives in French. Also confirm that the admin new order notification is in the language you prefer for internal use.
When should a Canadian WooCommerce brand migrate to Shopify?
The indicators that WooCommerce is becoming a constraint rather than an asset are: hosting costs and maintenance overhead are increasing faster than revenue; plugin conflicts or update failures are causing regular downtime; the development work needed to add new features is disproportionately large; or the team managing the site cannot keep up with WooCommerce's update cadence. Shopify's total cost of ownership is higher at low order volumes but becomes competitive at mid-volume once WooCommerce hosting, plugin, maintenance, and developer costs are included. For Canadian stores, Shopify Payments supports CAD and the bilingual requirements of a French-English store are handled through Shopify Markets. Migration should be planned with a data audit (products, customers, orders, SEO URLs) and a parallel run period before the WooCommerce store is decommissioned.