Metro Manila (NCR)
Luzon (Provincial)
Visayas
Mindanao
Metro Manila (NCR)
Luzon (Provincial)
Visayas
Mindanao
Estimated Shipping Breakdown
Chargeable Weight:0 kg
Base Shipping Charge:PHP 0.00
Valuation Charge (Insurance):PHP 0.00
Waybill & Doc Fees:PHP 0.00
Total Estimated Cost:PHP 0.00
Note: This calculator estimates domestic freight costs based on standard volumetric formulas and typical zonal rates. Actual AP Cargo rates may vary due to fuel surcharges, specific remote area fees, or promo rates.
How to Compute AP Cargo Shipping Rates
Sending packages across the Philippines requires a clear understanding of how logistics companies like AP Cargo calculate their shipping fees. Unlike flat-rate envelopes, general cargo shipping considers weight, volume, destination, and the value of the item being shipped.
Key Concept: Chargeable Weight
Logistics companies do not always charge based on the scale weight. They compare the Actual Weight against the Volumetric Weight and charge you for whichever is higher.
1. Actual Weight vs. Volumetric Weight
The cost of shipping is heavily influenced by how much space your package occupies in the van, truck, or aircraft.
Actual Weight: The weight of the package as measured on a weighing scale (in Kilograms).
Volumetric Weight: A calculation based on the dimensions of the box. The standard formula used in domestic logistics is:
(Length x Width x Height in cm) / 3500
For example, a large box of pillows might only weigh 2kg on a scale, but its large size takes up significant space. If the volumetric calculation results in 10kg, you will be charged for 10kg.
2. Valuation Charges (Insurance)
When you fill out your waybill, you are asked to provide a "Declared Value." This is used to calculate the insurance or valuation charge. This fee ensures that your item is covered in case of loss or damage. Typically, this is calculated as 1% of the declared value, often with a minimum fee (e.g., PHP 15 to PHP 50 depending on the branch).
3. Zonal Rates
Shipping rates in the Philippines vary significantly based on the zone:
Intra-City (Metro Manila to Metro Manila): Usually the cheapest rates.
Luzon to Visayas/Mindanao: These routes often involve air or sea freight, making them more expensive per kilogram.
Remote Areas: Deliveries to areas far from main city hubs (Out-of-Delivery Areas or ODA) may incur additional surcharges.
Tips for Lowering Your AP Cargo Shipping Costs
If you are a frequent shipper or an e-commerce seller, optimizing your packaging can save you money:
Pack Tightly: Reduce empty space in your box to lower the volumetric weight.
Use Standard Boxes: Oddly shaped items can be harder to measure and may result in higher dimensional charges.
Accurate Declaration: While it is tempting to undervalue items to save on valuation charges, this puts you at risk if the package is lost. Always declare a fair market value.
Restricted and Prohibited Items
Before heading to the nearest AP Cargo branch, ensure your package does not contain prohibited items such as:
Flammable materials (gasoline, thinners).
Explosives or firearms.
Perishable goods without proper packaging (depending on service type).
Illegal contraband.
function calculateShipping() {
// Get inputs
var origin = document.getElementById("origin").value;
var dest = document.getElementById("destination").value;
var weight = parseFloat(document.getElementById("actualWeight").value);
var length = parseFloat(document.getElementById("dimLength").value);
var width = parseFloat(document.getElementById("dimWidth").value);
var height = parseFloat(document.getElementById("dimHeight").value);
var declaredValue = parseFloat(document.getElementById("declaredValue").value);
// Validation
if (isNaN(weight) || weight <= 0) {
alert("Please enter a valid weight in kg.");
return;
}
if (isNaN(length) || isNaN(width) || isNaN(height)) {
alert("Please enter valid dimensions (L, W, H) in cm.");
return;
}
if (isNaN(declaredValue)) {
declaredValue = 0; // Default to 0 if empty
}
// 1. Calculate Volumetric Weight
// Standard domestic divisor is often 3500 for CBM conversion in PH logistics
var volWeight = (length * width * height) / 3500;
// 2. Determine Chargeable Weight
var chargeableWeight = Math.max(weight, volWeight);
// Most couriers have a minimum charge weight (e.g., 3kg)
var minWeight = 3;
if (chargeableWeight < minWeight) {
chargeableWeight = minWeight;
}
// 3. Determine Rate Per KG based on Zones (Estimation Matrix)
var ratePerKg = 0;
// Simplified Matrix Logic
if (origin === "NCR") {
if (dest === "NCR") ratePerKg = 25; // Metro to Metro
else if (dest === "LUZ") ratePerKg = 40; // Metro to Luzon
else if (dest === "VIS") ratePerKg = 75; // Metro to Visayas (Air/Sea mix)
else if (dest === "MIN") ratePerKg = 85; // Metro to Mindanao
} else if (origin === "LUZ") {
if (dest === "NCR") ratePerKg = 40;
else if (dest === "LUZ") ratePerKg = 45;
else if (dest === "VIS") ratePerKg = 80;
else if (dest === "MIN") ratePerKg = 90;
} else if (origin === "VIS" || origin === "MIN") {
// Inter-island is usually expensive
if (dest === origin) ratePerKg = 35; // Intra-region
else ratePerKg = 95; // Cross country return
}
// Calculate Base Cost
var baseCost = chargeableWeight * ratePerKg;
// 4. Calculate Valuation Charge (1% of Declared Value, min 15 PHP)
var valuationCharge = declaredValue * 0.01;
if (valuationCharge 0) {
valuationCharge = 15;
}
// 5. Fixed Fees (Waybill, Docs, Handling – estimated)
var fixedFees = 50;
// Add Fuel Surcharge (approx 10% of base)
var fuelSurcharge = baseCost * 0.10;
var totalFees = fixedFees + fuelSurcharge;
// 6. Total
var totalCost = baseCost + valuationCharge + totalFees;
// Display Results
document.getElementById("res-weight").innerHTML = chargeableWeight.toFixed(2) + " kg (Act: " + weight + " | Vol: " + volWeight.toFixed(2) + ")";
document.getElementById("res-base").innerText = "PHP " + baseCost.toFixed(2);
document.getElementById("res-valuation").innerText = "PHP " + valuationCharge.toFixed(2);
document.getElementById("res-fees").innerText = "PHP " + totalFees.toFixed(2);
document.getElementById("res-total").innerText = "PHP " + totalCost.toFixed(2);
// Show result area
document.getElementById("result-area").style.display = "block";
// Scroll to result
document.getElementById("result-area").scrollIntoView({ behavior: 'smooth' });
}