GoatLabels GoatLabels
The charge that arrives after the parcel does.

Carrier billing adjustments, explained


One entry per parcel, not one mystery total.

An adjustment is a post-shipment correction: the carrier reweighed or remeasured the parcel and bills the difference. GoatLabels posts each one as its own ledger entry against your wallet, so you can see what changed and dispute it instead of finding an unexplained charge weeks later.

Four carriers, four correction regimes

USPS, UPS, FedEx, and DHL all re-rate parcels after movement, but they detect, bill, and let you dispute it on completely different terms.

UPSFedExDHLUSPS all four
Re-weighed in-line By the sorter, not a person.
Re-measured too Volume can outrank mass.
Disputable Per parcel, with evidence.

Every correction is its own ledger line

Each adjustment posts against the shipment that caused it with the wallet delta attached, so you can see what changed and argue with the right parcel.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Named, not netted One entry per correction.
Webhook on create Carries the wallet delta.
Wallet first Card on file covers a shortfall.

The four things that actually trigger an adjustment

An adjustment is not a fee. It is a re-rate: the carrier has decided that the shipment it carried was not the shipment your label described, and it is charging the difference between the two. That framing matters, because it tells you what a dispute has to argue. You are not asking for a discount. You are asserting that the parcel the carrier measured is not the parcel you handed over — or that its measurement of it was wrong.

Four things trigger the re-rate, and all four are detected after the parcel has left you. Why a box gets measured the way it does, what a divisor is, and how to keep your own numbers honest belongs on package size and weight limits; which surcharges exist and what triggers them belongs on shipping surcharges explained. This page is about what happens after — how each of the four is caught, how it reaches your account, and what beats it.

Trigger What the carrier is correcting Where it gets detected
Reweigh The sorter's scale disagrees with the weight you declared, so the shipment is re-rated at the sorter's figure. Automatically, in-line, on essentially every parcel that passes a modern sortation belt.
Dimensional reclassification The parcel is remeasured and the billable weight changes because volume, not mass, sets the price for that box. By the same in-line scanner array that weighs it, using the carrier's own divisor.
Service and accessorial reclassification The carrier decides the shipment was a different thing than the label said — a delivery type or handling category applied after the fact. At delivery or at address resolution, once the carrier's own data on the destination overrides yours.
Address correction The carrier repaired an incomplete or wrong destination in order to deliver it, and bills for having done so. In transit, by the delivering station, and usually visible in the tracking history before the charge appears.

How each carrier detects, bills, and lets you dispute it

Detection is the part everyone gets wrong. Nobody opens your box and nobody second-guesses you personally. Parcels cross an instrumented belt that weighs and dimensions them in motion, thousands per hour, and the captured figures are compared against the declared ones automatically. If the difference exceeds that carrier's tolerance, a correction record is generated without a human ever being involved. This is why adjustments cluster: one box template that is consistently mis-declared produces one adjustment per shipment, on every parcel that used it, and they all arrive together.

Billing is where the carriers diverge. Some finalise charges on a cycle and fold corrections into the next one, so the adjustment reads as a line on an invoice you were expecting. Others post them individually against the shipment. Either way, the charge is downstream of movement, which is why a parcel your buyer received two weeks ago can still change price. The dispute route diverges too: each carrier runs its own claims-style review with its own filing window and its own idea of what evidence counts, and none of them will re-open a shipment on a general complaint about pricing.

Carrier policy reference — compiled 2026-08-04. Dispute windows, weight and dimension tolerances, and the fee names attached to each correction are deliberately not printed here. Every carrier revises them on its own schedule, usually alongside an annual rate announcement, and the third-party articles that quote them are frequently a year behind. The governing documents are the USPS Domestic Mail Manual and the current USPS Notice 123 price list; the UPS Tariff / Terms and Conditions of Service for your origin country; the FedEx Service Guide in force on your ship date; and the DHL Express Terms and Conditions of Carriage. Check the one that covers your shipment before you file. Review cadence: re-checked at each carrier's annual rate announcement by the named marketing owner recorded with this page.

The evidence that wins a dispute

A dispute is decided on one question: whose measurement of this specific parcel is more credible? The carrier's answer was produced by calibrated equipment at the moment of handling and is timestamped against the tracking number. To beat that you need something recorded at pack time — a scale reading of the packed parcel, the outside dimensions of the box you actually used, and ideally a photograph in which the label or tracking number is legible next to the scale display. Evidence assembled after the adjustment lands is the weakest category there is, because it proves what a box like that weighs rather than what that box weighed.

