Skip to content

Commerce Foundations is our pre-built Craft Commerce store. See what it includes

Craft CMS plugins

Shipments

A Craft CMS plugin that adds first-class shipments to Craft Commerce, splitting each completed order into one or more shipments via an extensible rules engine.

Permissions

Who can do what. The plugin registers granular permissions under Users -> Groups -> {group} -> Permissions -> Shipments. Admins always have everything.

For the full handle list, see the permissions reference. This page is for setting up roles.

The permissions#

Viewing#

View shipments, required to see the plugin at all (past the nav item). Without it, a user can’t open the Shipments index, the Attention page, or any shipment edit page. Grant to anyone who needs to see fulfillment data.

Editing#

Edit shipments, create shipments from the order-tab staging form, and edit tracking, carrier, service, and notes on existing ones. Also covers creating shipments through the rebuild console command and the REST API update endpoint.

Transitioning#

Transition shipment statuses, change fulfillment or shipping status. Split from Edit because status changes drive emails, integration pushes, and history. If your CS team should add tracking numbers but not change fulfillment, keep this permission away from them.

Deleting#

Delete shipments, soft-delete. The line items return to the unallocated pool. Restorable from Craft’s trash.

Pushing#

Push shipments to integrations, use the Push to {integration} button in the sidebar of the shipment edit page. Queues a push job for that shipment against the chosen integration.

Managing integrations#

Manage integrations, manage integrations and their status mappings. The “integration engineer” role, separate from everyday ops.

Managing emails#

Manage notification emails, manage notification emails and wire their transition triggers.

Managing settings#

Manage plugin settings, edit the General settings page and the Shipment field layout.

Customer service agent (read-only). Looks up shipment status. Doesn’t modify.

  • View shipments

Warehouse operator. Day-to-day picker / packer. Reads incoming orders, adds tracking, moves to fulfilled, pushes to the 3PL.

  • View shipments
  • Edit shipments
  • Transition shipment statuses
  • Push shipments to integrations

Fulfillment lead. Warehouse operator plus cleanup and customer comms.

  • All warehouse-operator permissions
  • Delete shipments
  • Manage notification emails

Integration engineer. Wires up and monitors integrations.

  • View shipments
  • Manage integrations

Store admin (non-Craft-admin). Everything day-to-day.

  • All of the above

Craft admin. Everything. No permission checks.

Nesting#

Edit, Transition, Delete, and Push all nest under View. You can’t grant any of them without also granting View. Craft’s permission editor shows this in the UI.

Manage integrations, Manage emails, and Manage settings are independent. You can give someone email-management access without giving them view access to shipments.

How denial looks#

  • Reading a page they can’t access (for example the index): Craft returns its standard 403 page.
  • Trying a sidebar push without the permission: the button is hidden; the controller also rejects the POST with a 403 if invoked directly.
  • Changing status without the permission from the CP edit page: the save returns 403 and the change doesn’t happen.
  • REST API call without the permission: 403 JSON response.

Auditing who did what#

Every status change records the user who made it (empty for background jobs and webhook ingestors). Open the shipment’s Status history tab to see the user, the source integration, and the raw code the integration sent for each change.

For other actions (creating, deleting, editing tracking / carrier / notes), Craft’s built-in element change log covers it. Open the shipment edit page and click the Drafts / revision history icon in the top bar.

We can take it from here.

We take on the Craft and Craft Commerce sites you built, so you can get back to building. Introduce a client who signs a management contract and you get a $3,000 partnership fee.

How the Dev Partnership Program works
See if we’re a fit