Shipping Settings
Shipping settings control which provider is used, how packages are grouped, and what box sizes are available for packing.
Provider Configuration
An admin selects the active shipping provider and enters the provider's API key. The system ships with Shippo as the default provider. Other integrations (ShipDay, USPS Direct, EasyPost, etc.) can be registered without changing the checkout flow.
Configuration is managed in appsettings.config.
Product Shipping Dimensions
Each product that will be shipped needs dimensions entered in the catalog:
- Length (inches)
- Width (inches)
- Height (inches)
- Weight (ounces)
Products without at least a length or weight value are excluded from shipping — they won't appear in rate quotes or package breakdowns.
Dimensions can be set individually through the product catalog editor or updated in bulk. When a label is purchased, the current catalog dimensions are captured on the order so future catalog edits don't change past shipping records.
Package Grouping
Package grouping controls how order items are packed into physical boxes. It is managed through the Settings UI (uitransactions component, Shipping tab).
Enable/Disable Grouping
| Setting | Behavior |
|---|---|
| Off (default) | Every order line becomes its own package. Quantity is carried on the single item. |
| On | Individual units are packed across box profiles using first-fit-decreasing by volume. |
Box Profiles
When grouping is enabled, you define box sizes the system can use. Each box profile has:
- Name — Display name (e.g., "Small Box")
- Dimensions — Length, width, height in inches
- Max Weight — Maximum weight in ounces (optional; leave blank for no limit)
The packing algorithm chooses the smallest box that fits each item.
Packing Rules
When grouping is enabled:
- Items marked Ships Alone (a product-level setting) are always isolated into their own package — never combined with other items. A quantity of 3 produces 3 separate single-item packages.
- Remaining items are sorted by volume (largest first) and packed into boxes.
- Items can rotate 90° to fit footprint. Items stack by height within a box.
- If no configured box is large enough, a custom-sized box is created to match the item.
Ships Alone
A product-level flag. When enabled, every unit of that product ships in its own package, regardless of grouping settings.
Related
- Overview — Shipping architecture and workflow
- Staff Package Groups — How package groups appear to staff