Peak Season Surcharges: A TMS Rate Update, Step by Step

Load UPS and FedEx 2026 peak season surcharges into your TMS rate engine with correct effective dates, test cases, and EDI 210 invoice checks.

Peak Season Surcharges: A TMS Rate Update, Step by Step

UPS and FedEx have both filed their 2026-27 peak surcharge schedules, and the first charges already deduct money from your shipping budget before most ops teams have even opened a test shipment. If you manage a TMS rate engine for a manufacturer or retailer that ships parcel volume through peak, this is the week to load the new tables, not the week after Thanksgiving. Here's the exact sequence, field by field, with the failure mode that catches almost everyone.

Why this update can't wait until November

Because the money is already moving. UPS surcharges will be in effect from September 27, 2026 through January 16, 2027, and FedEx surcharges will be in effect from September 28, 2026 through January 17, 2027. Those aren't future dates anymore. Residential demand charges, the ones that hit nearly every direct-to-consumer parcel, started a few weeks later: UPS's residential demand charge begins October 25, 2026, while FedEx's Express, Ground Residential, Home Delivery, and Ground Economy surcharges begin October 26.

The increases aren't trivial either. UPS Ground Residential and Ground Saver per-package surcharges are up 25% from last peak, and on the FedEx side, Ground Residential and Home Delivery went from $0.65 to $0.80 at peak, the largest percentage jump of the core per-package fees. If your rate engine is still running last year's cached numbers, every invoice from late September onward will under-bill your finance team's forecast, and nobody notices until the carrier invoice lands in November.

What you need before you open the rate engine

Gather these before you touch a single rate table:

  • The current, dated surcharge PDF or rate page from each carrier you move freight through, pulled fresh this week, not a cached copy from last peak.
  • Admin or rate-table edit access in your TMS. Viewer rights won't let you create new effective-date records.
  • A sandbox or test-mode rating environment separate from production.
  • A short list of representative shipment profiles: dims, weights, zones, and service levels that cover your actual volume mix, not just your biggest account.
  • Your existing accessorial code list, so you don't accidentally spin up a duplicate "Demand Surcharge 2" code next to last year's "Peak Surcharge."

Step-by-step: loading the surcharge tables

Treat this as a rate card change, not a quick field edit. Here's the sequence that holds up under audit.

  1. Pull the current, dated surcharge table from each carrier's published rate page. Don't reuse last year's file, even as a template. UPS and FedEx restructure tiers almost every cycle.
  2. Inventory the surcharge types against your TMS's accessorial fields. Map each one by name and amount. For example, UPS's Additional Handling surcharge runs $8.75 in the early period, $11.90 from Nov 22 to Dec 26, and back to $8.75 from Dec 27 to Jan 16, while the Large Package Surcharge runs $96.25, $117.50, then $96.25 across the same three windows. FedEx's version looks similar but isn't identical: its Additional Handling Surcharge runs $8.80, $11.85, $8.80 across September 28–November 22, November 23–December 27, and December 28–January 17, with Oversize running $95.75, $117.25, $95.75 over the same windows. Same shape, different numbers, different carrier.
  3. Create a separate time-boxed rate record for each window rather than one record with a manual override you'll remember to toggle. That means at least three records per surcharge type: pre-peak, peak, post-peak. Each record gets its own effective-date start and end. This is the single habit that prevents the mess described in the failure mode below.
  4. Set the rating sequence so demand surcharges stack on top of base rate, fuel surcharge, and any general rate increase, rather than replacing them. These are additive charges by design, not substitutes.
  5. Run test shipments dated inside each window using your representative shipment profiles. Rate one shipment per window per carrier and compare the output to the carrier's published number to the cent.
  6. Get a second reviewer to sign off on the test batch before you push from sandbox to production. One person building and testing the same table misses the same mistakes twice.
  7. Diary a GRI recheck. FedEx and UPS have run a 5.9% average General Rate Increase for three consecutive cycles, and UPS typically announces the following year's GRI in September or October, with new rates taking effect in late December. That announcement window overlaps peak season almost exactly, so put a calendar reminder now to recheck your base rates before January, not after the invoice discrepancy shows up.

