Estimate your courier shipping charges including fuel surcharge, COD fees, and GST.
Within City (Zone A)
Within State (Zone B)
Metro to Metro (Zone C)
Rest of India (Zone D)
Special Zones (NE/J&K)
Express (Standard)
Surface (Heavy/Bulk)
Prepaid
Cash on Delivery (COD)
Used for Volumetric Weight
Rate Estimation
Chargeable Weight:0 kg
Freight Charge (Base + Add-on):₹0.00
Fuel Surcharge (18%):₹0.00
COD Charge:₹0.00
ROV/Risk Charge:₹0.00
GST (18%):₹0.00
Total Shipping Cost:₹0.00
How to Calculate Delhivery Courier Charges
Understanding courier charges for e-commerce logistics in India can be complex. Companies like Delhivery use a structured pricing model based on zones, weight slabs, and service types. This calculator helps estimated costs for D2C brands and individual shippers.
1. Chargeable Weight Calculation
Logistics companies charge based on the higher of the "Dead Weight" (actual scale weight) or the "Volumetric Weight" (space occupied). The standard formula used by most Indian couriers, including Delhivery, is:
Example: A pillow might weigh 0.5kg on a scale, but if it is packed in a box of 40x30x20cm, the volumetric weight is (40*30*20)/5000 = 4.8kg. You will be charged for 5kg (rounded up to the next slab).
2. Zone-Based Pricing
Shipping rates depend on the distance between the pickup and delivery pincodes. Common zones include:
Zone A: Intra-city (Pickup and delivery in the same city).
Zone B: Intra-state (Within the same state/region).
Zone C: Metro to Metro (e.g., Delhi to Mumbai).
Zone D: Rest of India (National shipping).
Zone E: Special Zones (North East India, J&K, Kerala).
3. Additional Surcharges
Beyond the basic freight charge, your final invoice usually includes:
Fuel Surcharge: A variable percentage (usually 15-30%) added to freight to cover fluctuating fuel prices.
COD Charges: If the customer pays cash on delivery, carriers charge a collection fee (typically ₹50 or 2% of the order value, whichever is higher).
GST: A standard 18% Goods and Services Tax is applied on the total service value.
4. Surface vs. Express
Express mode is faster (Air/Fast Surface) and is charged at higher rates, usually ideal for shipments under 5kg. Surface mode is slower (Truck/Rail) and is more economical for heavy, bulky shipments (typically >10kg).
function toggleCodField() {
var pType = document.getElementById("paymentType").value;
// Visual toggle only if needed, currently handled in calculation
}
function calculateShipping() {
// 1. Get Inputs
var zone = document.getElementById("zoneType").value;
var service = document.getElementById("serviceMode").value;
var payType = document.getElementById("paymentType").value;
var val = parseFloat(document.getElementById("orderValue").value) || 0;
var weightKg = parseFloat(document.getElementById("deadWeight").value) || 0;
var l = parseFloat(document.getElementById("dimL").value) || 0;
var w = parseFloat(document.getElementById("dimW").value) || 0;
var h = parseFloat(document.getElementById("dimH").value) || 0;
// Basic Validation
if (weightKg === 0 && (l === 0 || w === 0 || h === 0)) {
alert("Please enter a valid weight or dimensions.");
return;
}
// 2. Calculate Chargeable Weight
var volWeight = (l * w * h) / 5000;
var chargeableWeight = Math.max(weightKg, volWeight);
// Round up to nearest 0.5kg slab
// Example: 0.2 -> 0.5, 0.6 -> 1.0, 1.1 -> 1.5
chargeableWeight = Math.ceil(chargeableWeight * 2) / 2;
// Ensure minimum 0.5kg
if (chargeableWeight 0.5) {
var additionalSlabs = (chargeableWeight – 0.5) / 0.5;
freight += additionalSlabs * selectedRate.add;
}
// 5. Fuel Surcharge (Estimated at 18% of Freight)
var fuelSurcharge = freight * 0.18;
// 6. COD Charges
var codCharge = 0;
if (payType === 'cod') {
// Standard Logic: ₹50 or 2% of value, whichever is higher
var percentageCod = val * 0.02;
codCharge = Math.max(50, percentageCod);
}
// 7. ROV (Risk of Value) / Insurance (Optional usually, assume 0.2% if value > 5000)
var rovCharge = 0;
if (val > 5000) {
rovCharge = val * 0.002;
}
// 8. Totals
var subTotal = freight + fuelSurcharge + codCharge + rovCharge;
var gst = subTotal * 0.18;
var total = subTotal + gst;
// 9. Display Results
document.getElementById("results").style.display = "block";
document.getElementById("resWeight").innerText = chargeableWeight.toFixed(2) + " kg";
document.getElementById("resFreight").innerText = "₹" + freight.toFixed(2);
document.getElementById("resFuel").innerText = "₹" + fuelSurcharge.toFixed(2);
var rowCod = document.getElementById("rowCod");
if (codCharge > 0) {
rowCod.style.display = "flex";
document.getElementById("resCod").innerText = "₹" + codCharge.toFixed(2);
} else {
rowCod.style.display = "none";
}
var rowRov = document.getElementById("rowRov");
if (rovCharge > 0) {
rowRov.style.display = "flex";
document.getElementById("resRov").innerText = "₹" + rovCharge.toFixed(2);
} else {
rowRov.style.display = "none";
}
document.getElementById("resGst").innerText = "₹" + gst.toFixed(2);
document.getElementById("resTotal").innerText = "₹" + total.toFixed(2);
}