diff --git a/blog/260522-french-canadian-localization.md b/blog/260522-french-canadian-localization.md
new file mode 100644
index 000000000..cb33e3f16
--- /dev/null
+++ b/blog/260522-french-canadian-localization.md
@@ -0,0 +1,117 @@
+---
+title: "Codat now speaks French"
+date: "2026-05-22"
+tags: ["Product", "Update", "Link", "Portal", "Spend Reports", "Help Hub"]
+authors: avanjani
+---
+
+We're rolling out Canadian French (fr-CA) localization across the client-facing surfaces that financial institutions and their commercial business clients use every day.
+
+
+
+## What's new?
+
+On **May 22, 2026**, we are shipping a first-class Canadian French experience across Link, the Codat Portal, Spend Reports, and payment method inference. This enables our clients operating in Canada to serve French-speaking Quebec commercial businesses in line with the Charter of the French Language (Bill 96), and lays the groundwork for any future language we ship.
+
+## What's included
+
+This release covers surfaces across Link, Portal, Spend Reports and Help Hub. Canadian French is gated by a language toggle and the client's Link configuration — existing English-only deployments see no change.
+
+### Link journey
+
+Full Canadian French translation of the commercial business-facing connect flow, including:
+
+- Platform selection
+- OAuth handoff copy
+- Error states
+- In-modal language toggle (top-right, globe icon and locale code)
+
+
+
+

+
+
+

+
+
+
+Supported integrations in this release:
+
+- QuickBooks Online
+- QuickBooks Desktop
+- NetSuite
+- Sage Intacct
+- Dynamics 365 Business Central
+- Dynamics 365 Finance & Operations
+- Workday
+- FreshBooks
+- Xero
+- All intelligent upload flows
+
+### Portal UI
+
+The Spend Insights, Companies, and Create Company surfaces are translated end-to-end, with locale-aware date and number formatting.
+
+
+
+### Spend Reports
+
+Spend Reports are localized — field names, labels, section headers, and static copy all render in Canadian French when the report is generated for a French locale client. The underlying data remains language-independent, and CSV exports stay locale-neutral for downstream pipelines.
+
+### Payment method inference
+
+Payment method mapping inference now handles Canadian French source data, so ERP exports with French account names, categories, and descriptions map correctly into Codat's canonical schema without manual cleanup.
+
+## Why it matters
+
+- **Compliance, not just translation.** Bill 96 requires that French experiences be available with comparable quality to English across customer-facing digital products. This release meets the customer-facing bar.
+- **Ready for Canadian FIs.** Any client with Quebec operations now has a Canadian French-ready stack to launch against — no per-client translation effort.
+
+## Who is this relevant for?
+
+This update is relevant for any client operating in Canada, and especially for financial institutions onboarding commercial businesses in Quebec who need to meet Bill 96 requirements.
+
+## How to get started?
+
+Canadian French is opt-in per client at the configuration level. To enable it for your deployment, [contact Codat support](mailto:support@codat.io). We'll work with you to align on the pages and integrations in scope before enabling.
diff --git a/blog/authors.yml b/blog/authors.yml
index 9569a41db..9c6cb1ddd 100644
--- a/blog/authors.yml
+++ b/blog/authors.yml
@@ -165,3 +165,9 @@ annasavinovacodat:
title: Technical Lead
url: https://github.com/annasavinovacodat
image_url: https://github.com/annasavinovacodat.png
+
+avanjani:
+ name: Amit Vanjani
+ title: Principal Product Manager
+ url: https://github.com/avanjani-codat
+ image_url: https://github.com/avanjani-codat.png
diff --git a/static/img/updates/260522-fr-ca-link-consent.png b/static/img/updates/260522-fr-ca-link-consent.png
new file mode 100644
index 000000000..074bf4b41
--- /dev/null
+++ b/static/img/updates/260522-fr-ca-link-consent.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:db1a87242adfd37369bc8c854f8580299c2cc965a69f3049ac373e6c3eb5ecb2
+size 99695
diff --git a/static/img/updates/260522-fr-ca-link-select.png b/static/img/updates/260522-fr-ca-link-select.png
new file mode 100644
index 000000000..1b81fff54
--- /dev/null
+++ b/static/img/updates/260522-fr-ca-link-select.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cb947e035f71526e42cc335c0e3783817cf8ccf0479195d077508732da037b48
+size 97374
diff --git a/static/img/updates/260522-fr-ca-portal.png b/static/img/updates/260522-fr-ca-portal.png
new file mode 100644
index 000000000..9b584a466
--- /dev/null
+++ b/static/img/updates/260522-fr-ca-portal.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:485461816264ed1f2def52ec78d96158ca76330e2a8972489053b35c65390bde
+size 137811