Smart Packaging
TimberCloud's intelligent packaging algorithm analyzes your products and automatically determines the optimal way to package them for shipping.
How It Works
When you request shipping rates, the system:
- Extracts Products - Reads dimensions, weight, and shipping configuration from each line item
- Handles Parts - If products have parts configured, each part is extracted separately when Ships Assembled is OFF
- Groups by Dimensions - Similar-sized items are grouped for efficient packing
- Determines Package Type - Each item is assigned to Box or Pallet based on size and weight
- Separates Hazmat - Hazardous materials are always packaged separately (required by law)
- Applies Bin Packing - Uses 3D bin packing to fit items into fewest possible packages
- Consolidates - Applies your consolidation rules (e.g., convert to pallet if > X boxes)
Example
ORDER: 10 cabinet doors + 5 drawer fronts + 2 hardware kits
BEFORE (No Optimization): 17 separate packages → $136 shipping
AFTER (Smart Packaging): 2 optimized packages → $48 shipping
SAVINGS: 65% ✓Package Type Determination
The algorithm uses UPS/FedEx parcel shipping limits to determine package types:
| Rule | Threshold | Result |
|---|---|---|
| Max Single Dimension | > 108" | → Pallet |
| Length + Girth | > 165" | → Pallet |
| Max Weight | > 150 lbs | → Pallet |
| Large Thin Stackables | 10+ items, > 24" footprint | → Pallet (cost-effective) |
| Fits Standard Box | Meets box constraints | → Box |
| Default | Everything else | → Box (custom size) |
Girth = 2 × width + 2 × height
Assembled vs Unassembled Products
Products can ship in two modes:
Assembled (Default)
- Product ships as a single unit
- Dimensions from line item or product defaults
- Weight from product configuration
Unassembled (Parts)
- Product ships as separate components
- Each part is packaged individually
- Parts can be consolidated or packaged separately based on configuration
Ships Assembled Toggle
This critical setting on your products determines how they ship:
| Setting | Behavior |
|---|---|
| ON (Default) | Product ships as single unit using overall dimensions |
| OFF | Each part extracted and packaged separately |
The Packaging Algorithm
Step-by-Step Process
1. EXTRACT PRODUCTS
↓
Read dimensions and weight from each order item
If products have parts config, extract each part
↓
2. VALIDATE DIMENSIONS
↓
Ensure all products have valid measurements
↓
3. GROUP BY DIMENSIONS
↓
Similar items grouped for efficient packing
↓
4. DETERMINE PACKAGE TYPE
↓
Check parcel limits:
- Max dimension: 108"
- Length + girth: 165"
- Max weight: 150 lbs
↓
Assign: Box or Pallet
↓
5. SEPARATE HAZMAT
↓
Hazardous items in separate packages (required)
↓
6. BIN PACKING
↓
Boxes: Fit items into optimal box sizes
Pallets: Calculate stacking and layer placement
↓
7. APPLY CONSOLIDATION
↓
If boxes > max_boxes_before_pallet:
Reconsolidate everything to pallets
↓
8. RETURN PACKAGES
↓
Optimized package list for rate shoppingReal-World Example
Order: 12 cabinet doors (24" × 36" × 1.5", 15 lbs each)
Step 1: Extract → 12 door items
Step 2: Validate → All dimensions valid
Step 3: Group → All same size, single group
Step 4: Package Type → Parcel-shippable (under limits)
Step 5: Hazmat → None
Step 6: Bin Pack → Fit 4 doors per "Long Large 48" box × 3 boxes
Step 7: Consolidation → max_boxes_before_pallet = 6, so keep as boxes
RESULT: 3 boxes, 4 doors eachSame order with consolidation = 2:
Step 7: Consolidation → 3 boxes > 2 threshold
→ Reconsolidate to 1 pallet (48×40", stack height 24")
RESULT: 1 palletBox Sizes
Default Box Sizes
When custom boxes are not configured, the system uses standard sizes:
| Name | Dimensions | Max Weight | Best For |
|---|---|---|---|
| Small Flat | 12×12×4" | 20 lbs | Hardware, small parts |
| Medium Flat | 18×14×4" | 30 lbs | Documents, thin items |
| Large Flat | 24×18×4" | 40 lbs | Panels, flat pieces |
| Long Narrow 48" | 6×48×6" | 30 lbs | Stiles, rails, trim |
| Small | 12×12×12" | 25 lbs | Small assembled items |
| Long Narrow 60" | 6×60×6" | 40 lbs | Longer trim pieces |
| Long Medium 48" | 8×48×8" | 40 lbs | Rails, moldings |
| Long Narrow 72" | 8×72×6" | 50 lbs | 6-foot lengths |
| Long Medium 60" | 8×60×8" | 50 lbs | 5-foot pieces |
| Extra Large Flat | 30×24×6" | 50 lbs | Large flat panels |
| Medium | 18×18×16" | 40 lbs | Standard products |
| Long Medium 72" | 10×72×8" | 60 lbs | 6-foot assembled |
| Long Large 48" | 12×48×10" | 60 lbs | Cabinet doors |
| Long Large 60" | 12×60×10" | 70 lbs | Large doors |
| Long Large 72" | 12×72×10" | 80 lbs | Oversized doors |
| Long XL 96" | 12×96×12" | 100 lbs | 8-foot lengths |
| Large | 24×24×24" | 70 lbs | Bulk items |
| Extra Large | 30×24×24" | 100 lbs | Large products |
| Oversized | 36×30×30" | 150 lbs | Maximum parcel size |
Custom Box Sizes
Define boxes that match your actual packaging inventory. See Configuration for setup instructions.
Pallet Configuration
Default Pallet Specs
| Setting | Default | Description |
|---|---|---|
| Width | 48" | Standard GMA pallet width |
| Length | 40" | Standard GMA pallet length |
| Max Height | 96" | Maximum stack height (including pallet) |
| Max Weight | 2000 lbs | Maximum loaded pallet weight |
| Pallet Weight | 40 lbs | Weight of empty pallet |
Common Pallet Sizes
| Type | Dimensions | Use Case |
|---|---|---|
| GMA (Standard) | 48" × 40" | Most common, fits standard trucks |
| Half Pallet | 24" × 40" | Smaller shipments, retail |
| Euro Pallet | 47.2" × 31.5" | European shipping |
| Square | 48" × 48" | Square loads, drums |
Package Preview & Editing
Before fetching rates, you'll see automatically calculated packages:
- Type: Box or Pallet
- Dimensions: Width × Length × Height
- Weight: Calculated from products
- Freight Class: For LTL shipments
- Quantity: Number of identical packages
Edit Packages Manually
Click "Edit Packages" to:
- Adjust dimensions
- Change weights
- Add or remove packages
- Convert boxes to pallets
- Consolidate multiple boxes
Best Practices
- Set Accurate Dimensions - Measure real products including packaging
- Configure Freight Classes - Essential for LTL rate accuracy
- Use Custom Box Sizes - Match your actual packaging inventory
- Enable Consolidation - Set max_boxes_before_pallet for bulk orders
- Test With Real Orders - Verify calculations match actual shipments
- Leverage Auto Mode - Let the algorithm optimize carrier selection
Troubleshooting
Incorrect Package Calculation
- Verify product dimensions are set
- Check parts configuration if using unassembled shipping
- Review freight class settings
- Test with manual package editing
Everything Going to Pallets
- Check product dimensions aren't exceeding parcel limits
- Verify packaging_mode isn't set to "Pallets Only"
- Review individual product package_type settings
Too Many Boxes Generated
- Enable "Prefer Fewer Packages" in settings
- Lower the max_boxes_before_pallet threshold
- Add larger custom box sizes
Next Steps
- Rate Shopping - Compare carrier rates
- Configuration - Customize packaging settings
- Shipping Options - Product-level shipping settings
- Parts - Configure product components