Skip to main content
Card class: HeroCategory: Shipping & Courier

At a glance

Average billed cost per DHL InExpress shipment over the last 30 days, including base rate, fuel surcharge, residential surcharge, oversize surcharge, and Brexit-era customs handling fees. The “what’s it really costing me to ship a parcel” number, the figure your CFO needs to track because the headline rate card is rarely what you actually pay.
What it countsSUM(shipmentCharges.totalAmount) / COUNT(shipments) over 30 days. Includes every billable line item in DHL’s shipment charge structure.
Charge componentsBase rate (zone × weight) + fuel surcharge (resets weekly, typically 18 to 28%) + residential surcharge + oversize/non-conveyable surcharge + remote-area surcharge + customs handling fee (cross-border) + duty advance fee (DDP) + paperless-trade fee.
Multi-carrier opacityThe merchant pays DHL InExpress’s blended rate; DHL absorbs the cost differential between sub-carriers (Yodel, Evri, GLS, etc.). The card reflects what you actually paid, not the underlying carrier mix.
Brexit / customs costUK to EU lanes typically run 35 to 70% higher than UK domestic on this card after customs handling and duty-advance fees. Customs handling alone is £2 to £8 per parcel depending on declared value and clearance complexity.
Returns / RTORTO charges (return shipping) are counted on the original shipment as an additional charge line. A returned parcel can effectively double its cost on the card.
CurrencyThe card uses the account’s billing currency (typically GBP for UK accounts, EUR for EU). Multi-account merchants see a per-account aggregate; cross-currency aggregation is not done (would be meaningless without FX).
Time window30D vsP (rolling 30D vs prior 30D)
Alert trigger+10% vsP. Period-over-period rises >10% are typically driven by mix shift, fuel-surcharge spike, or accessorial creep.
Rolesowner, finance, operations

Calculation

Calculated automatically from your DHL InExpress data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK fashion brand shipping ~8,000 InExpress parcels per month. 60% UK domestic, 40% UK to EU. Reading taken at 09:00 GMT on 12 Mar 26 for the trailing 30D vs prior 30D.
LaneShipmentsAvg charge per shipmentPeriod change
GB → GB (domestic)4,800£6.42+£0.18 (+2.9%)
GB → IE850£9.10+£0.40 (+4.6%)
GB → DE1,400£11.85+£1.20 (+11.3%)
GB → FR720£12.40+£1.45 (+13.3%)
GB → other EU230£13.95+£0.95 (+7.3%)
All lanes (this card)8,000£8.94+£0.86 (+10.6%)
The card reads £8.94 with +10.6% vs prior period. The alert at +10% vsP is tripped. Five things to notice:
  1. The headline rise is concentrated on cross-border lanes. UK domestic moved +2.9% (in line with normal fuel-surcharge drift); EU lanes moved +11 to 13% (a structural shift). The likely cause is either a fuel surcharge step-up on EU trunk legs or a new customs handling fee tier from DHL.
  2. Each cross-border parcel costs ~80% more than domestic. That’s a structural Brexit cost, customs handling (£2 to £4), duty advance fee (1 to 2% of declared value), and longer trunk legs all stack. Bake into your free-shipping thresholds; EU shoppers should hit a higher threshold than UK shoppers.
  3. Mix shift can trigger this card without any rate change. If 5% of volume shifted from UK domestic to UK to FR, the average alone moves +£0.30 with zero rate-card change. Always check Shipments by Service and Shipments by Destination before assuming rate inflation.
  4. Compare against Cost Per Shipment Trend. A 90D sparkline tells you whether the +10.6% is a one-time step or a slow drift. Steps usually mean rate-card change; drifts mean mix shift or accessorial creep.
  5. At 8,000 parcels/mo × £0.86, you’re paying £6,880 more this month than last. Annualised that’s £82,560. Worth a 30-minute conversation with your DHL account manager, fuel surcharge negotiation, customs-handling fee waiver, or volume-tier renegotiation are all on the table at this scale.

Sibling cards merchants should reference together

Avg cost is the headline; pair with mix and trend cards to diagnose root cause:
CardWhy pair itWhat the combination tells you
Cost Per Shipment TrendThe 90D shape of the same number.Step changes vs slow drift have different causes, step = rate-card change, drift = mix or accessorial creep.
Cost by ZonePer-destination-zone breakdown.Identifies which lane is dragging cost up; cross-border lanes typically dominate.
High-Cost Shipment OutliersPer-shipment outlier table.Surfaces individual oversize / overweight / remote-area parcels that pull the average up. Often a packaging or routing fix.
Shipments by ServiceService-tier mix.Mix shift toward Express Worldwide costs more than Economy Select; if the avg cost rose because mix shifted, the fix is checkout-side.
Shipments by DestinationGeographic mix.A 5% shift toward EU lanes can move avg cost +£0.30 without any rate change.
Duty-Billing Mismatch RateCustoms cost integrity.If duty-mismatch is climbing alongside avg cost, you may be over-paying customs that you’ll never recover.
Cross-connector: shopify.shipping_revenueCharged-to-customer side of the same equation.Shipping cost - shipping revenue = subsidy. A widening subsidy gap is a margin signal.

Reconciling against the vendor’s own dashboard

