A cosmetics store ships a little over 600 parcels a month with two carriers. In late July the carrier invoice from the larger of the two arrives, and the owner has a vague feeling it's high. Not dramatically — just higher than the number in her head.
So she does the responsible thing and opens the detail file. It has 431 lines. Each line has a tracking number, a weight, a volumetric weight, a destination code, a base charge, three or four additional service charges with abbreviated names, a fuel contribution, a regulatory pass-through, and VAT. She scrolls for eleven minutes, confirms that the individual amounts all look roughly like shipping charges, closes the file, and pays it.
That's the part worth sitting with. She didn't skip the audit because she doesn't care about a few thousand lira. She skipped it because there was nothing to compare the invoice against. The invoice tells her what the carrier charged. Nothing on her side tells her what the carrier should have charged. Without that second number, 431 lines of plausible-looking charges are unauditable by construction — and "it looks about right" is the only verdict available.
This guide is about building the second number, then using it. What's actually on a carrier invoice, the six ways it goes wrong, how to catch each one, how long you have to object, and what the whole exercise is realistically worth.
Carrier tariffs, surcharge names, regulatory pass-through rates and dispute deadlines all change, and they differ by carrier and by country. Everything here is a method, not a rate table — verify the specifics against your own agreement and your own invoice. The legal note later in this guide is general information, not legal advice. This guide sits downstream of two others: how to negotiate a shipping agreement covers getting the right rate, and carrier performance metrics covers what to do with the cost data once it's trustworthy. This one is about the gap between them: whether the rate you negotiated is the rate you're actually being charged.
Why Shipping Is the One Cost You Never Verify
Look at how every other cost line in an e-commerce business reaches you.
Product cost arrives on a purchase invoice you can check against a purchase order you wrote. Ad spend sits in a dashboard you control, updated hourly, priced by an auction you can inspect. Payment processing is a published percentage applied to an amount you already know. Rent is a fixed number in a contract. In each case you knew the price before you committed, and you can reconstruct the charge yourself.
Shipping is different in four ways at once, and it's the combination that makes it invisible.
It's priced after the fact. You hand over a parcel and find out what it cost two to six weeks later. Every other significant cost in the business is known at the moment of commitment.
It's priced by the counterparty, using measurements you can't see. The carrier weighs and measures the parcel at its own transfer center, on its own equipment, and bills the result. You weren't there. You have your declared figure; they have theirs; theirs is the one on the invoice.
It arrives aggregated. One monthly total, or a per-line file with hundreds of rows and no order numbers in it. The connection back to the order that caused each charge — the only level at which "is this right?" is answerable — has to be rebuilt by you.
And most of it is correct. This is the property that really defends the invoice from scrutiny. If a third of the lines were wrong you'd notice in a minute. When the overwhelming majority are right, the wrong ones hide inside a total that looks entirely reasonable, and the only way to find them is to check all of them.
Put those together and you get a cost line that behaves like a utility bill: it arrives, it's roughly the size you expected, and there's no obvious mechanism for questioning it. At 600 parcels a month, paying that bill unchecked costs you an amount you can absorb without noticing. That's precisely why it scales so badly: the same unchecked habit at five times the volume is a number you would never accept from any other supplier in the business.
What's Actually on a Carrier Invoice
Before you can spot a wrong charge you need to know what a right one looks like. Carrier invoices vary, but the structure is consistent enough to describe.
The base tariff
Almost universally billed on whichever is greater: actual weight or volumetric weight. In Turkey volumetric weight is expressed as desi and calculated as (length × width × height) ÷ 3000 with dimensions in centimeters; elsewhere the same idea appears as dimensional weight with a different divisor. A 2 kg parcel occupying 8 desi of space is billed as 8.
The base tariff also depends on the route — same city, same region, or cross-country — and on the service level. This is the part of the invoice everyone thinks about, and it's rarely where the variance lives.
Fuel and security contributions
A percentage added on top of the base tariff, revised on the carrier's own schedule. Because it's a percentage of the base, any error in the base silently multiplies through it. Worth knowing: American carriers have moved this lever repeatedly and openly, with UPS raising its fuel surcharge in March 2026 for the eleventh time in under thirty months.
Regulatory pass-throughs
In Turkey, postal and courier operators owe a universal postal service contribution of 2% of net postal-service revenue under Article 15 of Law No. 6475, plus an administrative fee of 0.35% under the postal sector authorization regulation. Most carriers pass this through as a single line of roughly 2.35%, often labeled posta ek hizmet bedeli. It's legitimate and you can't negotiate it away. What you can do is check that it's calculated on the right base, and know that where it's itemized on your invoice it enters the VAT base.
Additional services — where the variance actually lives
This is the long tail, and it's the part of the invoice worth your attention:
- Insurance or declared-value fees
- Pickup from your address, when your agreement prices it separately
- SMS or phone notification fees
- Cash-on-delivery commission, usually a percentage of the collected amount
- Address changes requested by the recipient after dispatch
- Out-of-delivery-area or remote-destination fees
- Heavy or oversized parcel handling, which in Turkey commonly starts around 100 desi
- Package splitting, floor delivery, extra personnel, and other handling services
Two things make this section dangerous. First, each item is small enough individually to look like a rounding detail. Second, an additional service that gets applied by default rather than by request produces a charge on every parcel, forever, and its size never triggers anyone's attention. The same dynamic shows up in the American market with a different vocabulary: residential delivery surcharges rose roughly 8% into the mid-$6 range for 2026, and UPS's large package surcharge for commercial zones 5–6 went from $250 to $273. Nothing about those numbers is unaffordable. Everything about them is easy not to notice.
Returns, redeliveries and VAT
Return shipments are generally billed as shipments, at the current tariff. So is a second delivery attempt in many agreements. A parcel that goes out, fails, comes back and goes out again can therefore generate three charges on one order — an important point when you're calculating true cost per delivered order rather than cost per label.
The Six Ways a Carrier Invoice Goes Wrong
These are the error classes worth building checks for, roughly in order of how much money they typically move.
1. Re-measurement differences
The carrier re-weighs and re-measures your parcel and bills the corrected figure, plus in some agreements a correction fee. This is the single largest source of unexpected charges in the Turkish market, and it's usually not a carrier error at all — it's your declared figure being wrong. It matters enormously anyway, because it's the class that repeats. A product whose stored weight says 4 desi but which actually boxes at 6 will be re-measured on every single order, indefinitely, and the difference appears on a later invoice with no link back to the product that caused it.
How to catch it: compare invoiced weight and volumetric weight against the figures on your own shipping label record, per shipment. Then group the differences by product, not by shipment. One product with a wrong stored dimension will produce dozens of rows, and fixing the catalog entry once ends all of them. The measurement method is in the packaging optimization guide.
2. The agreed rate card isn't the applied rate card
Discounts don't always get loaded. Rate revisions occasionally get applied before their effective date. A new service you started using may be priced at list rather than at your negotiated rate, because nobody added it to the agreement. And if you ship with more than one account — a marketplace's contracted carrier alongside your own agreement, say — it's entirely possible for the wrong account's tariff to be applied to a batch of parcels.
How to catch it: take twenty shipments spread across weight bands and routes, and recompute each one by hand from your signed agreement. Twenty is enough. If all twenty match, the rate card is loaded correctly and you can stop checking this monthly and move to quarterly. If two don't match, you have a systematic problem worth several months of invoices.
3. Billed but never shipped
A label gets created, the order is cancelled, and the parcel never leaves the building — but the barcode exists in the carrier's system and, depending on how their billing works, may be charged anyway. The same happens with test labels, reprints after a printer jam, and parcels consolidated at the last minute.
How to catch it: for every invoiced tracking number, check whether a first scan event exists. No pickup scan and a charge on the invoice is the cleanest dispute in the whole audit — there's nothing to argue about, because the parcel demonstrably never entered the network.
Fix it at source: every reprint or cancellation should void the original barcode, not just abandon it.
4. Duplicates
The same tracking number appearing twice on one invoice, or across two consecutive invoices at a period boundary. Also: one order that was split into two barcodes at packing and billed twice, when your agreement treats it as a single multi-piece shipment.
How to catch it: a duplicate check on tracking numbers within the invoice, and across the previous two invoices. This takes one formula and finds money more often than it should.
5. Additional services that weren't requested, or didn't happen
An SMS notification fee on parcels where no SMS was sent. Pickup charged on days you dropped off at the branch yourself. Cash-on-delivery commission on an order that was paid online. Insurance applied by default when your agreement makes it optional.
How to catch it: for each additional service on the invoice, count how many parcels carry it and compare that count to how many should carry it. If your cash-on-delivery share is 30% of orders but COD commission appears on 34% of lines, that gap is a specific set of orders you can list and query.
6. Returns and failed deliveries billed as fresh shipments
Sometimes correct, sometimes not — it depends entirely on your agreement. What's always worth checking is the arithmetic on a parcel that never reached the customer: outbound charge, return charge, and occasionally a redelivery charge in between, all on an order that generated no revenue. Whether each of those is contractually payable is a question your agreement answers; whether you know it happened is a question only an audit answers.
How to catch it: cross-reference invoiced charges against your failed delivery and return records. Count orders carrying more than one shipping charge, and check that total against your own failure rate.
And the seventh thing, which is not an error
A large share of what an audit surfaces will be charges that are entirely correct and entirely avoidable. A remote-destination fee on a genuinely remote destination. A re-measurement on a parcel you genuinely under-declared. An address correction on an address that was genuinely incomplete.
Keep these separate from the disputes, in their own list. They aren't a billing conversation; they're a packaging, catalog or address quality project. Mixing the two is the most common way a first audit goes wrong: you send the rep a list of thirty items, twenty of which are correct charges, and you lose credibility on the ten that weren't.
The Number That Makes an Audit Possible
Every check above compares the invoice to something. That something is a per-shipment expected-cost record, and it has to be captured at label time, because most of it stops being knowable afterwards.
At minimum, one row per shipment with:
- Tracking number and dispatch date
- Order number — the field that makes the whole thing joinable back to revenue
- Carrier and service level
- Declared weight and declared volumetric weight
- Destination, at whatever granularity your tariff is priced on
- Additional services you actually requested
- Expected charge, computed from your rate card at the moment the label was created
That last field is the whole ballgame, and it's the one nobody has. It can only be computed when the label is made, because that's the only moment when your rate card, the parcel's declared dimensions, the destination and the chosen service are all in the same place at the same time. A week later you can reconstruct it with effort. A month later, across 600 parcels, you won't.
This is worth being blunt about, because it reframes the problem. The reason stores don't audit carrier invoices isn't discipline. It's that auditing requires a data layer that neither the carrier nor a typical store platform produces. The carrier has no reason to hand you the expected number — it's the number you'd use to argue with them. Store platforms record what you charged the customer for shipping, which is a pricing decision that has almost nothing to do with what the parcel cost. Between those two systems, the comparison simply has no home.
Which is why this is the part of shipping software that earns its keep quietly. A platform that compares rates across carriers to pick one has, by definition, computed the expected cost of that parcel under each option — and can store it against the shipment. Everything else in this guide is a spreadsheet exercise once that field exists, and impossible until it does.
The Monthly Reconciliation, in About Thirty Minutes
Once the expected-cost record exists, this is a routine, not a project.
Get the invoice as data, not as a PDF. Every carrier can provide a per-shipment detail file; ask your rep for the machine-readable version and ask for it to arrive by email every period. If you're extracting numbers from a PDF by hand, you will do this once and never again, which means you will not do it at all.
Join on tracking number. One table: expected charge, invoiced charge, difference, and difference as a percentage. Everything below is a sort of that table.
Sort by absolute difference, descending. Read down until the amounts stop mattering to you. This is where the large single errors live — a misclassified heavy parcel, a wrong destination zone.
Sort by percentage difference, descending. This is where the systematic errors live. A charge that's 40% over expectation on a small parcel is a rounding error in absolute terms and a broken rate band in reality. The pattern matters more than the amount.
List invoiced tracking numbers with no first scan. Straight to the dispute list.
Run the duplicate check. Within the invoice and against the previous two.
Then split what you found into three lists. Disputes (wrong charges, with evidence). Fixes (correct charges with a cause you own — desi, address, packaging). Accepted (correct charges you can't avoid). Only the first list goes to the carrier.
Set a materiality threshold before you start, not after — a per-line floor below which you note the pattern but don't dispute the instance. Without a threshold the audit expands until it isn't worth doing, and then you stop doing it.
The output that matters most from month one isn't the refund. It's the recurring list: every error that appears again in month two is an annuity running against you, and it's worth more to kill it than to recover it.
How Long You Have: Shorter Than You Think
Here is the reason reconciliation has to be monthly rather than annual.
In Turkey, Article 21(2) of the Turkish Commercial Code provides that a merchant who receives an invoice and does not object to its content within eight days of receipt is deemed to have accepted that content. Legal commentary is consistent that this is a rebuttable presumption rather than an absolute bar, and that it concerns the invoice's content rather than the existence of the underlying transaction: object in time and the burden of showing that the invoice matches the agreement stays with the party that issued it. Miss the window and that burden shifts to you.
Two practical consequences follow, and neither requires a lawyer to act on.
First, eight days is a routine, not a project. An audit you run in March over January's invoices may still recover money as a commercial matter, but you'll be arguing from a materially weaker position than if you'd written on day six. The reconciliation therefore has to be attached to the invoice's arrival, not to a quarter-end.
Second, no prescribed form is required for the objection, but provability is everything. Use a channel that produces a record and that your agreement recognizes — a registered electronic delivery, a notarized notice, registered mail, or at minimum a dated email to the contact named in your agreement. State which lines you dispute, which tracking numbers they concern, and why. A general "the invoice is high" is not an objection to content.
Outside Turkey the mechanism is usually contractual rather than statutory, and often tighter than people expect: billing dispute windows in major carrier contracts commonly run around thirty days, and where a carrier offers a service guarantee, refund claims for late delivery can be as short as fifteen days. Read your own agreement for the number.
One thing worth stating plainly for Turkish sellers: domestic carriers here run formal claims procedures for loss and damage, but nothing resembling an automatic refund of the shipping fee when a parcel simply arrives late. A large part of the American parcel-audit industry exists to reclaim exactly those service-guarantee refunds, which is why imported advice on this topic over-indexes on lateness. In Turkey the recoverable money is almost entirely in measurement, tariff application and additional services. Lateness still costs you — it just costs you in customer behavior rather than in refundable fees.
What the Exercise Is Actually Worth
Be skeptical of numbers from firms that sell auditing. Published claims from parcel-audit vendors range from "up to 5% of major carrier invoices contain billing mistakes" to "up to 20% of shipping invoices contain errors," with recoverable amounts put at 1–5% of annual parcel spend. Those are marketing figures from interested parties, and the spread between 5% and 20% tells you how soft the underlying measurement is. Treat the direction as informative and the magnitude as unverified.
The version you can actually trust is the one you compute yourself, and the arithmetic is trivial. Take your monthly shipping spend and multiply by 1% — the low end of even the vendors' range. If that number is larger than thirty minutes of your time, the routine pays. For most stores in the 500–5,000 parcels a month range, it is, by a wide margin.
But the refund is the smallest of three returns, and the other two are why this is worth doing even in a month where you find nothing.
You get your real rate card. Not the one you signed — the one you're actually paying, all-in, per delivered parcel, per carrier. That number is the only credible input to your next rate negotiation, and it changes the conversation completely. "Your rates are too high" invites a discount conversation. "Additional services are running at 14% of my base spend with you and 6% with your competitor, on a comparable parcel mix" invites a structural one.
You find out which errors are yours. The re-measurement differences, the address corrections, the remote-destination fees — these are your own data quality arriving as a bill, and they're the cheapest costs in the entire operation to eliminate, because eliminating them requires no negotiation with anyone. You just have to know they exist.
And you get the reason rates move without anyone telling you. Headline rate increases are announced; the real increase usually isn't. For 2026 both UPS and FedEx announced average general rate increases of 5.9% — the third consecutive year at that headline figure — while analysts covering the changes put the effective increase for many shippers at 8–12%, because surcharges and the dimensional criteria that trigger them rose faster than the headline. A store that only tracks the announced percentage will conclude its costs went up 5.9% and be wrong by half. A store that reconciles knows its own number.
Why Now
Three reasons, in ascending order of urgency.
Rate changes have already happened this year and will happen again. Every revision resets your baseline, and a baseline you don't verify becomes permanent by default. The invoice after a rate change is the single most valuable one to audit line by line, because it's the one where a misapplied change is easiest to prove and hasn't yet had months to compound.
The eight-day clock only runs forwards. Every invoice you let pass unexamined is a period that closes. This isn't work that becomes more valuable if you postpone it; it's work whose value decays on a schedule.
And your invoice is about to get much bigger. From November, volume multiplies — and so does every per-parcel error inside it, along with the re-measurement corrections that land in January when the season's margin is already spent. Building the reconciliation habit now, in a quiet month with 400 comparable lines, is straightforward. Building it in December against 1,500 lines is not. That timing argument is part of a larger one in the peak season preparation guide.
What Not to Do
The restraint list, because a badly run audit is worse than none.
Don't dispute everything you find. A list where a third of the items are actually correct charges teaches your rep to discount the whole list, including the items that were right. Filter before you send.
Don't dispute below your own threshold. Chasing a small per-line amount across forty lines costs more attention than it returns, and it crowds out the systematic finding sitting underneath it. Note the pattern, fix the cause, let the instances go.
Don't withhold payment on the whole invoice over a disputed line. Late-payment interest, a suspended account and a damaged relationship all cost more than the line. Object in writing, on time, and pay according to your agreement while the objection is open.
Don't build software before you've done one month by hand. The first manual reconciliation is what teaches you which checks matter for your parcel mix and your carriers. Automating a check you haven't validated just produces confident nonsense faster.
Don't switch carriers over one bad invoice. One month is noise. Three months of the same pattern, quantified per carrier, is a decision — and it belongs alongside on-time and damage data in a proper carrier scorecard, not on its own.
Don't confuse cheapest with cheapest-delivered. An audit makes carrier costs comparable for the first time, and the temptation is to route everything to the lowest number. Cost per delivered order — including the failures, returns and redeliveries — is the number that decides, and the multi-carrier logic for splitting volume is more nuanced than one column.
Where a Shipping Platform Fits
Everything above needs one thing the carrier will never give you and your store platform doesn't produce: the expected cost of each parcel, recorded when the label was made. That's the specific gap Shipink sits in.
- Rates are compared across carriers at label time, across 15+ carriers, using your own agreements, Shipink's pre-negotiated agreements, or both — which means the expected cost of every parcel is computed and known before it ships.
- Weight and volumetric weight come from your product data, not from someone's estimate at the packing bench, which is where most re-measurement differences begin.
- Every shipment keeps its record — carrier, service, declared figures, destination, chosen rate — tied to the order it came from, so the join back to revenue exists rather than needing reconstruction.
- Reporting is per carrier, including cost and volumetric-weight analysis, so variance is comparable across carriers on one screen instead of across two portals with different exports.
- Return and damage rates are tracked, which is the other half of the arithmetic on parcels that generated a charge without generating revenue.
- Automation removes the manual re-entry between store, label and tracking number — and manual re-entry is where declared figures drift away from physical reality in the first place.
Being straight about the boundary: Shipink is not a carrier-invoice ingestion service. It doesn't parse your carrier's billing file or file disputes for you. What it does is produce and keep the expected-cost side of the comparison, which is the side that doesn't exist today and without which no audit is possible. The reconciliation itself stays a join you run — thirty minutes, monthly, against a file your rep emails you.
The Reconciliation Checklist
Before the next invoice arrives
- Ask each carrier rep for the per-shipment detail file in a machine-readable format, delivered every period
- Find the clause in each agreement that sets the billing dispute window and the notification channel
- Confirm you have a per-shipment record with declared weight, declared volumetric weight, destination and expected charge
- Set a materiality threshold per line, and write it down
First reconciliation
- Join invoice to expected cost on tracking number; add difference and difference percentage
- Sort by absolute difference and read down until the amounts stop mattering
- Sort by percentage difference to expose broken rate bands
- Recompute twenty shipments by hand from the signed agreement
- List invoiced tracking numbers with no first scan event
- Run a duplicate check within the invoice and against the previous two
- Count each additional service and compare against how many parcels should carry it
Acting on it
- Split findings into disputes, fixes you own, and accepted charges
- Send only the disputes, with tracking numbers and the contractual basis, inside the window and through a provable channel
- Pay the undisputed portion on time
- Group re-measurement differences by product and correct the catalog entries
Making it a habit
- Put the reconciliation in the calendar on the invoice's arrival date, not at quarter-end
- Keep a recurring-errors list and check month two against month one
- Recompute your true cost per delivered order per carrier each month
- Take the twelve-month all-in figure into your next rate negotiation
Where This Leaves You
The carrier invoice isn't a receipt for a transaction you both witnessed. It's one party's claim about parcels only they measured, sent weeks later, aggregated past the point where the claim can be checked by eye. Treating it as a fact is a choice — usually an unconscious one, made because the alternative appears to require more effort than it's worth.
It doesn't. It requires one field, captured at label time, that turns 431 unauditable lines into 431 comparisons. After that the work is a sort, and the money that comes back is the smallest part of what you get: you end up knowing what delivery actually costs you, per carrier, per parcel, all-in. That number is the foundation of every other shipping decision you'll make — which carrier gets which parcel, what free-shipping threshold you can afford, what you can promise at checkout, and what you can credibly ask for the next time a rate card lands on your desk.
If you want that field to exist without building it yourself, that's what Shipink does: compare rates and create labels across 15+ carriers from one screen, with the expected cost of every parcel recorded against the order it came from. See the plans, or talk to us about your carrier mix and parcel profile.