Skip to content

Shipping Classes

What This Is

Shipping Classes are labels you attach to products to control which shipping services are eligible to ship them.

A shipping class is a named tag — for example "Oversized", "Fragile", or "Hazardous" — that connects a product to one or more shipping services that know how to handle it. Services can be restricted to only accept products that belong to specific classes, which prevents those products from being routed through a service that cannot carry them.

When You Would Use It

Use Shipping Classes when you need to:

  • prevent certain products from being shipped via standard carriers
  • group products by handling requirements and map them to the right services
  • filter the products list by shipping class to review product assignments
  • remove a class that is no longer needed

Do not confuse Shipping Classes with Shipping Zones (geographic coverage) or Shipping Services (the actual delivery options). A class is a product-level tag; a zone is a geographic constraint; a service is the priced delivery rule that can reference both.

Before You Start

Before you create a shipping class, make sure:

  • you know the name and description you want to use
  • any shipping services that should reference this class already exist or are being set up at the same time
  • the products you want to tag are already created in the catalog

How To Use It In The Admin

Manage shipping classes

  1. Go to Settings > Shipping Classes.
  2. The data table lists all classes by name, description, and associated product count.
  3. Use the search input to filter the list by name.

Create a new class

  1. In Settings > Shipping Classes, click New shipping class.
  2. Fill in:
    • Name — a unique label for the class (maximum 255 characters)
    • Description — a plain-language explanation of what this class covers (maximum 2 000 characters)
  3. The system generates a code automatically from the name.
  4. Save the dialog. The new class appears in the table.

Edit or rename a class

  1. Click the class name in Settings > Shipping Classes to open its detail page.
  2. Update the name or description.
  3. The code regenerates automatically when the name changes.
  4. Save to confirm.

Delete a class

  1. Open the class detail page.
  2. Click the delete action and confirm the dialog.
  3. The class is removed. Products that were tagged with it lose that class assignment.

Filter products by shipping class

  1. Go to Products.
  2. Open the Filter by shipping class panel in the data-table toolbar.
  3. Search by class name or scroll the list.
  4. Select one or more classes to narrow the product list to products that carry any of the selected classes.

What It Changes In The Storefront

Shipping Classes are not shown to shoppers directly.

They affect the storefront indirectly by controlling which shipping services are offered for a given shipment:

  • a product tagged with a class can only be shipped via services that accept that class
  • if no service accepts the class, that product effectively blocks or limits the checkout shipping options for the cart
  • removing a class assignment may make more services eligible for the product

Common Tasks

Tag new products with a class

Assign the class through your product editing workflow after the class exists in Settings > Shipping Classes.

Review all products in a class

Use the Filter by shipping class control in the Products data table.

Rename a class without changing its products

Open the class detail page and update the name. Product assignments follow the class record, not the name.

Remove a class that is no longer needed

Delete it from the class detail page. Verify the affected products still have valid shipping routes before removing a class that is used in production.

Rules, Limits, And Things To Watch

  • Names must be unique across all shipping classes.
  • The code is derived from the name automatically and cannot be set manually.
  • Deleting a class detaches it from any products and shipping services that referenced it.
  • A class with no products assigned is valid; it simply has no current effect on service eligibility.

Troubleshooting

A shipping service that should cover a product is unavailable at checkout

Check whether the product has a shipping class assigned and whether the shipping service is configured to accept that class. If the service restricts by class, it will not apply to products outside that set.

I cannot find a shipping class in the filter

The filter searches by name using the fast search index. If the class was just created, it may not appear immediately in search results; refresh the page or scroll the unfiltered list.

Deleting a class has no visible effect on shipping

Check whether the relevant shipping service still has a separate class restriction in place for a different class.

Sources

  • packages/admin/src/Livewire/Admin/Settings/ShippingClasses
  • packages/admin/src/Livewire/Admin/Settings/ShippingClass
  • packages/admin/src/Livewire/Admin/Products/DataTable/FilterByShippingClass.php
  • packages/framework/src/Models/ShippingClass.php
  • packages/framework/src/Actions/ShippingClass
  • packages/framework/src/Http/Controllers/Api/Admin/ShippingClassesController.php