String
Automation rules

How to Apply a Package to an Order in ShipStation Automatically

Updated

Short answer: Two rule actions apply a package. Set Carrier/Service/Package applies a named custom package but sets carrier and service at the same time, so you cannot have the package name without pinning both. Set Package Dimensions applies length, width and height alone and leaves the package unnamed. The criteria doing the work are Total Quantity and Item SKU, so a rule approximates size from item count: it holds while your SKUs are similar and degrades as the catalogue varies, because no rule cartonizes.

Both routes carry the same catch. ShipStation only applies a named custom package alongside a carrier and service, so if you want dimensions without pinning a carrier you use a different action and give up the package name.

One thing to establish before the steps, because it decides how far any of this gets you. Automation rules in ShipStation apply a package you nominated in advance, against criteria you typed in advance. They do not cartonize.

Cartonization is the calculation that takes every item in an order and finds the smallest box the combination physically fits in. It is a different kind of operation, and building it means knowing the dimensions of every SKU in a catalog ShipStation does not own. That is not a reasonable thing to ask of a horizontal platform serving a very large and varied merchant base.

So what you build here is assumptive logic. Something like “if 3 products, use box X” or “if item ABC, use package Y”. If your items are similar and you stock a few box sizes, that works well and it is the correct tool. Where it gets harder is a catalog with many SKUs across many package sizes, because the right box then depends on the combination of items in the order.

If that describes your catalog, here is how to set the rules up.

Three things to know first

  1. How to add custom packages to ShipStation.
  2. How to apply a custom package to orders.
  3. How to apply package dimensions to orders without using a custom package.

The third one matters because of the constraint above: ShipStation only lets you apply a custom package if you also apply a carrier and service for that shipment.

The advantage of a custom package is that it puts the name of the package into the ShipStation order, which is what you want if your fulfillment team reads the package name off the packing slip. If you only apply package dimensions, you do not have to apply a shipping service and carrier — and the package name never appears on the order.

How to add custom packages to ShipStation

Step 1: Open your custom packages

Navigate to the ‘Settings’ gear icon in the upper right corner, then select ‘Shipping’ and choose ‘Packages’ from the dropdown menu. Select the ‘Custom’ tab underneath the ‘Packages’ headline and click ‘Add Custom Package’. This is where your custom packages are stored.

Step 2: Enter the name and dimensions

Enter the name and dimensions of each package option you have.

Applying a package and a service together

If you want to apply a custom package to an order in ShipStation, you must also apply a shipping service to it. You can use a later automation rule to override the shipping service, since rules run top to bottom and the lower one wins. Setting a Rate Shopper strategy by rule covers choosing the service that way, and the ordering it depends on.

There are two routes below. The first is the product record, for orders of one item at a quantity of one. The second is automation rules, for everything else.

Setting the package on the product record

This is the cleanest route and it has a documented limit worth reading before you build on it. ShipStation applies Product Defaults only to an order containing a single line item at a quantity of one — carrier, service, confirmation and dimensions all sit behind that restriction. Their stated reason is that two product records with different defaults would otherwise conflict.

Six of one SKU is a single line item, and it is not a quantity of one. It falls outside this and needs a rule.

Step 1: Open the product’s Shipping tab

Navigate to the ‘Products’ tab in the upper navigation bar. Select a product and click on the ‘Shipping’ tab on that product pop-up.

Step 2: Set the shipping defaults

Under ‘Shipping Defaults’ you can select the shipping service and package type.

Alternative: dimensions without the package

You can set the package dimensions instead, if you do not need the name of the package displayed on the order. This does not use the custom package you created earlier, but it applies the right dimensions and weight for the purposes of getting a label.

Setting the package with an automation rule

Everything the product record cannot cover — more than one unit, more than one SKU — is done with automation rules.

Step 1: Open Automation Rules

Navigate to the ‘Settings’ gear icon in the upper right corner, then select ‘Automation’ and choose ‘Automation Rules’ from the dropdown menu. This is where you’ll create your new rules.

Step 2: Create the rule

Click on ‘Create a New Rule’. This opens a setup window where you can define the conditions and actions for your rule.

Step 3: Define the criteria

Select the option under “if orders match the following criteria” called “Orders match these specific criteria”. The criteria that do this work are Total Quantity and Item SKU. Here you decide what mix of items and quantity should result in a specific package being used.

One caveat on the second, and it is the reason a lot of these rules appear not to fire. The Item SKU criterion only evaluates orders containing a single unique line item, at any quantity. Six of one SKU matches it. One of that SKU alongside anything else does not, and the rule skips the order without saying so. For genuinely mixed orders, tag the product records and key the rule on the tag instead — product tags are applied at import, before any rule runs, and carry no single-line-item restriction.

Step 4: Choose the action

As with the product record, applying a named custom package means also applying a shipping service and carrier. The alternative is to set the dimensions alone, and the trade-off is that the custom package name will not appear on the order.

Option 1

To apply a custom package, select the ‘Action Type’ ‘Set Carrier/Service/Package’ and then select the corresponding options under ‘Service’ and ‘Package’.

Option 2

To apply package dimensions only, select the ‘Action Type’ ‘Set Package Dimensions’ and then enter the length, width, and height of the package you expect to ship with.

What this gets you, and where it stops

With the rules in place, orders start arriving in ShipStation with the packages you set up. You can also have the package name print on your packing slips, which saves your packers the time they currently spend working out which box to reach for.

What the rules will not do is adapt to a combination of items nobody anticipated. They apply the answer you wrote for the criteria you wrote, so an order whose mix falls outside every criterion gets whatever the last matching rule set, or nothing at all. That is the boundary of any static rules engine rather than a shortcoming of this one.

Which means the approach holds up in proportion to how predictable your orders are. A few SKUs and a few box sizes, and assumptive rules are the whole answer. A varied catalog where the right box genuinely depends on which items landed in the order together is a cartonization problem, and no arrangement of rules resolves it, because the rule would have to know what a rule cannot see.


Sizing the box from the items

Item count stands in for size only when your SKUs are similar. When they aren't, the box has to be worked out from the items themselves.

String is a small engineering firm that builds, deploys and maintains shipping logic inside existing ShipStation accounts: cartonization, rate selection, multi-box splits and batching, decided for every order and written back before your team sees it. There is nothing to log into and nothing to configure. Pricing is flat and monthly, from $500, with no per-shipment fees and no share of savings. If the native options above already cover your orders, you don't need us.

Tell me what your team still decides by hand

I read every one myself and reply within two business days, with whether String should build it, ShipStation can already do it, or neither.

Rather not use a form? Email me at paul@meetstring.com and it comes straight to me.