Where to look in DHL InExpress’s own dashboard: MyDHL+ portalBilling → Invoices. Each weekly or monthly invoice itemises every shipment with its full charge breakdown (base, fuel, surcharges, customs, duties). The card reads the same data via the /billing/charges API endpoint. For finance teams, the Billing → Charge Analysis report aggregates by lane, service, and surcharge type, the breakdown the card slices. Why our number may legitimately differ from MyDHL+:
ReasonDirectionWhy
Billing cycleEitherDHL invoices typically run on a weekly cycle. The card pulls charges as they post; an invoice summary may show the same 30D differently if the cycle boundary clips.
Customs / duty inclusionEitherThe MyDHL+ “Shipping cost” tile sometimes excludes duty advance fees (treats them as customer-paid). The card includes everything DHL bills you, duties + handling + base. To match the portal, exclude lineType = 'DutyAdvance'.
Credits and adjustmentsOurs lower brieflyRefund credits and rate-adjustment back-credits land in the next billing cycle. The card sees them when posted; the portal’s pending-credits view may show them earlier.
VAT / taxEitherThe card uses the net (pre-VAT) figure where available. Some merchant accounts return gross. Check your account configuration.
CurrencyEitherCross-currency multi-account aggregation is not done. If you have GBP and EUR accounts, the card shows them separately or one only.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
shopify.total_shippingCharged-to-customer side. The gap between shipping revenue / order count and DHL avg cost is your shipping margin.Free-shipping thresholds, ad-hoc free-shipping promos.
Internal P&L “delivery cost” lineShould reconcile to within rounding when DHL is the only carrier.Multi-carrier mix, manual journal entries, rebates booked separately.
Internal identity (within DHL InExpress): dhl_avg_shipping_cost = SUM(charges) / COUNT(shipments). Pair with Cost by Zone, the zone-weighted average should reconcile back to this card via the volume mix.

Known limitations / merchant FAQs

My avg shipping cost rose 12% this period. Where do I look first? In order:
  1. Mix shift first. Check Shipments by Destination, a 5pp shift toward EU lanes can move avg cost +£0.30 with zero rate change. Mix shift is operationally fine; it’s not a contract problem.
  2. Fuel surcharge. DHL resets fuel surcharge weekly based on diesel prices. A 4 to 6pp surcharge step usually adds £0.20 to £0.40 per parcel. Check the rate card on MyDHL+ for the active surcharge.
  3. Accessorial creep. Residential, oversize, remote-area surcharges can apply silently. High-Cost Shipment Outliers surfaces them. A new SKU with non-standard dimensions can trigger oversize on every shipment of it.
  4. Customs handling fee changes. DHL revises customs handling fees annually for cross-border traffic. Post-Brexit, these have crept up year-on-year.
Why is UK to FR more expensive than UK to DE on InExpress? Roissy customs clearance is more expensive than Leipzig (DHL’s primary EU hub). Frankfurt and Leipzig have higher throughput and DHL has tighter cost optimisation there; Roissy is a contracted clearance partnership with extra hand-off fees. Same parcel typically costs £0.50 to £1.20 more on UK to FR than UK to DE. Does the card include the duty I’m passing through to my customer? If you’re DDP (delivered duty paid) and you charge the customer for the duty, the duty appears on this card as a DHL charge to you that you’ve recovered from the customer. The card shows what DHL charged you, not your net-of-recovery cost. For your true cost, subtract pass-through duties manually or wait for the planned “Net Shipping Cost” card. My avg cost is lower than DHL’s published rate card. How? Volume discounts. DHL InExpress accounts get tiered pricing based on monthly volume; merchants over 1,000 parcels per month typically run 15 to 30% below rate-card. The card reflects what you actually paid, including volume discounts. If your number is unusually low, double-check the period, billing-cycle clipping can underrepresent. Why does avg cost spike on certain weekdays? DHL’s residential surcharge is higher on residential delivery (vs commercial). Saturdays are 100% residential; Tuesdays are mixed. If your cohort skews heavily residential one day a week (e.g. weekend orders that ship Monday for Tuesday delivery), avg cost can fluctuate ±£0.30 by weekday. Is there a way to reduce avg cost without changing carriers? Five levers in order of typical impact:
  1. Negotiate volume tier if you’ve grown into a higher tier in the last 6 months.
  2. Fix oversize SKUs, repackage anything triggering oversize surcharge.
  3. Address quality, invalid addresses become RTO charges. Tighten checkout address validation.
  4. Service-tier optimisation. Economy Select is 20 to 30% cheaper than Express Worldwide for non-urgent parcels.
  5. Drop unprofitable lanes, if UK to FR is costing you 30% margin, consider passing the Brexit cost to the customer or removing the lane.
Does Brexit really cost £4 to £6 per parcel on cross-border? Yes, in aggregate. £2 to £4 customs handling + £0.50 to £1.50 duty advance fee + £0.50 to £1 paperwork/IT surcharge + slightly higher trunk-leg cost = £3 to £7 incremental on a UK to EU parcel post-Brexit vs pre-Brexit. The exact number depends on declared value and clearance complexity.

Tracked live in Vortex IQ Nerve Centre

Avg Shipping Cost is one of hundreds of KPI pulses Vortex IQ tracks across DHL InExpress and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.