FedEx Label Errors

Label-generation failures that come back from FedEx (via ShipEngine) and read
like an account problem but aren't.


"Ground Shipping is not authorized for this User"

Full text:

Unable to create FedEx shipment. Ground Shipping is not authorized for this
User. Information may have been defaulted to process this request.

Symptom: one delivery refuses to label. The message names Ground even
though we asked for Home Delivery.

What it does NOT mean: the FedEx account has not lost Ground authorization.

What it actually means: FedEx's own address database has classified that
one destination as commercial.
FedEx Home Delivery is only valid to
residential addresses, so FedEx "defaults" the request toward Ground and then
rejects it on the residential/commercial mismatch. The address is the variable,
not the account and not our payload.

Confirm it's one address, not an outage

Check what we actually sent, in deliveries.shipping_api_log (jsonb array; the
ShipEngine request body is under request):

SELECT e->>'called_at'                                  AS called_at,
       e->>'status'                                     AS status,
       e->'request'->'shipment'->>'carrier_id'          AS carrier_id,
       e->'request'->'shipment'->>'service_code'        AS service_code,
       e->'request'->'shipment'->'ship_to'->>'address_residential_indicator' AS residential,
       e->>'status_message'                             AS status_message
FROM   deliveries d, jsonb_array_elements(d.shipping_api_log) e
WHERE  d.id = <delivery_id>
  AND  e->>'kind' = 'label'
ORDER  BY 1;

A request showing service_code: "fedex_home_delivery" +
address_residential_indicator: "yes" is correct on our side — we asked for
exactly the right thing.

Now count successes vs errors for the same carrier_id + service_code over
the last ~21 days across all deliveries. If fedex_home_delivery is succeeding
hundreds of times on the same carrier account (e.g. se-4639775) with the same
multi-package / company / residential profile, account authorization is fine.
It's the one address.

It is often transient

Confirmed on SO727663 (delivery 792716, 2026-06-26): the label failed twice
with this error, then the identical request — same service, same residential
address, nothing changed — labeled fine minutes later. FedEx's
classifier/meter glitches intermittently. "Information may have been defaulted"
is not always a permanent verdict.

Resolution order (operational, no deploy)

  1. Retry the identical FedEx Home Delivery label. Often just works. Do this
    before changing anything.
  2. If it keeps failing, reship UPS Ground. UPS classifies addresses
    independently, and this is the cleanest outcome when the address really is
    residential.
  3. Last resort: FedEx Ground with residential unchecked (delivers, but
    labels a home as commercial), or submit the address to FedEx for
    reclassification (slow).

Not yet handled in code

There is no retry-then-swap in the ShipEngineError rescue in
app/services/wy_shipping.rb (ship_delivery,
~line 1508). Retrying the same request once on a Ground/Home-Delivery "not
authorized" — and optionally swapping service after that — would let the order
self-unblock. Not built; the procedure above is manual today.


Cousin error: "Home Delivery is not authorized…" (SASV 4074)

Do not confuse the two. They point in opposite directions, and telling them
apart is the whole reason this page exists.

"Ground Shipping is not authorized" "Home Delivery is not authorized" (SASV 4074)
Requested service Home Delivery (residential) Ground (commercial)
FedEx's view of the address commercial residential
Meaning FedEx thinks the destination is a business; Home Delivery is invalid to it FedEx thinks the destination is a home; the request was flagged residential where Ground was asked for
Handled in code no partly — annotated
Path ShipEngine (Shipping::FedEx < ShipengineBase) legacy FedEx rating (Rating failed SASV in the raw message)

The SASV 4074 case is annotated at
app/services/wy_shipping.rb:1525, which
appends " FedEx Home Delivery to a non residential address marked residential."
to the error when the message contains both 4074 and Rating failed SASV and
the carrier is FedEx.

Two things to know about that annotation:

  • It lives in the rescue StandardError branch, not the
    rescue ShipEngineRb::Exceptions::ShipEngineError branch above it. A
    ShipEngine-originated failure never reaches it, so the absence of the
    annotation tells you nothing.
  • It only rewrites the message. Nothing retries, swaps service, or reclassifies
    the address — the operator still does the work.

  • Address residential/commercial resolution: Address#… and
    WyShipping both bias toward residential when ShipEngine's suggested
    addresses disagree — see app/models/address.rb:968 and
    app/services/wy_shipping.rb:893.
  • FedEx service-code mapping (fedex_home_deliveryGROUND_HOME_DELIVERY):
    app/services/shipping/fed_ex.rb.