Skip to main content
MaxInvent

Pricing & finance · 2026

Pricing & finance

How to audit courier invoices against your own shipments

One method for every carrier, rather than a separate ritual per account.

11 min readIntermediateUpdated 23 August 2026

TL;DR

  • Match on the tracking number first; fall back to reference, then to date and postcode.
  • Check four things per line: was it ours, was it that service, was the weight right, was the surcharge valid.
  • Group unmatched lines by pattern before investigating them individually.
  • Dispute inside the carrier's window — it is usually short and it is strict.
  • Allocate the settled charge back to the order so profit reporting is true.

Why this matters

Courier invoices arrive as spreadsheets with thousands of lines, in a different column layout per carrier, and they are usually paid in full because checking them by hand is slower than the money involved seems to justify. Surcharges, re-weighs and phantom parcels then accumulate quietly, and the cost lands in a general carriage account where no product or channel ever sees it.

Goal of this playbook

By the end of this guide you will have a repeatable monthly audit that matches invoice lines to shipments, identifies the disputable ones, and allocates the settled cost back to the orders that caused it.

Before you start

You’ll need:

  • The invoice file from each carrier, in CSV or XLSX
  • Your own shipment records with tracking numbers and dispatch dates
  • The current rate card and surcharge schedule for each account
  • Knowledge of each carrier's dispute window and process
  • A decision on who owns disputes and who signs off write-offs

The playbook

Get the file in a shape you can use every month

First time: 30 min per carrier

Import the invoice and map its columns once — tracking number, service, date, weight, zone, base charge, each surcharge, total. Save the mapping against the carrier so next month is an upload rather than a project.

  • Carrier column names change without notice; a saved mapping that fails loudly is better than one that guesses.
  • Keep the original file. A dispute is much easier to argue from the carrier's own bytes.
  • If the carrier emails invoices, collect them to a dedicated mailbox so the audit does not depend on someone forwarding one.

Pitfall

Reformatting the file by hand each month is the reason most audits stop after two months.

Match on tracking, then fall back deliberately

Automated, minutes

Match each invoice line to a shipment on the tracking number. Where that fails, fall back to your consignment reference, then to a narrow date-plus-postcode window — and label which method matched each line, because a weak match deserves less trust.

  • Expect a high match rate on tracking. A low rate usually means a format difference, not thousands of mystery parcels.
  • Never auto-accept a date-and-postcode match on a high-value line; review those individually.

Check four things on every matched line

Automated, with exceptions reviewed

Was this parcel ours at all? Was it the service we selected? Is the billed weight consistent with what we recorded? Is each surcharge one the account's schedule permits?

  • Service upgrades applied by the carrier are common and often legitimate — but they should be visible, not silent.
  • Compare billed weight against your recorded weight and flag differences beyond a tolerance you set, rather than every gram.
  • Check surcharge codes against the schedule; an unrecognised code is a question, not a cost.

Pitfall

Chasing every penny difference costs more than it recovers. Set a materiality threshold and stick to it, then review the sub-threshold lines in aggregate for patterns.

Group the unmatched lines before investigating them

20-40 min

Unmatched lines almost always cluster: one depot, one date, one service, one collection. Sort by those dimensions and the cause usually names itself — a missing manifest, a returns label billed to you, a duplicate scan.

  • Returns labels you issued are a legitimate charge and a common surprise; recognise them rather than disputing them.
  • Duplicate tracking numbers across two invoice periods are worth checking specifically.

Dispute inside the window, with evidence attached

Carrier-dependent

Raise disputes as one batch per carrier per invoice, with the tracking number, the charge, the reason and your own record attached. Note the carrier's dispute deadline, because a valid dispute raised late is simply a cost.

  • Track each dispute to a resolution rather than a submission — unresolved disputes quietly become accepted charges.
  • Record the outcome by reason code so you learn which disputes are worth raising.
  • Where a re-weigh is upheld, fix the recorded dimensions for that product rather than disputing it again next month.

Pitfall

Withholding payment on a whole invoice over a small disputed amount usually escalates faster than it resolves. Dispute the lines, pay the rest.

Allocate the settled cost back to the order

Automated

Once a line is agreed, push the actual charge — base plus surcharges — onto the order that caused it. This is the step that turns an audit into better decisions, because it is what makes channel and product profit true.

  • Allocate to the parcel, then to the order; a multi-parcel order needs the parcels summed.
  • Keep the invoiced charge separate from the quoted charge so you can see the gap by channel.
  • Surcharges belong on the order that triggered them, not spread across the month.

Close the loop on the causes

Monthly, 30 min

Review the month's surcharge reasons and act on the top two. Remote-area charges may be a pricing question; re-weighs are a data question; address corrections are a checkout question. The audit's value compounds only if something changes.

  • Feed corrected weights and dimensions back into the product records.
  • If one channel generates most of the surcharges, that belongs in its margin, not in a shared carriage account.

How to know it worked

After following every step, you should be able to verify these outcomes:

  • Each carrier has a saved column mapping and last month's import took minutes
  • Match rate is reported per invoice, with the match method labelled per line
  • Exceptions above the materiality threshold are individually reviewed
  • Disputes are raised inside the window and tracked to resolution
  • Settled charges appear against the originating orders in profit reporting

Frequently asked questions

Why one guide instead of one per carrier?+

Because the method does not change. What changes per carrier is the column layout, the surcharge names and the dispute window — three things you record once per account. A separate page per carrier would be the same advice with the nouns swapped, which helps nobody deciding how to do the work.

How much do audits typically recover?+

We deliberately do not publish a percentage, because any figure we quoted would be someone else's operation. Measure it yourself for two months: total disputed, total upheld, hours spent. That gives you a number you can defend, which a borrowed benchmark never does.

What are the most common disputable charges?+

Re-weighs and re-measures where your recorded dimensions were right, surcharges applied under a code your schedule does not include, parcels billed twice, services billed at a higher tier than selected, and parcels that were never yours. Address-correction and remote-area charges are usually valid and are better prevented than disputed.

Should we use a freight audit company instead?+

It is a legitimate option, usually priced as a share of recoveries, and it suits operations with high parcel volume and no appetite for the process. The trade-off is that the recovery is the product: you get money back but not necessarily the corrected weights, the channel-level cost visibility, or the checkout fix that stops the charge recurring.

How long should we keep the invoice files?+

Keep them for as long as your record-retention policy requires for purchase records, and at minimum long enough to cover the carrier's dispute and re-invoicing windows plus a full annual comparison. Being able to compare this September against last September is how rate creep gets noticed.

Does this work for pallet and freight carriers too?+

The matching step is easier because volumes are lower, and the checking step is harder because the charge structure is richer — tail lift, timed delivery, waiting time, redelivery. The same four questions apply; expect to review a larger share of lines individually.

Ready to run this playbook in MaxInvent?

MaxInvent is built for UK multi-channel commerce operations. One stock and order model connects supported channels, while eligible Temu sellers and orders can use Temu shipment creation and label retrieval in dispatch.

Playbooks are educational content. For tax, legal or regulatory questions (especially around VAT), always consult a qualified adviser.

Chat
MaxInvent
Talk to a real human.
UK-based team · typically reply within one business day.
Prefer a form?Book a demo·Contact form