Skip to main content

Managing Assemblies

Assemblies are pre-built packages of components that streamline the estimating process.

What Is an Assembly?

An assembly groups related components that are typically used together:

  • Kitchen Cabinet Assembly - Base cabinets, wall cabinets, hardware, installation labor
  • Bathroom Vanity Assembly - Vanity, faucet, plumbing, installation
  • Flooring Assembly - Flooring material, underlayment, installation labor

Assemblies speed up estimating by allowing users to add multiple items at once with a single selection.

Accessing Assemblies

  1. Go to Settings > Estimates
  2. Click Assemblies
  3. View, search, and manage your assembly library

Adding an Assembly

  1. Click Add Assembly
  2. Fill in basic information:
    • Name - Assembly description
    • Category - Cost code category
    • Size/Color/Options - Variant information
    • Unit - Unit of measure
  3. Add components (see below)
  4. Configure settings
  5. Click Save

Assembly Components

Adding Components to an Assembly

  1. Open an assembly
  2. Click Add Component
  3. Search for and select components
  4. For each component, set:
    • Quantity - Amount per assembly unit
    • Action - Install, Demo, or Demo & Install
    • Option - Material Only, Labor Only, or Both

Component Actions

ActionDescription
InstallNew installation
DemoRemoval/demolition only
Demo & InstallRemove existing and install new
+Add to estimate (default)
-Subtract/credit

Component Options

OptionDescription
BothInclude material and labor
Material OnlyMaterial without labor
Labor OnlyLabor without material

Quantity Calculations

Component quantities can be:

  • Fixed - Always this amount per assembly
  • Calculated - Based on assembly quantity

Example: A "Tile Floor" assembly at 100 sq ft might include:

  • Tile: 110 sq ft (10% overage)
  • Thinset: 1 bag per 50 sq ft = 2 bags
  • Labor: 100 sq ft

Assembly Settings

Basic Settings

FieldDescription
NameAssembly name
CategoryCost code for categorization
Size/Color/OptionsVariant descriptors
UnitUnit of measure (each, sq ft, etc.)
Minimum QtyMinimum quantity when adding to estimate

Work Scope

Define default work scope text:

  • Installation Scope - What gets installed and how
  • Demolition Scope - What gets removed

Work scope text appears in contracts and work orders.

Behavior Settings

SettingDescription
Selection RequiredCustomer must make a product selection
Field MeasurementRequires field verification
PO RequiredPurchase order needed
EnabledAssembly is active and available

Divisions

Limit assemblies to specific project types:

  • Kitchen assemblies only show for kitchen projects
  • Bathroom assemblies only show for bathroom projects
  • Leave blank for all project types

Pinned Assemblies

Pin frequently-used assemblies for quick access.

Pinning an Assembly

  1. Open the assembly
  2. Toggle Pinned on
  3. Set Position for sort order

Sorting Pinned Assemblies

  1. Go to Assemblies
  2. Click Sort Pinned
  3. Drag assemblies to reorder
  4. Save

Pinned assemblies appear at the top of the assembly list when estimating.

Assembly Cost Codes

Assemblies are organized by cost code:

  • Cost codes appear as groups in the assembly list
  • Users can filter by cost code when estimating
  • Cost codes determine default markup rates

See Cost Codes for setup instructions.

Editing Assemblies

  1. Find the assembly in the list
  2. Click to open
  3. Modify settings or components
  4. Click Save
caution

Editing an assembly updates the master record. Existing estimates using this assembly keep their original values.

Duplicating Assemblies

Create variations efficiently:

  1. Open an existing assembly
  2. Click Duplicate
  3. Modify name and components
  4. Save as new assembly

Use this for:

  • Size variants (Small, Medium, Large)
  • Quality tiers (Standard, Premium)
  • Regional variations

Deleting Assemblies

  1. Select the assembly
  2. Click Delete
  3. Confirm deletion

Deleting an assembly does not affect existing estimates.

Filtering Assemblies

Find assemblies using:

  • Category - Filter by cost code
  • Search - Name, description
  • Pinned - Show only pinned assemblies
  • Division - Filter by project type

Assembly Pricing

Assembly pricing is calculated from components:

Assembly Price = Sum of (Component Price × Quantity)

To update assembly pricing:

  1. Update individual component costs/prices
  2. Assembly price updates automatically

Markup

Markup can be applied at multiple levels:

  1. Component level - Per-item markup
  2. Category level - Default markup for the category
  3. Estimate level - Override during estimating

Link assemblies that are commonly used together:

  1. Open an assembly
  2. Go to Related Assemblies
  3. Add related items
  4. Save

When adding the assembly to an estimate, users see related options.

Assembly Templates

For complex projects, create estimate templates that include multiple assemblies:

  1. Build a complete estimate with all standard assemblies
  2. Save as template
  3. Use template for similar projects

See Schedule Templates for more information.

Tips for Assembly Management

Structure

  • One assembly per distinct scope of work
  • Keep assemblies focused and modular
  • Use categories to organize by trade or cost code

Naming

Use a clear, descriptive format. Don't repeat the cost code category in the name since assemblies are already organized by category.

[Scope/Item] - [Variant]

Examples:

  • Cabinet Install - Standard
  • Cabinet Install - Premium
  • Shower Tile - Ceramic
  • Shower Tile - Porcelain
  • Outlet Add - Standard
  • Toilet Install - Standard
  • Hardwood Install - Oak

The cost code category (Electrical, Plumbing, Flooring, etc.) already groups the assembly, so focus the name on what distinguishes it within that category.

Components

  • Include all related costs (material + labor + sub)
  • Add typical waste factors
  • Include small items (hardware, supplies)

Maintenance

  • Review assemblies when vendor prices change
  • Update work scope text as processes evolve
  • Disable outdated assemblies (don't delete if used historically)