Purolator Rates Calculator

Purolator Shipping Rate Estimator

Local (Within City) Regional (Intra-Province) National (Inter-Province) Remote / Northern
Purolator Ground Purolator Express Purolator Express 9AM/10:30AM

Shipping Estimate Summary


*Estimate only. Taxes and additional handling fees (Oversize, Residential Delivery) not included.

Understanding Purolator Rate Calculation

Calculating Purolator rates requires more than just knowing how much your package weighs. To get an accurate estimate for your shipment within Canada or internationally, you must account for "Dimensional Weight," regional zones, and fluctuating fuel surcharges.

1. Actual Weight vs. Dimensional Weight

Purolator uses the greater of the actual weight or the volumetric (dimensional) weight to determine the billable weight. Formula: (Length x Width x Height) / 5000 = Dimensional Weight in kg.

2. Regional Zoning

Shipping costs vary significantly based on the distance between the origin and destination postal codes. Purolator categorizes these into:

  • Local: Within the same metropolitan area.
  • Regional: Typically within the same province.
  • National: Between major Canadian provinces (e.g., Ontario to BC).
  • Remote: Locations with limited access, often incurring significantly higher fees.

3. Service Levels

Speed is a major price driver. Purolator Ground is the most economical choice for non-urgent shipments, while Purolator Express guarantees next-day delivery but comes at a premium price. If you require morning delivery (9:00 AM or 10:30 AM), expect the rate to increase by 50% or more.

Example Calculation

Imagine shipping a box weighing 5 kg with dimensions of 40cm x 30cm x 30cm from Toronto to Vancouver:

  • Actual Weight: 5 kg
  • Dimensional Weight: (40 x 30 x 30) / 5000 = 7.2 kg
  • Billable Weight: 7.2 kg (The larger of the two)
  • Base Rate: National Zone rate for 7.2 kg (~$35.00)
  • Fuel Surcharge: 18% of $35.00 = $6.30
  • Total Estimate: $41.30 + Taxes
function calculatePurolatorRate() { var zoneMultiplier = parseFloat(document.getElementById("p_zone").value); var serviceMultiplier = parseFloat(document.getElementById("p_service").value); var actualWeight = parseFloat(document.getElementById("p_weight").value); var length = parseFloat(document.getElementById("p_length").value); var width = parseFloat(document.getElementById("p_width").value); var height = parseFloat(document.getElementById("p_height").value); var fuelRate = parseFloat(document.getElementById("p_fuel").value) / 100; if (isNaN(actualWeight) || isNaN(length) || isNaN(width) || isNaN(height)) { alert("Please enter valid numeric values for all fields."); return; } // Volumetric Weight Calculation (Standard Divisor 5000) var dimWeight = (length * width * height) / 5000; // Determine billable weight var billableWeight = Math.max(actualWeight, dimWeight); // Simulated Base Pricing Logic // Base fee $12.00 + $2.20 per kg for local var baseRatePerKg = 2.20; var startingFee = 12.00; var subtotal = (startingFee + (billableWeight * baseRatePerKg)) * zoneMultiplier * serviceMultiplier; var fuelSurcharge = subtotal * fuelRate; var totalCost = subtotal + fuelSurcharge; // Display Results document.getElementById("p_result").style.display = "block"; document.getElementById("billable_weight_display").innerHTML = "Billable Weight: " + billableWeight.toFixed(2) + " kg " + (dimWeight > actualWeight ? "(Volumetric)" : "(Actual)"); document.getElementById("base_cost_display").innerHTML = "Base Service Rate: $" + subtotal.toFixed(2); document.getElementById("fuel_cost_display").innerHTML = "Fuel Surcharge: $" + fuelSurcharge.toFixed(2); document.getElementById("total_cost_display").innerHTML = "Total Estimated Rate: $" + totalCost.toFixed(2); // Scroll to result document.getElementById("p_result").scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment