You sealed the box. Printed the label. Dropped it at the DHL counter. Three days later, an email: “Shipment on hold — customs issue.”
That happened to me with a box of Kenyan coffee beans headed to Berlin. The beans were fine. The problem was a missing commercial invoice. The package sat in Frankfurt for two weeks.
DHL moves packages fast. But one mistake in your packing list can stop everything. Here is the exact checklist DHL expects — not the generic advice from their website, but what actually gets a shipment through customs and delivered.
What a DHL Packing List Actually Is (And Why It Matters)
A DHL packing list is not the same as a shipping label. The label tells DHL where the box goes. The packing list tells customs what is inside, how much it is worth, and why it is moving.
Customs officials use this document to decide three things:
- Is this item allowed? Some goods need permits. Some are banned entirely.
- What duty or tax applies? The declared value determines this.
- Is this commercial or personal? Different rules apply.
Without a correct packing list, customs flags the shipment. DHL then holds it until you submit the right paperwork. That can take days or weeks.
The fundamental rule: your packing list must match the contents exactly. An item inside not listed on the form is the most common reason for seizure.
The CN22 vs. CN23 Form
DHL uses two customs forms depending on package value. The CN22 is for shipments under €300 (or equivalent). It is a small sticker you attach to the box. The CN23 is for anything over that value. It requires more detail: itemized descriptions, country of origin, and tariff codes. Use the wrong form and DHL will ask you to redo it at the counter.
Prohibited Items You Cannot Ship With DHL

This is where most travelers get stuck. You assume something is fine because you packed it in your luggage. DHL has stricter rules.
Lithium batteries are the biggest problem. Loose lithium-ion batteries (power banks, spare phone batteries) cannot go in checked air freight. They must be installed in the device or shipped via ground. DHL will reject a box with loose batteries at the counter.
Perishable food needs special handling. Coffee beans, spices, dried fruit — these are usually fine if sealed and declared. Fresh meat, dairy, or anything requiring refrigeration is banned for standard DHL Express.
Alcohol and liquids over 100ml are restricted. You can ship wine or spirits, but they need special labeling and the alcohol content must be under 70%. No aerosol cans.
Cash and valuables — DHL prohibits cash, coins, and precious metals in standard shipments. You need a specialized valuables service.
One traveler shipped a handmade wooden carving from Bali. DHL returned it because the wood had bark attached. Customs flagged it as a potential pest carrier. Always strip bark from wood items before packing.
What About Medicines?
Prescription medication for personal use is generally allowed if you have the prescription and the original packaging. Controlled substances (opioids, sedatives) are banned for personal shipments. Ship them with a freight forwarder that handles pharmaceuticals.
The Exact Information Your Packing List Must Include
Here is the data DHL requires on every commercial invoice or packing list. Miss one field and your package risks delay.
| Field | What to Write | Common Mistake |
|---|---|---|
| Sender name and address | Full name, street, city, postal code, country | Using a hotel address as sender — DHL may reject if you have already checked out |
| Receiver name and address | Full name, phone number, street, city, postal code, country | Missing apartment number or phone — delivery driver cannot find location |
| Item description | Specific: “Handwoven wool scarf, 100% merino, 180cm x 30cm” | Writing “gifts” or “clothes” — customs needs detail to classify |
| Quantity | Exact number of items | Writing “1 box” instead of “5 scarves” |
| Value per item | Price in USD or EUR, what you actually paid | Under-declaring to avoid duty — customs will appraise and fine you |
| Country of origin | Where the item was made, not where you bought it | Saying “USA” for a souvenir made in China |
| Harmonized System (HS) code | 6-digit tariff code (optional but speeds clearance) | Using wrong code — lookup on DHL’s website or use 9801 for personal effects |
Print two copies of the packing list. One goes inside the box on top of the contents. The other goes in a clear pouch on the outside of the box. DHL requires this for international shipments.
How to Pack Your Box So DHL Accepts It

The packing list is paperwork. The box itself matters just as much. DHL counter staff reject boxes that look fragile, wet, or poorly sealed.
Use a new corrugated cardboard box. Old boxes with multiple labels confuse DHL scanners. Remove all previous barcodes or tape over them completely.
Seal all seams with 2-inch wide packing tape. Use the H-tape method: one strip down the center seam, then one strip across each end seam. DHL does not accept duct tape, masking tape, or string. Only clear or brown packing tape.
For fragile items, wrap each piece individually in bubble wrap. Fill empty space with crumpled paper or foam peanuts. The box should not shake when you pick it up. DHL uses automated sorters that drop boxes up to 1.5 meters.
Weight limit for DHL Express Easy is 30kg per box. Over that, you need a pallet. Check the dimensions too — DHL charges by dimensional weight. A large light box costs more than a small heavy one.
Label Placement
Attach the DHL shipping label flat on the largest surface. Do not fold it. Do not cover the barcode. Place a second label inside the box in case the outer label gets damaged. Write the recipient’s phone number clearly on the box with a permanent marker.
When Not to Ship With DHL — Better Alternatives
DHL is excellent for fast, trackable international shipping. But it is not always the best choice.
For cheap, slow shipments: USPS or your local postal service costs half as much for non-urgent packages. A 2kg box from Kenya to Germany costs about $45 with DHL Express. The same box via post office costs $18 and takes 10-14 days.
For oversized items: DHL charges premium rates for boxes over 120cm in length. Freight forwarders like FedEx Freight or TNT handle pallets and large boxes at lower per-kg rates.
For dangerous goods: DHL bans many hazardous materials (paints, aerosols, bleach). Specialized carriers like ChemLog or DSV handle these with proper documentation.
For remote addresses: DHL delivers to most cities worldwide. But for rural areas in Africa or Central Asia, the local post office or a courier like Aramex may have better last-mile coverage.
One traveler shipped a surfboard from Bali to Canada. DHL quoted $380. A freight forwarder specializing in sports equipment did it for $140 with the same transit time. Always compare three quotes before committing to DHL for large or heavy items.
Five Mistakes That Get Your DHL Package Returned

These are the most common errors DHL sees at their counters. Avoid them and your shipment moves smoothly.
- Writing “gift” on the customs form. DHL treats gifts as commercial items unless the value is under $50. Always declare the real value and mark it as “personal effects” if it is for personal use.
- Using an old box with a previous barcode. The sorter reads the old label and sends your package to the wrong destination. Always cover old barcodes with black marker or tape.
- Not including a phone number for the recipient. DHL delivery drivers call before delivery in many countries. No phone number means the package goes to a depot and the recipient has to pick it up.
- Packing liquids without leak-proof wrapping. Liquids must go in a sealed plastic bag inside the box. If the bottle leaks, DHL quarantines the entire shipment.
- Forgetting the commercial invoice for business shipments. DHL requires a signed commercial invoice for any item being sold or traded. Personal shipments can use a pro forma invoice, but it must still list values.
That box of Kenyan coffee beans I mentioned earlier? I fixed the paperwork, paid a small storage fee, and the coffee arrived three weeks late. The beans were still good. But I learned: the packing list is not a formality. It is the key that unlocks customs.
Print your packing list. Check every field. Match it to the contents. Then seal the box.
