Prestashop Module: Canada Post: Rates and Estimator

hero image

Offer real-time rates to customers and provide shipping quotes on the product and cart pages.

  • Increase conversion and reduce abandoned carts with shipping quotes on the product and cart pages without requiring the customer to make an account.
  • Save money by avoiding overcharging/undercharging with dynamic box packing.

Easy Setup

Simply click “Sign into Canada Post” to connect your Canada Post account, add your address, and you’re ready to go.


Offer real-time Canada Post rates at checkout.

  • Your negotiated/discounted Canada Post rates will be used if available.
  • Select the carriers you want to use and the module installs them for you in your back-office automatically.
  • Display delivery times retrieved directly from Canada Post in real-time. e.g. “2 Business days.”

Shipping Estimator

Increase conversion by displaying shipping quotes on the product & cart pages.

The shipping estimator allows guests to enter a country and postal/zip code to fetch quotes without making an account.

  • Prevent “shipping fee shock” and reduce abandoned carts by displaying the shipping costs upfront.
  • Existing customers will see rates based on their account’s shipping addresses.
  • Customers with multiple addresses can select a different address from the estimator’s drop-down menu to see different rates.
  • The estimator will show all applicable carriers for the cart including custom carriers and carriers added by most other modules*.
  • Customers that have a product added to their cart can change their cart’s selected shipping method from the estimator.
  • The estimator takes into account the product that the customer is currently viewing – any carrier restrictions or carrier discounts for that product will apply even if they haven’t added it to their cart yet.

* Not all third-party shipping modules will show rates in the estimator – all modules are created differently and they may not follow the same standards as this module.

Rate Discount Rules

Configure custom discount rules for each carrier.


  • Free Shipping for Xpresspost on orders over $100
  • $5.00 off Expedited on orders over $75
  • 50% off Priority on all orders

Box Packing

Increase conversion and save money by offering accurate rates based on the products in the cart.

Add all the box dimensions that you ship in the module configuration page.

When calculating rates, the module uses a sophisticated box packing algorithm to determine the smallest of your box(es) that will fit all the products in the customer’s cart; it can split the products into multiple boxes when the cart has more products than your largest box can fit.

  • Choose if you want to charge customers for each box or if you only want to charge for one box.
  • Add unlimited boxes into the module from the configuration page – the more boxes you add, the more accurate the rates will be.
  • Avoid overcharging/undercharging customers for shipping.

Smart Caching

The module stores rates for each cart in the database to speed up your website. It will only retrieve new rates if the customer changes their zip/postal code, the products in their cart, or the quantities for products already in their cart.

  1. A Canada Post account.
  2. Your website’s PHP version should be at least 5.4.0
  1. Go to the Modules page.
  2. Click Upload a Module and upload the module .zip file.

The module must be configured with your Canada Post account, an origin address, and at least one box.

To configure the module:

  1. Go to Modules page.
  2. Find the Canada Post module and click Configure.
  3. Click Sign in with Canada Post
  4. You’ll be redirected to the Canada Post website where it will prompt you to login to your account and authorize the module to create shipments on your behalf. You can revoke these permissions at any time from the Canada Post website. You must agree to this step even though this module does not use the Labels feature and will not charge your Canada Post account.
  • 4.2.3 (2024/01/10)
    • Add compatibility with PS 8.1
    • FIX: Estimator incorrectly showing carriers that are group-restricted
    • FIX: Add backticks to MySQL query for syntax compatibility
  • 4.2.2 (2023/03/29)
    • NEW: Fetch rates using a product’s dimensions when it doesn’t fit in any of your configured boxes.
    • Add minimum dimensions & weight to parcel when product & box have none.
  • 4.2.1 (2023/03/07)
    • FIX: Module sometimes loses track of carrier when changing a carrier’s settings
  • 4.2.0 (2022/11/17)
    • NEW: Compatibility with PS 8.0+ and PHP 8.0+
    • Removed unused hooks
    • Fix PHP 8.0 errors to be backwards compatible
    • Fixed “tableExists” check preventing install/uninstall
    • Fix deprecation notice in Cache when checking if cart was updated
  • 4.1.1 (2022/07/09)
    • Fix rare non-numeric error for business-day estimate
    • Fix removed hyphens in 9 digit USA zip codes
    • Fix fatal error on language change
  • 4.1.0 (2022/02/10)
    • Fix version number in upgrade file
  • 4.0.9 (10/17/2021)
    • Update cacert.pem bundle
  •  4.0.8
    • Fix missing admin tab JS in PS 1.7.8
  • 4.0.7
    • Fix bug where Estimator would display carriers as “free” when no carriers were available
    • Add box packing optimization to help speed it up when it requires many boxes
  • 4.0.4 (04/16/2020)
    • Fix errors not displaying when registering to the platform
    • Improve backend JS to prevent conflicts between modules
    • Add jQuery to module configuration page in PS 1.7.7+
    • Fix “Address” namespace issue in Cache.php
  •  4.0.3
    • Fix styling on estimator
  • 4.0.2
    • Fix Rate Discount rule error when discount value is empty
    • Fix styling on estimator
    • Fix double div closing tag in development template
  • 4.0.1
    • Fix estimator showing as Free on out-of-stock products
  •  4.0.0
    • Module completely re-built from the ground up with new features and better performance.
    • NEW: Front-office Shipping Estimator on Product/Cart pages
    • NEW: Custom Rate Discount Rules
    • NEW: Box Packing Algorithm
    • NEW: Smart Rate Caching to speed up the front-office
    • NEW: Get rates with tax included OR excluded
    • NEW: Upload your own carrier logo
    • Added metrics for storage space used by module
    • Rewritten documentation
    • Numerous bug fixes and improvements
    • Add Hook.php override for backwards compatibility (namespace issue)
  • 3.0.4
    • FIX delivery estimate bug
  • 3.0.3
    • FIX uninstall bug in Prestashop
  • 3.0.2
    • FIX Bug with creating manual orders.
  • 3.0.1
    • Updated for Prestashop 1.7
    • Added more documentation
    • Added manual workaround for delivery times
    • Fixed cookie->exists
  • 1.2.7
    • FIX Some rate services not appearing for certain addresses.
  • 1.2.6
    • FIX Bug preventing from deleting a box on some servers.
    • NEW Added two new International shipping methods (parcel air, parcel surface).
  • 1.2.5
    • Fixed rate not updating for Shipping Estimator module.
    • Added $delay_times smarty variable.
  • 1.2.4
    • IMPROVED: Rate volume calculation
    • FIX: Admin order page now correctly pre-selects the optimal package size
  • 1.2.3
    • FIX: Syntax for select form fields in latest PS version on older PHP versions.
  • 1.2.2
    • NEW: Rate algorithm improvement with long edges
    • FIX: Syntax for select form fields in latest PS version
    • FIX: Bug with commercial invoices
  • 1.2.1
    • FIX: Weight calculation on split shipments
    • FIX: Conversion edge case when CAD is disabled on a separate multishop site
    • FIX: SQL sanitzation bug with magic quotes
  • 1.2
    • NEW: Split Products option
    • NEW: Delivery Delay setting
    • NEW: Edit boxes
    • FIX: Multiply each product by its quantity
    • FIX: Make box form larger
    • DEBUG: Refactor value deletion
    • DEBUG: Add seed debug tools
  • 1.0.7
    • Fixed rates with handling fees
    • Fixed CPTools class typo


Configuration Settings