Parts
Parts define the individual components that make up your products. Once defined, parts are used for both shipping calculations (packaging and rate optimization) and production documents (build sheets).
Overview

When you configure parts for a product, TimberCloud uses them to:
- Calculate Shipping - Each part's dimensions and weight feed into the smart packaging algorithm
- Generate Build Sheets - Parts become rows in your production documents
- Create Build Sheets - Detailed breakdowns of material cuts needed
- Optimize Packaging - Parts can ship assembled or as separate components
The Key Question
Parts configuration answers: What are the physical components of your product, and how should they be handled?
A cabinet door might have stiles, rails, and a panel. A dining table might have a tabletop, legs, and an apron. Defining these parts enables accurate shipping quotes and detailed production documents.
Creating Parts
Adding a New Part
- Navigate to your product
- Open the Parts or Shipping tab
- Click the "+" icon to add a part
- Configure the part properties
Part Properties
| Property | Description | Example |
|---|---|---|
| Name | Descriptive part name | "Stile", "Rail", "Panel", "Tabletop" |
| Quantity | Number per product | 2 stiles per door, 4 legs per table |
| Dimensions | Width, length, height | Static values or calculated formulas |
| Weight | Part weight | Auto, fixed, field-based, or calculated |
| Show on Cutsheet | Include in production documents | Yes/No |
| Package Separately | Ship in its own package | Yes/No (for fragile items) |
| Stackable | Can be stacked during shipping | Yes/No |
Ships Assembled Toggle
This critical setting determines how your product ships:
Ships Assembled = ON (Default)
- Product ships as a single unit
- Overall product dimensions used for packaging
- Parts still appear in build sheets for production
- Best for: finished goods, assembled furniture, completed items
Ships Assembled = OFF
- Product ships as separate pieces
- Each part is packaged individually by the algorithm
- Parts with "Package Separately" get their own boxes
- Best for: large furniture, kits, unassembled products
Dimension Configuration
Part dimensions can be set three ways using the Formula Builder:
Static Values
Fixed dimensions for parts that never change:
Width: 2.25
Length: 36
Height: 0.75Field Reference
Map to line item fields for dynamic sizing:
Width: width (from line item)
Length: height (from line item)
Height: depth (from line item)Calculated Formulas
Use the Formula Builder to combine fields with operations:
Width: design.stile_width + edge.lip_factor
Length: height - (rail_width * 2)
Height: material.thicknessClick the formula icon next to any dimension field to open the visual Formula Builder.
Shaker Door Example
| Part | Qty | Width Formula | Length Formula |
|---|---|---|---|
| Stile | 2 | design.stile_width | height + edge.lip_factor |
| Rail | 2 | design.rail_width | width - (stile_width * 2) |
| Panel | 1 | width - 5 | height - 5 |
Weight Configuration
Each part can have its weight configured using one of four modes:
| Mode | Description | Best For |
|---|---|---|
| Auto | Calculated from freight class + dimensions | Products with consistent density |
| Fixed | Static weight value (lbs, oz, kg) | Simple parts with known weight |
| Field | Maps to a product attribute field | Variable weights by material |
| Calc | Custom formula calculation | Complex weight requirements |
Auto Mode (Default)
Uses the product's freight class to determine density, then calculates weight from part dimensions. Default density is 8 lbs/ft³ if no freight class is set.
Field Mode Example
Map to a "density" attribute on your product:
Source Field: material.density
Unit: lbs per cubic footThe system calculates: part_volume × material.density = weight
Calculation Mode Example
(width × height × depth / 1728) × material.density + 0.5This calculates cubic feet, multiplies by density, and adds 0.5 lbs for hardware.
Quantity Configuration
Part quantity can be dynamic based on order configuration:
Static Quantity
Fixed number of parts:
Quantity: 2 (always 2 stiles per door)Field Reference
Read from line item:
Quantity Field: shelf_count (customer specifies)Calculated Quantity
Formula-based:
Quantity Calculation: height / 12 (one brace per foot)Shipping Options
Package Separately
Enable when a part should never be combined with other parts:
- Fragile glass panels that need individual boxing
- Tabletops that exceed parcel limits
- Items with different freight classes
- Delicate components requiring special handling
When enabled, the packaging algorithm creates a separate consolidation group for this part type.
Stackable
Indicates whether multiple units can be stacked during shipping:
- ON: Parts can be stacked in packages (panels, flat components)
- OFF: Each part needs separate layer/space (fragile items)
Build Sheet Integration
Parts integrate directly with the Build Sheet Builder:
Using Parts as Row Source
- Open the Build Sheet Builder
- Select a table
- Set Row Source to "Parts"
- Each part becomes a row in your table
Available Columns
When using parts as row source:
| Column Type | Description |
|---|---|
| Part Name | The part's name |
| Quantity | Calculated quantity (expanded) |
| Dimensions | Width, length, height values |
| Material | Inherited from product option |
| Row Number | Sequential numbering |
| Weight | Calculated part weight |
Example Build Sheet
| # | Part | Qty | Width | Length | Material |
|---|---|---|---|---|---|
| 1 | Stile | 2 | 2.25" | 36" | Cherry |
| 2 | Rail | 2 | 2.25" | 19.5" | Cherry |
| 3 | Panel | 1 | 19" | 31" | Cherry Veneer |
Shipping Integration
When Ships Assembled is OFF, the packaging algorithm:
- Extracts each part as a separate item
- Calculates part dimensions from your configuration
- Determines optimal package type per part (Box or Pallet)
- Groups compatible parts into packages
- Separates parts marked "Package Separately"
- Applies weight calculations for accurate shipping rates
See Shipping & Logistics for packaging algorithm details.
Real-World Examples
Example 1: Shaker Cabinet Door (Ships Assembled)
Ships Assembled: ON - Product ships as complete door
| Part | Qty | Width | Length | Show on Cutsheet |
|---|---|---|---|---|
| Stile | 2 | 2.25" | height | Yes |
| Rail | 2 | 2.25" | width - 4.5" | Yes |
| Panel | 1 | width - 5" | height - 5" | Yes |
Result:
- Shipping uses overall door dimensions
- Build sheet shows all component cuts for production
Example 2: Dining Table (Ships Unassembled)
Ships Assembled: OFF - Product ships as separate pieces
| Part | Qty | Dimensions | Package Separately | Stackable |
|---|---|---|---|---|
| Tabletop | 1 | 72" × 42" × 2" | Yes (fragile) | No |
| Leg | 4 | 4" × 4" × 29" | No | Yes |
| Apron | 2 | 3" × 60" × 4" | No | Yes |
| Hardware Kit | 1 | 6" × 6" × 3" | Yes | No |
Result:
- Tabletop ships alone (pallet)
- Legs and aprons consolidate into boxes
- Hardware ships separately
- Build sheet shows all parts for production
Example 3: Custom Closet System
Ships Assembled: OFF - Variable components
| Part | Qty | Notes |
|---|---|---|
| Side Panel | 2 | Static quantity |
| Shelf | shelf_count | From customer selection |
| Top | 1 | Static |
| Back Panel | 1 | Stackable |
Result:
- Packaging adapts to customer's shelf count
- Build sheet expands to show all shelves
Measurements
Each part spec can specify its measurement type:
| Measurement | Description | Formula |
|---|---|---|
| Inches | Direct value | value |
| Feet | Linear feet | value / 12 |
| Board Feet | Lumber volume | (W × H × D) / 144 |
| Square Inches | Area | W × H |
| Square Feet | Area in sq ft | (W × H) / 144 |
| Linear Feet | Length in feet | length / 12 |
| Cubic Inches | Volume | W × H × D |
| Cubic Feet | Volume in cu ft | (W × H × D) / 1728 |
Reusable Parts Library
Create a library of parts that can be attached to multiple products:
Creating Reusable Parts
- Go to Catalog → Parts Library
- Click "Create Part"
- Define the part with specs
- Save to library
Attaching to Products
- Open product's Parts tab
- Click "Attach Existing Part"
- Select from library
- Part is linked to product
Benefits
- Consistency across products
- Single update propagates everywhere
- Faster setup for new products
Build Sheet Generation
Parts automatically generate build sheets in order PDFs:
Build Sheet Contents
- Order Header - Customer and order details
- Line Items Table - Dimensions and quantities
- Parts Breakdown - Each part with calculated dimensions
- Material Summary - Grouped by material type
Validation Rules
Build sheet generation enforces:
- Quantities must be zero or positive
- Dimensions must be positive (non-zero)
- Invalid values fall back to safe defaults
Best Practices
- Use descriptive names - "Left Stile" vs "Part 1"
- Include all components - Even small hardware for accurate shipping
- Set accurate weights - Critical for reliable shipping quotes
- Mark fragile items - Use Package Separately for delicate parts
- Test with real orders - Verify calculations match actual products
- Use the library - Reusable parts save time and ensure consistency
Troubleshooting
Parts Not Appearing in Packages
- Verify Ships Assembled is set to OFF
- Check that part dimensions are valid (positive numbers)
- Ensure quantity is greater than 0
Incorrect Dimensions
- Review formula syntax
- Verify attribute field names match exactly
- Test with known input values
Build Sheet Missing Parts
- Confirm Show on Cutsheet is enabled
- Check that Row Source is set to "Parts"
- Verify parts are defined on the product
Weight Calculation Issues
- For Auto mode: verify freight class is set on product
- For Field mode: check field mapping is correct
- For Calc mode: verify formula syntax
Inventory Deductions
Parts can also drive inventory calculations. When configured, the system deducts materials based on part dimensions and quantities.
Setting Up Inventory Formulas
- Go to Product → Inventory tab
- Click "Create Formula" to open the Formula Builder
- Build a calculation using part dimensions
Common Inventory Formulas
| Material Type | Formula |
|---|---|
| Sheet Goods | Square Feet × qty × 1.10 (with 10% waste) |
| Lumber | Board Feet × qty |
| Edge Banding | Perimeter × qty |
| Linear Materials | Linear Feet × qty |
The same Formula Builder used for parts dimensions works for inventory calculations.
Visual Part Builder
For doors, cabinets, and other complex products, consider using the Visual Part Builder instead of manual parts configuration:
- Visual configuration — See real-time 2D/3D previews
- Auto-calculation — Dimensions computed from field mappings
- Layout templates — 12+ layout types for doors, cabinets, drawers
- Build sheet integration — Parts flow directly to production documents
The Visual Part Builder is ideal for:
- Cabinet doors with stiles, rails, and panels
- Cabinet boxes with configurable components
- Drawer boxes with standard construction
- Any product with predictable part relationships
Learn more about Visual Part Builder →
Next Steps
- Visual Part Builder - Visual layout editor for doors and cabinets
- Shipping Options - Configure product shipping settings
- Formula Builder - Learn the step-based formula system
- Build Sheet Builder - Create visual production documents
- Shipping & Logistics - Packaging and rate shopping
- Build Sheets - View generated build sheets
- Inventory Management - Track stock and deductions