How you know it worked

Three signals, in order of how fast you'll see them. First, your test-shipment rated cost matches the carrier's published table exactly, with zero manual overrides in the config. Second, the first week of live peak shipments shows less than 1% variance between your TMS-rated cost and the actual carrier invoice. Third, and this is the quiet one, billing and finance stop opening tickets asking what a line item labeled "Demand Surcharge" is. If those tickets keep coming in week two, your mapping didn't communicate down to the people reading the invoice, even if the rating math is correct.

Failure mode: overlapping or missing date windows

Here's what breaks, and it breaks quietly. If your effective-date ranges don't align exactly with the carrier's published windows, you'll either double-charge or under-charge for a stretch of days, and it won't surface until invoices land weeks later. This is where the asymmetry between carriers catches people: FedEx's Additional Handling, Oversize, and Ground Unauthorized Package fees begin September 28, while Express, Ground Residential, Home Delivery, and Ground Economy surcharges don't begin until October 26. Two different start dates, inside the same carrier, for different surcharge categories. If you built one date-window record covering "all FedEx peak surcharges" starting September 28, you've just overcharged every residential Ground shipment for four weeks.

Date windowUPSFedEx
Size/handling fees beginSeptember 27, 2026September 28, 2026
Residential/service demand beginsOctober 25, 2026October 26, 2026
Highest-rate windowNov 22 – Dec 26, 2026Nov 23 – Dec 27, 2026
Season endsJanuary 16, 2027January 17, 2027

Notice the pattern: UPS size fees begin September 27 and FedEx September 28; UPS service fees begin October 25 and FedEx October 26; UPS ends January 16 and FedEx ends January 17. A single day's offset, repeated across every window, on every surcharge type, for two different carriers. If you're hand-keying both tables into the same rate engine, that one-day gap is exactly where copy-paste errors live.

The fix is to audit early, not at month-end close. Pull a sample of the first 20 to 30 live invoices against your rated amounts as soon as shipments start flowing through the new window. Your source for that audit is the EDI 210 Motor Carrier Freight Details and Invoice feed from your parcel or LTL partners. The B3 segment carries the invoice number, shipment identification, carrier SCAC, and net amount due, while the L1 segment carries the rate, charge amount, and charge code for each line, including accessorials, and the L3 segment totals the invoice that you audit against the agreed rate. Reconcile discrepancies back to the specific surcharge type and date range on the L1 line, not just the L3 invoice total. A mismatch buried inside one accessorial code tells you exactly which rate record to fix.

Where this fits with multi-carrier rating tools

If you're rate-shopping across carriers instead of hand-keying each table separately, the surcharge-table maintenance burden shifts depending on the platform. Some multi-carrier tools push carrier-published surcharge updates into your rating logic automatically, others leave every date window and dollar figure to the admin. Platforms like Cargoson, along with ShipStation, Sendcloud, and Easyship, vary on exactly how much of this work they automate versus hand off to you. Worth checking before your next peak if you're evaluating a switch, because the gap between "automatic update" and "manual table maintenance per carrier" is precisely the gap where the failure mode above lives.

Quick reference before go-live

  • Tables pulled fresh from each carrier's current published page
  • Surcharge fields mapped against your existing accessorial code list, no duplicates created
  • Separate date-windowed rate records built for pre-peak, peak, and post-peak per surcharge type
  • Stacking order confirmed: demand surcharges apply on top of base, fuel, and GRI, not instead of them
  • Test batch run across all windows, matched to carrier published numbers to the cent
  • Second reviewer sign-off logged before production push
  • EDI 210 invoice audit scheduled for week one of live shipments, not month-end close
  • GRI recheck diaried for the announcement window that typically lands in the coming weeks

Run this list once now, and the November invoice reconciliation stops being a fire drill. That's the whole point of doing it this week instead of next.