Integrates CS-Cart and Multi-Vendor with Canada Post: live rates, labels, manifests, returns, tracking and Deliver to Post Office.
Tested on 1 buildUpdated Nov 8, 2026Version 1.0.0CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Canada Post Shipping: Canada Post rates at checkout, labels, manifests, returns and tracking from the order page1 of 7
What it does
For Canadian stores and marketplaces that ship with Canada Post. The add-on integrates with the Canada Post Developer Program web services using your own API keys and customer number. It quotes rates, creates labels for contract and non-contract accounts, transmits manifests, voids or refunds labels, creates authorized return labels, reads tracking and finds Post Offices for Deliver to Post Office. The built-in Canada Post carrier only quotes rates; this adds the rest.
How it works
Enter your development API key and customer number, test, then switch to production. Add shipping methods for the Canada Post services. Open an order, check the parcels and click Create label; download the PDF. Contract shippers transmit the day's labels and download the manifest. Tracking is refreshed by cron and shown on the order. In Multi-Vendor, use one account for all vendors or let each vendor connect their own.
Features
Live rates for 14 Canada Post services, commercial or counter prices, transit times, markup and free shipping
Contract labels with end of day manifests or the no-manifest process, and non-contract labels
One shipment and PDF label per parcel, commercial invoice for U.S. and international parcels
Deliver to Post Office with a Post Office picker at checkout
Customs lines in CAD, HS codes, origin, IOSS, Zonos key or declaration ID for the U.S.
Void before transmit, refund requests after
Authorized return labels with a shareable link (contract accounts)
Tracking with scan events and an optional order status on delivery
Encrypted API keys, development and production mode, job queue and log
Multi-Vendor: one marketplace account or one account per vendor
What you get
Package
kv_canadapost-1.0.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Supported
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Supported
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.17.2, Nov 8, 2026Tested on: Multi-Vendor 4.17.2
Requirements
Platform
CS-Cart or Multi-Vendor 4.17.2 or later (CS-Cart Ultimate or Multi-Vendor edition)
Requirement
Administrator access to the store's admin panel
Requirement
A Canada Post business account (customer number) and the free Canada Post Developer Program API keys. Join the program from the Canada Post Developer Program page, sign in with your business account and copy the development and production API keys. Each key has two parts, a username and a password, separated by a colon
Requirement
For contract features (discounted contract rates, manifests, return labels): your contract number
Requirement
If your store's primary currency is not the Canadian dollar: the CAD currency in Administration > Settings > Currencies (Canada Post prices and customs values are in CAD)
Requirement
For U.S. shipments: a Zonos account key, or a Zonos declaration ID for each shipment (Canada Post requirement)
Requirement
A cron job on your server (see step 6)
Core changes
None. Hooks and template overrides only
1.0.0
Nov 8, 2026
Latest
Added 11
Integration with the Canada Post Developer Program web services (REST + XML, HTTP Basic API key, development and production) for CS-Cart and Multi-Vendor 4.17.2 to 4.21.x, next to the core Canada Post carrier.
Checkout rates (Get Rates, rate-v4): 14 services, commercial (customer number, contract) or counter prices, transit times, prices before or including Canadian sales tax, CAD converted to the store currency, markup, rounding, free shipping threshold, fallback rate, parcels split at 30 kg.
Contract labels (Create Shipment, shipment-v8) with the end of day manifest process (daily group, Transmit Shipments, manifest PDF) or the no-manifest process; non-contract labels (Create Non-Contract Shipment, ncshipment-v4). One shipment and PDF per parcel, commercial invoice for U.S. and international parcels, pickup or deposit location.
Void (not transmitted) and refund requests (transmitted, no-manifest and non-contract labels) with the service ticket.
Authorized return labels (contract accounts) with a shareable label link.
Deliver to Post Office: two shipping methods (Expedited Parcel, Xpresspost), a Post Office picker at checkout (Get Nearest Post Office), the office on the order, invoice and label; admin can change the office before the label.
Customs for U.S. and international parcels (CAD values, HS code, origin, reason for export, non-delivery handling, IOSS); Zonos account key header or Zonos declaration ID for U.S. shipments.
Guarded label purchase: lock per order, attempt and reference recorded before the call, recovery of a lost answer by customer-request-id (contract) or by time window and customer-ref-2 (non-contract), never bought twice automatically; guarded transmit with recovery through Get Groups and Get Manifests.
Tracking (Get Tracking Details) with scan events, expected delivery, optional order status on delivery, the PIN as a CS-Cart shipment with the Canada Post tracking link.
Encrypted API keys and Zonos key, account pause after a refused key, job queue with retries, log with CSV export, Upgrade Synchronizer, domain licence.
Multi-Vendor: marketplace owner mode (optionally with vendor labels) or one Canada Post account per vendor, per-action vendor privileges.
Tested on Multi-Vendor 4.17.2. First release.
Do I need a Canada Post contract?
No. Without a contract number the add-on uses Non-Contract Shipping: rates (commercial with your customer number, or counter prices) and labels paid with the credit card in your Canada Post profile. Manifests and authorized return labels need a commercial contract.
Does it replace the core Canada Post carrier?
It adds its own carrier "Canada Post (Kavio)" next to it. The core carrier quotes rates only. Use the add-on's carrier for the methods where you want labels, returns, Post Office delivery and tracking.
Where do the API keys come from?
From the Canada Post Developer Program (free). You get a development key for testing and a production key. Each key has a username and a password; enter both parts on the Connection page.
Are labels billed in development mode?
No. The Canada Post sandbox validates requests and returns test data. Only production labels are billed.
My store sells in USD (or EUR). Does it work?
Yes, add the CAD currency with its exchange rate in Administration > Settings > Currencies. Rates are converted to your currency and customs values to CAD.
Why do U.S. labels ask for Zonos?
Canada Post requires a Zonos account key or a Zonos declaration ID for every shipment to the United States. Save the key on the Connection page once, or enter a declaration ID per label.
Can a customer pick a Post Office?
Yes, with the "Deliver to Post Office" methods (Expedited Parcel and Xpresspost, Canadian addresses). The picker lists the Post Offices that accept Deliver to Post Office near a postal code.
What does the manifest process mean?
Contract shippers transmit the day's labels once; Canada Post bills them and returns a manifest that goes with the parcels. Shippers with fewer than 50 parcels a day from several locations may transmit each label at once instead (Connection > Shipping process).
Can I cancel a label?
Before transmit: void (not billed). After transmit, or for no-manifest and non-contract labels: request a refund; Canada Post opens a service ticket.
Does it work in Multi-Vendor?
Yes. In owner mode the marketplace owner's account serves all vendors (vendors may create labels if you allow it, and ship from their own address). With owner mode off each vendor connects their own Canada Post account, creates their own labels and transmits their own manifests in the vendor panel.
Is the interface in French?
The add-on ships in English. Customer names and addresses in French are kept intact on labels; Canada Post messages follow the admin language (en-CA or fr-CA).
Add a released add-on to this order and save 15% on it. It uses the same edition and store domain.
Canada Post ShippingThis add-on
+
Shipping Goal Progress BarShow shoppers how close they are to free shipping, a gift or a discount, with live progress in the mini-cart, cart, checkout and a sticky bar.
$39
+
Delivery Date & Time Slots"Order within 2 h, get it by Thursday" on every product page, and delivery day and time slot booking at checkout.
$79
+
USPS Rates & LabelsLive USPS rates and USPS labels on the new USPS APIs: Web Tools retired 25 Jan 2026, and this add-on brings your USPS shipping back on CS-Cart 4.17 to 4.21.
$69
Buy with confidence
What stands behind your license
Tested builds
This product was tested on this build. Builds we did not test are not listed.
CS-Cart4.17.2Ultimate and Multi-Vendor
12 months of updates
Updates and support are included in the price. The product keeps working afterwards; renewing is optional.