Hazmat shipping (oil paints, solvents, aerosol fixative), how does it work?
The federal rules: oil paints, turpentine, mineral spirits, varnish, aerosol fixative, spray paint, and certain inks are ORM-D / Limited Quantity hazmat under 49 CFR 172. Air freight is prohibited or heavily restricted. International shipping is mostly blocked. AK / HI / PR / APO / FPO ZIP codes are blocked or surcharged.
The Magento implementation:
- Custom product attribute
is_hazmat(yes/no) on every SKU. Set during catalog import via Akeneo PIM or admin upload. - Shipping-method module reads the cart, checks if any line item is hazmat, and: blocks all air carriers (UPS Air, FedEx Air, USPS Priority Air), routes only to UPS Ground + FedEx Ground rate APIs, blocks ZIP code prefixes for AK (995-999), HI (967-968), PR (006-009), blocks international shipping addresses entirely.
- Label printing via ShipStation, ShippingEasy, or Stamps.com integrated with Magento. The integration auto-prints the ORM-D / Limited Quantity sticker + hazmat declaration form per shipment.
- Mixed-cart handling, if a cart has hazmat + non-hazmat items, the module can either ground-only the whole cart (simpler, slower) or split into two shipments (faster, costs $$). Pick based on your AOV economics.
Quarterly audit against 49 CFR 172 (which updates) and UPS/FedEx hazmat policy (which drifts) keeps you out of trouble. I’ve shipped this exact module on three art-supply stores; the carrier acceptance rate after go-live is 99%+.