Three habits make that evidence cheap to have. Weigh the parcel packed and sealed, not the contents. Use a small number of box templates with saved dimensions rather than whatever carton is nearest, so the declared figures are a selection instead of a guess. And file against the tracking number while the pack-time record is still findable — a dispute is a factual argument about one parcel, and it decays fast. If the correction is large and the label has not moved at all, you are in a different situation entirely: voiding an unused label and rebuying it credits your balance rather than starting a dispute you cannot win.

Reading an adjustment on your own ledger

The reason most sellers never dispute anything is that they cannot tell what happened. A platform that nets corrections into a single monthly figure has destroyed the only thing a dispute needs: the link between one charge and one parcel. GoatLabels records each adjustment as its own object attached to the shipment that caused it, carrying the wallet delta, so a correction is always answerable in the form this parcel, this much, this date. They are readable through the REST API and pushed as a shipment.adjustment.created webhook the moment one posts, which means the pattern shows up as data instead of as a feeling that shipping got more expensive this quarter.

One thing to be exact about, because it is the question everyone asks second: the prepaid wallet is the first source of funds for an adjustment, not a ceiling on what a carrier can bill. If a correction exceeds the balance available, the shortfall is charged to the payment method on file. That is the honest version, and it is why the ledger matters more than the balance — the amount is going to be collected either way, so the useful thing is knowing which parcel produced it and whether the carrier's measurement can be contested. Everything else on this site is priced so that nothing else moves without you: quotes are one all-in number that leaves your balance exactly as shown, and there is no monthly minimum to print, so the adjustment ledger is the only place your costs can change after the fact.

Where an adjustment comes from

Declared at pack time. Re-measured in transit.

An adjustment is not a fee somebody decided to add. It is the gap between the parcel your label described and the parcel a sorter measured, priced at the carrier's own figure. So the whole thing is decided in three places: what you declare, what the belt captures, and whether the correction reaches you attached to the shipment that produced it. Get the first one right and the third one readable, and the middle one stops being a mystery.

1
The parcel, declared once
Weight and dimensions, as you send them
packing_bench

1 hoodie + 1 tee, 10×7×4 box, 1.4 lb on the scale taped shut — ship to Jordan L., Brooklyn NY

Shopify
Saved box template #3
TikTok Shop
Saved box template #3
What the label declares
Weight
1.4 lb, taped
Dimensions
10×7×4 in
Address type
residential
Service
Ground Advantage
Drop the screenshot or paste the order

A saved box template is the cheapest anti-adjustment habit there is: the declared figures become a selection you made once rather than a guess you make per parcel.

2 Billy AI

Two figures decide it. Billy fills both.

Billy AI
  • Reads a pasted order, a screenshot, or a spoken description into the draft
  • Carries the saved box dimensions through instead of leaving them to be retyped
  • Validates the address and classifies it residential or commercial before you pay
  • Included on every plan, so getting the declaration right costs nothing extra
Declared. Validated. Ready to buy.
3
Bought, then corrected in the open
One entry per correction, on the shipment
Paid from the prepaid wallet
Wallet first, card on file behind it
$7.40
USPS
Adjustment posts to this shipment
reweigh · wallet delta attached
−$3.10

If a carrier re-rates the parcel afterwards, the difference lands as its own record against this tracking number with the wallet delta attached, and fires shipment.adjustment.created on a webhook — so it arrives as data rather than as a balance you noticed was smaller.

Every storefront. One adjustment ledger.

Corrections land in one place, whatever the order came from.

Shopify, Etsy, WooCommerce, and TikTok Shop sync into the To Ship queue, so every parcel is declared the same way and every post-shipment correction posts back against the same shipment record — instead of arriving spread across separate carrier invoices you reconcile by hand. Paste an Instagram or Facebook DM and Billy builds the label straight from the message, with the same declaration and the same ledger behind it.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Amazon logo Amazon
eBay logo eBay
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
What a post-shipment charge should look like

A correction you can read
is a correction you can fight.

Adjustments are a carrier reality on every platform. The difference is whether they arrive attached to a parcel with a delta you can check, or as a smaller number at the end of the month.

Wallet first,
card on file behind it

An adjustment draws on the prepaid balance you funded with card, Apple Pay, Google Pay, ACH, or crypto. If the correction is larger than the balance available, the shortfall goes to the payment method on file — the wallet is the first source of funds, not a cap on what a carrier can bill.

Wallet balance
$1,247.36 USD
AI

Declare it right
while the box is in your hand

Billy drafts the shipment from a pasted order, a screenshot, or a spoken description, and the address is validated with a residential or commercial classification badge before you pay. The two figures a sorter checks are the two figures worth getting right at pack time.

Billy LIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

One all-in quote,
and one named exception

