Articles in this section

Connecting Canada Post to ShipHero

For Canadian e-commerce businesses, Canada Post delivers to every home and P.O. box in the country — making it an essential partner for local brands.

Key Canada Post Services

  • Fast & Guaranteed: Xpresspost™ is the go-to for urgent orders that need to arrive quickly.
  • Business Value: Expedited Parcel™ is a budget-friendly ground service designed for businesses.
  • International: Services like Tracked Packet™ make it easy to ship to the U.S. and over 190 other countries.

Connecting Canada Post to ShipHero automatically pulls your rates, prints labels during packing, and sends tracking information to customers — turning a multi-step process into a single click.

Table of Contents

How to Connect a Canada Post Account

Connecting Canada Post follows an OAuth flow — clicking Connect in ShipHero redirects you to Canada Post's platform to complete authorization.

Important Notes

  • You must have an existing Canada Post merchant account before connecting to ShipHero.
  • The connection requires accepting Canada Post's terms and conditions during the OAuth flow.
  • If you cancel the authorization, ShipHero will be unable to submit requests until you accept the terms.

Step-by-Step Connection Process

  1. Go to the Shipping > Carriers page and click Connect Carrier.
  2. Select Canada Post from the available carriers.
  3. Select the Profile and Warehouse the carrier will be connected to.
  4. Click Connect. This will redirect you to Canada Post's site.

  5. Enter your Canada Post credentials and complete the authorization. Once authorized, ShipHero automatically stores:
    • Customer number
    • Contract ID
    • API key (merchant username)
    • API secret (merchant password)
  6. Once complete, you'll be redirected to ShipHero and Canada Post will appear in your connected carriers list.

Available Canada Post Settings After Connection

After connecting, the following settings are available:

  • Cut-Off Time: Labels generated after this time will print with the creation date of the following day.
  • Disable Quoting: Prevents this account from being quoted in rate shopping tools or cheapest shipping methods.

Known Limitations and Requirements

ShipHero includes built-in logic to ensure shipments meet Canada Post's API requirements.

Address and Contact Constraints

  • Origin Restrictions: Canada Post through ShipHero is only available for shipments originating from Canada (CA).
  • Name Length: Names cannot exceed 40 characters.
  • Invalid Characters: Ensure customer names and addresses do not contain special symbols (like non-standard punctuation). The API will reject these immediately.
  • Email Required: A valid email address must be entered in the billing information section on the order details page.

Package Weights and Dimensions

  • Canada Post operates strictly on the metric system. ShipHero automatically converts units as follows:
    • Weight: Ounces are converted to kilograms and rounded to 3 decimal places.
    • Size: Inches are converted to centimeters and rounded to 1 decimal place.
  • No Zero Values: Weight or height cannot be 0.0. Even small items like stickers must have a minimum weight/dimension (e.g., 0.1 kg/cm).
  • Polybag Exception: If a package is marked as a Poly in ShipHero, only the weight is required — dimensions become optional.
  • Package Dimension Limits: Canada Post validates package dimensions according to service-specific rules when requesting quotes or generating labels.

International Shipments & Tariff Codes

For orders leaving Canada, Tariff Codes (HS Codes) are mandatory. ShipHero validates these against the format: XXXX.XX.XX.XX.

  • Requirement: Codes must be numeric and follow the 4-to-10 digit structure.
  • Default Logic: If a valid code is missing, ShipHero may default to 0000.00.00.00 to prevent shipment failure, but accurate codes are strongly recommended to avoid customs delays.

Canada Post Return Label Settings

To generate return labels using a central payer setup, the paid-by-customer number must be configured — a required 10-digit field when the payer differs from the account holder. Contact Canada Post support to verify your paid-by-customer number and confirm it is linked as a valid payer partner.

Pro-Tip: Mastering the Canada Post Manifest

Canada Post requires a daily Manifest summarizing all shipments. When generating your manifest in ShipHero, the system waits up to 20 minutes — this is intentional.

This delay prevents Error 9153, which occurs when a manifest is requested before shipments finish transmitting. Do not refresh the page — let the system complete transmission to ensure all shipments are included in your manifest.

Important Reminders when Connecting a Carrier Account

  • Using Custom Profiles: Custom profiles allow you to connect the same carrier account multiple times with unique settings, such as specific Incoterms or 3rd Party Billing. For these settings to apply, the order must be assigned to that specific profile. If the assigned profile lacks a connected carrier, ShipHero will automatically use the carrier account connected the warehouse’s default profile for the selected shipping method. This ensures your specialized billing and shipping terms are applied correctly to every label. Visit the following article for more information on How to Use Warehouse Profiles.
  • Multi-Warehouse Accounts: To generate labels from multiple warehouses, you must connect your carrier account to each individual location in ShipHero to avoid shipping errors or billing discrepancies. Please consult your carrier to determine if a single account number supports multiple origins or if unique accounts are required for each site. This is especially critical for international locations, as carrier operations vary by country.
  • Note for 3PLs: When connecting a new carrier account to ShipHero, double check your 3PL Clients' Settings to ensure you are connecting the carrier account to the correct ShipHero account; if Use Customer's Shipping Accounts is enabled the carrier account must be connected at the child account level, if Use Customer's Shipping Account is not enabled, the carrier account needs to be enabled at the 3PL level. More information about Managing 3PL Client Settings can be found here.
Was this article helpful?
0 out of 0 found this helpful

More Resources

  • ShipHero Public API

    Connect your tools and AI agents directly to ShipHero with the Public API. Build powerful integrations, automate workflows, and tap into real-time data using the AI tools you prefer, with the option for secure, read-only access for AI-driven insights without added risk.

  • ShipHero Academy

    Explore ShipHero Academy for certifications, deep-dive training, and expert-led courses on WMS and fulfillment. Build your expertise and help your team operate at a higher level.

  • Change Log

    Stay up to date with the latest improvements across ShipHero. The Change Log gives you a clear view of new features, enhancements, and fixes as they roll out—so you always know what’s new and what’s better.