Shipping labels are promises. If your API can’t see the box, the carrier won’t make the promise.
Your small parcel flow just hit a speed bump. In v2024-03-20, Small Parcel Delivery (SPD) isn’t fully supported when carton info is unknown upfront. Translation: if you create shipments first and figure out boxes later, your label flow stalls.
This matters because USPS and FedEx labels live and die on carton details. No carton-level data, no compliant labels, no pickup. Meanwhile, Less-Than-Truckload (LTL) keeps moving, because LTL can work with summary data and BOLs. SPD can’t. Different game.
No published timeline for full SPD support—so you need a plan now. Here’s what the USPS and FedEx SPD limits mean for day-to-day, what breaks, and how to ship without wrecking SLAs or margins.
SPD labels are contracts with carriers. Each parcel needs a unique ID, service code, weight, dimensions, and sometimes declared value. That’s how USPS enforces IMpb rules and how FedEx computes pricing and routing. If the API can’t accept “I’ll tell you the box later,” you can’t make compliant labels or rates in advance.
In practice, your pre-pack flow stalls out. You can’t spin up labels in bulk, then match them to cartons as your team fills boxes. You lose that “pre-print then pack” speed many high-throughput teams rely on today.
Here’s the simple reality: carriers use label data to decide routing, pricing, and audits later. If any input is fuzzy, the system assumes risk you’re underpaying or misrouting, which is why they want final data before label creation.
Quick sanity check: per-carton data isn’t just about money. It ties to tracking accuracy too. If the actual box differs from the label, scans can mismatch and confuse customers. They ask, “Why does tracking say 2 lbs when my box is huge?” Then support tickets pile up.
First-hand example: You run a Friday drop with 300 orders. Before, you pre-generated labels Thursday night, then packed to those labels. Now, you must cartonize and weigh every box before requesting labels. That pushes label creation into the busiest hours and risks missed pickups.
Expect friction here:
Small tweaks help recapture speed:
USPS’ Intelligent Mail package barcode (IMpb) rules expect each parcel to have a unique ID and accurate pre-shipment data. If you use USPS Ground Advantage or eVS, you already play by those rules. Missing or wrong package data isn’t just annoying—it’s a compliance issue that can trigger extra fees or rejected scans.
Operational impact: You can’t print a USPS label for a “future” carton and fill blanks later. The system expects final, per-package details before label generation. That’s how USPS ties your manifest, tracking events, and postage to the real box.
Compliance gotchas to watch:
FedEx Ship APIs also demand package-level data for labels—weight, dimensions for DIM, and sometimes special services. No final package, no valid label. FedEx Ground pricing is heavily shaped by dimensional weight. If you guess dims too early, you’ll eat margin later or get post-invoice changes.
First-hand example: You quote a 2‑lb candle in an 8x6x4 box. At pack time, your team swaps to a 10x8x6 for protection. DIM jumps, and the “pre-made” label is wrong. Without carton-level support upfront, the API won’t let you run this guess-and-fix cycle programmatically. That guess creates real billing risk.
Dimensional weight 101 (keep it simple):
Bonus detail: Special services like signature, declared value, or additional handling can change rating and data needs. Don’t ask the API for a label until the station confirms final package details.
It’s slower than pre-print, but it’s accurate. Less rework. Fewer voids, cleaner.
Make the “label-later” model fast:
When orders cluster to few destinations, LTL might be cleaner. LTL is still supported in v2024-03-20 and doesn’t need per-carton labels. You consolidate, make a BOL, and ship. Not a DTC parcel replacement—but a pressure valve for heavy or multi-case moves.
Practical triggers for LTL instead of SPD:
If your carrier accounts let you print labels via their tools, or a third-party workstation, based on final carton data, you can ship now. Then upload tracking back into your order system through a separate endpoint. It’s clunky, but keeps SLAs intact.
First-hand example: During a promo spike, you switch a top SKU to a dedicated lane with a fixed box. The packer prints the USPS or FedEx label locally after weighing, and a scanner posts tracking to your OMS. No fancy API gymnastics—just a tight flow.
How to make the hybrid path reliable:
Pre-label flows are fast because they move work off peak hours. Without that, you add seconds per box at pack time. Ten seconds sounds tiny until you multiply by 1,000 parcels—nearly three extra labor hours during peak.
Missed carrier cutoffs become next-day scans, which pushes your “order-to-first-scan” metric. USPS Ground Advantage is usually 2–5 business days; FedEx Ground usually 1–5. If the label shifts to tomorrow, your promise just slipped a full day.
Zoom out one level:
First-hand example: A brand shipping 500 parcels per day at 10 seconds extra per parcel burns about 1.4 hours. At $22 per hour fully loaded, that’s around $30 per day—$900 per month. Not fatal, but real. Add 1% reships from bad labels and it stacks fast.
Invisible costs to budget for:
Don’t hardcode today’s workaround. Build your flow with a feature flag for “SPD unknown-carton,” and keep LTL paths distinct. When the API adds support, you want a one-click switch, not a rewrite.
Design principles:
When SPD support lands, test in a sandbox or dev account with real patterns. Include multi-pack orders, heavy items, and fragile SKUs. Check logs for rate calls, label creation, voids, and tracking updates. Confirm carriers accept manifests aligned with your labels.
Pilot playbook:
No public timeline means you need a monitoring habit. Assign an owner, set a weekly check for API release notes, and keep a runbook. “When support appears, test these five cases, run a 50-order pilot, then scale.”
First-hand example: A 3PL kept its old pre-label builder dormant behind a flag. When a prior API restored a deprecated field, they re-enabled it in an afternoon. The harness and tests were waiting. Same playbook here.
If you optimize around those five bullets, you’ll protect SLAs and margins. You’ll also keep the warehouse calm when peak hits hard.
A: Yes. If you have final per-carton details—weight, dimensions, count—you can request labels as usual. The limit hits when shipments are created without knowing those specifics first.
A: The rule is the same for both. Each needs package-level data to generate labels. USPS enforces IMpb; FedEx rating and labels rely on per-package attributes. The impact is your workflow timing.
A: No public timeline yet. Best move: watch release notes and keep a feature-flagged path ready to re-enable pre-labeling when support appears.
A: No. LTL is great for consolidated, heavier, or B2B shipments. Not for single-order DTC parcels. Use LTL where it fits; keep SPD for the rest—just move labeling after pack.
A: You can, but it’s risky. If dims differ, you’ll face billing changes and rework. Carriers compute rates and rules off final carton data. Safer path is label after weigh and measure.
A: That’s a solid hybrid. Generate labels via carrier tools once cartons are final. Then upload tracking numbers to keep customers informed and orders closed out.
A: MPS makes accuracy even more important. Labels often reference a master tracking number with child packages. If you don’t know counts, weights, and dims, you can’t generate the full set. Capture all cartons at pack, then label.
A: They can drift if estimates go stale. Use SKU-to-box mappings and update averages weekly from invoices. Add a small buffer for bulky items.
A: If your catalog is box-diverse and DIM hits often, a dimensioner can pay for itself. If 80% of orders use 3–4 standard boxes, start with scales and a tight box library first.
A: International adds customs data that must match the physical carton. That’s more reason to label after pack. You avoid customs mismatches that delay clearance. Keep commercial invoices synced to final specs.
A: Yes. Rate shop using expected dims and weights at order creation. Then finalize the service after pack when you have actuals. If it changes, update the order and notify customers if timelines shift.
Turn that list into action with a short sprints roadmap:
Week 1
Week 2
Week 3
What to watch while you iterate:
You didn’t choose the “no carton info upfront” game—but you can still win it. SPD is strict because each package is its own contract. So treat labels like contracts: only sign once you know what’s in the box. Shift work to the right spot, keep options open with flags, and be ready to bounce when full support lands.