The number you see at quote is the number that leaves your balance. The single thing that can change it afterwards is a carrier re-rate, and that arrives as its own entry against the shipment rather than as an unexplained difference in a monthly total.

Shipment summary
UPS Ground $12.49
Insurance $0.75
Fuel surcharge $0.32
Total $13.56

Four carriers quoted,
four correction regimes

USPS, UPS, FedEx, and DHL are priced against the same parcel every time, and each one re-rates on its own tolerances and its own cycle. Seeing all four at quote time is also how you notice when one of them consistently re-rates the same box template you keep using.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties & taxes paid

Adjustments in the API,
and on a webhook

Every adjustment is a retrievable record on the shipment, and shipment.adjustment.created fires with the wallet delta attached. Signed webhooks, real idempotency keys, unlimited calls on every plan — so reconciliation is a job that runs, not a spreadsheet someone maintains.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue with an adjustment attached to its shipment
Billy drafting a label with the packed weight and taped dimensions on mobile

Adjustment posted

CL-1038 · reweigh · wallet delta attached

The evidence is made at the packing table

Weigh it, measure it, photograph it — from the phone.

A dispute is decided on whose measurement of one specific parcel is more credible, and the carrier's was produced by calibrated equipment at the moment of handling. The only thing that beats it is a record made at pack time, which means it has to be made on the device already in your hand, next to the tape.

Declare the packed weight and the taped dimensions on the phone, before the label exists.
Reuse a saved box template so the figures are a selection you made once, not a guess per parcel.
Snap the scale display with the tracking number in frame — pack-time evidence, timestamped.
Every adjustment shows up in the same queue, attached to the shipment that caused it.
Hands full of tape? Hold the mic, say the address and the box, and Billy drafts it.
Billy is included, not a paid tier

Ask what changed on a parcel without opening a spreadsheet.

An adjustment is only arguable if you can find it. Ask Billy which shipment a correction landed on, what the carrier said it was correcting, and what it did to the balance — and it reads that shipment's history back, adjustment records included. It remembers repeat buyers and saved box sizes too, which is the other half of not getting re-rated in the first place. This is the real product, not a render.

goatlabels.io/dashboard/shipments — Billy
Billy reading a shipment's history back, adjustment record included, over the purchased labels list

Listening

"What changed on the Brooklyn parcel?"

Reweigh adjustment

CL-1039 · posted against this shipment

Speaks plain English · finds the shipment a correction posted against · remembers customers and saved boxes · included on every plan, never a pricier tier.

Quoted, then re-rated

The quote is the debit. A correction is its own line.

Every carrier is priced against the same declared parcel, and the column you buy is the amount that leaves your balance. A carrier that later re-rates that parcel posts the difference against this tracking number as its own record, never as an unexplained figure in a monthly total. Figures are illustrative.

Domestic ground Declared 1.4 lb 10×7×4 in
Bought at this rate
USPS

USPS

Ground Advantage

2–5 days

$7.40

$1.20 of Premium insurance included

quoted price · wallet debit

UPS

UPS

Ground

3–4 days

$10.80

$1.20 of Premium insurance included

quoted price · wallet debit

FedEx

FedEx

Home Delivery

2–4 days

$11.40

$1.20 of Premium insurance included

quoted price · wallet debit

One entry per correction, never netted A won dispute credits back to the wallet Retrievable through the API
Adjustments API

Reconcile corrections without a spreadsheet.

Adjustments are first-class records, not a line in a PDF invoice. Read them per shipment over REST, or take shipment.adjustment.created on a signed webhook the moment one posts, with the wallet delta in the payload.

One record per correction, attached to the shipment that caused it
shipment.adjustment.created carries the wallet delta — no polling
Signed webhooks and real idempotency keys, so a retry never double-counts
Unlimited calls on every plan — reconciliation is not a paid tier
Read the API docs Get a free API key $0 on every plan
curl https://api.goatlabels.io/api/v1/shipments/shp_44819/adjustments
GET /api/v1/shipments/shp_44819/adjustments
Authorization: Bearer sk_live_…

// every correction the carrier posted against this parcel
What is fixed, and what a carrier can still change

Two plans. One named exception to the price.

Free covers 50 shipments a month, and Pro is a flat monthly plan with unlimited shipments and cheaper label pricing. Neither adds anything to a quote: the number you see leaves your balance exactly as shown, and the single thing that can move it afterwards is a carrier re-rate — which arrives as its own entry against the shipment rather than as a difference in a monthly total.

Pro

Most popular
$40 / month
Unlimited shipments — no monthly cap
Cheaper label pricing that scales down as your volume grows
Billy AI on Telegram — ask what changed on a parcel without opening the dashboard
API access still free and unlimited, webhooks included

