Skip to main content

Reviewed 30 September 2026 · quarterly cycle

Agent service fees: the line items nobody itemises

How the fee table was assembled

Fee tables go wrong in a predictable way: they compare a headline percentage from one agent against a flat charge from another as though the two numbers described the same thing. A flat charge per order and a percentage of goods value are different instruments, and which one is cheaper depends entirely on the size of your order rather than on the quality of the agent. Our table was assembled to avoid that failure, which meant starting from the unit of each row rather than from the amount.

The source material was the fee documentation that agents publish on their own account and help pages, reviewed during 2026 Q3, supplemented by the invoices readers described to us in enough detail to be checkable. Where the published terms and a reader invoice disagreed, we recorded both and treated the row as variable rather than resolving the disagreement in favour of either source. That decision is the reason several rows in the table carry a band rather than a figure, and we would make it again.

We also excluded rows we could not source at all. Promotional waivers, negotiated rates for high-volume accounts and anything that appears only inside an account after a threshold is reached are not comparable across agents, and including them would have made the table look more precise than the evidence behind it. A row we cannot source does not appear in the table as an estimate; it appears in the notes underneath it as Not verified. That convention costs us the appearance of completeness, and it buys something more useful: a reader can tell at a glance which rows are safe to plan against and which ones they should confirm on their own account page before committing money. A table that estimates everything looks tidier and is worse at the only job a fee table has, which is telling you what you will be charged.

The last methodological choice was to record every row with the date we read it. Published fee terms change, and a table without dates invites a reader to compare a term from one season against a term from another. Dating each row means the worst case is a stale row that is visibly stale, rather than a stale row that looks current and quietly misleads somebody assembling a budget for a haul they care about.

The table

The first block covers the mandatory rows, which is to say the ones you cannot avoid if you use the service at all. A service fee, charged per order or as a share of the goods value, sometimes with a floor that applies to small orders. A domestic freight row, charged per seller parcel and set by the seller rather than by the agent, which is why it varies more between orders than any other row. An international freight row, charged per parcel on chargeable weight, with the greater of scale weight and volumetric weight applying.

The second block covers optional rows, and this is where itemisation pays for itself. Inspection and photography services, charged per item and often bundled for the first few items of an order. Additional photographs or a short video, charged per request. Reinforced packing, vacuum compression and moisture protection, each charged per parcel or per item depending on the warehouse. Insurance, charged as a share of declared value with a minimum that dominates on small parcels.

The third block covers event rows, which are the ones that turn a cheap haul into an expensive one. A return to the seller, charged per item plus the domestic leg in reverse. A re-ship after a failed inspection or a refusal at check-in. An exchange service where the agent handles correspondence with the seller on your behalf. A disposal, where an item is abandoned in the warehouse and a handling charge applies to removing it from the shelf.

Storage belongs in a block of its own because it is neither optional nor an event. It is a time-based row that starts accruing after the free window closes, charged per item per day with a minimum, and it is the only row in the table that grows while nothing happens. Every other row requires an action by somebody; storage is what you pay for the absence of one, which is why it deserves its own line rather than a footnote under fees. On a haul that sits for two months, storage is frequently the largest single row in the table, and it is the only row that nobody chose to incur.

Definitions and units

Goods value is the price paid to the seller for the item, excluding domestic freight inside the origin country and excluding all agent charges. It matters because percentage-based service fees and insurance both attach to it, and because customs assessment attaches to it as well, so a single figure feeds three different calculations. Buyers who conflate goods value with their total spend inflate every percentage row in the table at once and then wonder why the arithmetic does not reconcile.

Chargeable weight is the greater of actual weight and volumetric weight, where volumetric weight is length by width by height in centimetres divided by the carrier divisor. It matters for any row charged per kilogram, and it is the reason two parcels of identical scale weight can carry different freight charges on the same line. Actual weight, by contrast, is simply what a scale reads, including the carton, the tape and any reinforced box the warehouse added.

Declared value is the figure submitted for customs and, separately, the ceiling for most insurance products. It is not the same as goods value in every case, and the two diverge most often when a buyer under-declares, at which point the insurance payout falls along with the assessment. Keeping the two terms distinct in your own notes prevents the specific mistake of believing a parcel is covered for what it cost when it is covered for what was written down.

Per item against per order is the last unit to keep straight, and it is the one that changes most between categories. A per-item row scales with the size of a haul and a per-order row does not, so a twelve-item haul of small goods behaves completely differently from a single heavy item under the same schedule. Whenever a fee table is quoted without units, assume the comparison is meaningless until you find them. When a table is quoted without units, the fastest fix is to ask one question of the source: is this per item, per order or per kilogram? Most tables collapse once that question is answered in writing.

Two anomalies and why they exist

The first anomaly is that a heavier parcel sometimes carries a lower total cost than a lighter one on the same line. It happens when the lighter parcel is charged at a tighter divisor, or when the heavier one qualifies for a banded rate that the lighter one misses, and it is not an error in the table. Freight is priced per parcel with a band structure, so the marginal cost of additional mass inside a band is close to zero while the step to the next band is large.

The second anomaly is that a percentage-based service fee can exceed a flat one on a modest order and lose to it on a large one, at the same agent. That is the floor doing its work: below a certain goods value the percentage falls under the minimum charge, so the effective rate is higher than the headline. Any comparison that uses the headline percentage for small orders will overstate the flat-fee arrangement's disadvantage, sometimes by a wide margin.

Both anomalies resolve once the unit is stated next to the number, which is the entire argument for publishing a table with a units column rather than a list of rates. They also explain why we refuse to publish a single cheapest-agent claim, however often we are asked for one. The ranking changes with order size, category density and destination, and a reader who picks an agent from a single number is picking from a ranking that does not apply to their haul.

A third pattern is worth mentioning because it is not an anomaly but is often mistaken for one. Rows that look identical across agents frequently differ in what they include, with inspection bundled into the service fee at one and charged separately at another. That is why the table records inclusions as well as amounts, and why the fastest way to compare two agents is to price one real haul through both schedules rather than to read either one carefully. Pricing one real haul through two schedules is also the only method that catches inclusions, since a service fee that bundles inspection is not comparable on the number alone.

What we measured ourselves

Every row in our fee table is stored with its unit rather than as a bare amount, because during the 2026 Q3 review we found that ranking two agents by headline number alone reversed depending on whether the order was small or large.

Basis: Publicly visible fee documentation reviewed during 2026 Q3, cross-checked against reader invoices; rows we could not source for more than one agent are marked Not verified rather than estimated.

Where to go next

Outbound links to kabosheet.com may earn this desk a referral credit. It does not change what we write, what we measure, or what we mark as unverified.

Full disclosure