Volume pricing

illustrative
less volume more volume

more volume → lower per-label rates

Free

$0 / forever

Fund a wallet, pay per label, and see every post-shipment correction named.

50 shipments a month, no monthly minimum to print
USPS, UPS, FedEx, and DHL rate-shopped on the same declared parcel
Every adjustment posted as its own record on the shipment that caused it
Billy AI in the web app, unlimited — plus address validation before you pay
REST API with unlimited calls, including shipment.adjustment.created webhooks

Billy is not an upsell

The assistant that reads a pasted order into a draft, carries the saved box dimensions through, and validates the address before you spend anything runs unlimited in the web app on Free. Pro adds Billy on Telegram.

Web, every plan Telegram, Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Adjustment records and their webhooks are on Free too — reconciliation is not a paid tier.

Bring what you pay today

On Pro we will work with you to beat the label rates you are already getting from

ShippoPirate ShipShipStation
No contracts One entry per correction, never netted Start in seconds
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number, and that exact amount leaves your prepaid balance. A carrier re-rate afterwards posts as its own record against the shipment, with the wallet delta attached. Full pricing details

Who gets re-rated most

Adjustments cluster. They rarely arrive alone.

One box template that is consistently mis-declared produces one correction per shipment that used it, and they all land together. These are the four shapes of seller where that happens quietly enough to go unnoticed for a quarter.

Sellers moving real volume

TikTok Shop & live commerce

Corrections cluster

A hundred parcels overnight off one saved box means a single mis-declared template becomes a hundred corrections that land in the same batch. Reading them per shipment is the difference between fixing the template and absorbing the quarter.

1 record per correction wallet delta attached webhook on create
goatlabels.io/dashboard/shipments
GoatLabels shipments queue with purchased labels

Makers with bulky, light boxes

Etsy & independent creators

Volume rather than mass sets the price on a big light box, which is exactly the parcel a sorter re-measures and re-rates. Low, uneven volume also means the correction lands long after the order was forgotten.

Same parcel, re-rated

Order #1024 · reweigh · posted to this shipment

Sellers declaring from DMs

The parcels nobody measured

where did the extra charge on that one come from?
Reweigh on CL-1024 · delta on the shipment

Anyone shipping internationally

Where a correction costs most

DDP

duties quoted inside the price, so a re-rate is the only variable left

Shipping charge adjustments, answered

Why did USPS charge me extra after the package was delivered?
Because the parcel was measured by the carrier's own equipment somewhere in the network and the result did not match what the label declared. Billing runs after movement, not at purchase, so the correction can post long after the buyer has the item. It is a re-rate of the shipment you actually sent, not a new fee.
What is a reweigh and how does the carrier do it?
Automated sorters weigh and dimension every parcel as it passes, and the captured figure is compared against the declared one. Nobody re-opens the box. If the machine's reading differs from the label beyond the carrier's tolerance, the shipment is re-rated at the machine's figure and the difference becomes an adjustment record.
How do I dispute a shipping charge adjustment?
You file against the specific tracking number with evidence that contradicts the carrier's measurement, and you do it inside that carrier's dispute window. A dispute is a factual argument about one parcel, so a general complaint about pricing goes nowhere — the only thing that moves it is a better record than the one the sorter produced.
How long after shipping can a carrier bill an adjustment?
Longer than most sellers expect, and the limit is set by each carrier's own published terms rather than by any industry standard. Because those windows change, this page names the governing document per carrier instead of printing a figure that quietly goes stale.
What evidence do I need to win a dispute?
Something recorded at pack time, not reconstructed afterwards: a scale reading and a measurement of the specific parcel, ideally photographed with the tracking number visible, plus the packed dimensions of the box you actually used. Evidence created after the adjustment arrives is the weakest kind there is.
How do adjustments show up on GoatLabels, and what if my wallet is empty?
Each one posts as its own record against that shipment with the wallet delta attached, so you see which parcel changed and by how much rather than an unexplained balance. If an adjustment is larger than the balance available, the shortfall is charged to the payment method on file — the wallet is the first source of funds, not a cap on what a carrier can bill.
Real sellers, real words

Sellers who read the line items.

A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
E

Early customer · TikTok

TikTok Shop seller

TikTok Shop
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
E

Early customer · Etsy

Etsy maker

Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user
All-in quotes. Named corrections. No monthly minimum.

Stop finding charges you cannot explain.
Start reading them.

Quote all four carriers on the parcel in your hand, validate the address before you pay, and see every post-shipment correction as its own entry with the wallet delta attached.

Sign up in seconds. No card required. Adjustments visible per shipment and on a webhook.