Catalog
Line Items

Line Items

Line items define the order form fields that customers fill out when placing an order. These are the dimensions, quantities, and other specifications needed to build and price each item.

Overview

TimberCloud Storefront — Product Catalog

Line items are the rows in an order. Each row represents one configuration of your product.

Example Order Form:

QTYWidthHeightNotes
224 1/234 1/2Kitchen
31224 3/4Bathroom
114 1/230 3/4Pantry

The fields shown (QTY, Width, Height, Notes) are your line item configuration.


TimberCloud Storefront — Product Catalog

Default Line Items

When you create a new product, three fields are included by default:

FieldTypeDescription
qtyNumberQuantity of items
widthNumberItem width
heightNumberItem height

You can customize these defaults or add additional fields.


Adding Line Item Fields

Step 1: Open Line Items

Navigate to your product and click the Line Items tab.

Step 2: Add Field

Click the "+" icon to add a new field.

Step 3: Configure Field

SettingDescription
NameInternal field name (used in formulas)
LabelDisplay label shown to customers
Data TypeType of input (see Data Types)

Data Types

Each line item field has a data type that controls input behavior:

TypeDescriptionExample Input
NumberStandard numeric input24, 36.5
FractionFractional measurement24 1/2, 3/4
DecimalDecimal number24.50, 0.75
IntegerWhole numbers only1, 2, 10
PriceCurrency value$25.00
DescriptionText field"Custom notes"
BooleanYes/No toggleYes, No
ListDropdown selectionSelect from options
BlockVisual spacer(Empty column)

Choosing the Right Type

  • Fraction for customer-facing dimensions (easier to read)
  • Decimal when precise numeric values are needed
  • Number for general numeric input
  • List when customers should pick from predefined options
  • Description for notes or special instructions

Field Settings

Click the edit button on any field to access its settings:

Basic Settings

SettingDescription
NameInternal field name
LabelCustomer-facing label
Data TypeInput type
Default ValuePre-populated value
RequiredMust be filled before submission

Document Visibility

Control where each field appears:

SettingDescription
InvoiceShow on customer invoice
Cut SheetShow on production cut sheet
LabelsInclude on product labels
Packing SlipShow on packing slip
Quality ControlInclude in QC checklist
Visible to CustomerShow in customer portal

Default Values

Fields can have default values that pre-populate:

Static Default

Enter a fixed value that appears by default:

  • Default width: 24
  • Default quantity: 1

Attribute Default

Pull the default from an attribute:

  • Default thickness from material.thickness
  • Default price from material.price

Conditional Default

Set defaults based on other field values using the formula system.


Using Line Items in Formulas

Line item fields are referenced in Pricing and Parts formulas.

Reference Format

Reference line item fields directly by name:

width
height
qty
depth

Examples in Pricing

// Square foot pricing
const sqFt = (width * height) / 144;
return sqFt * material.price;

Examples in Parts

Part dimensions can reference line item fields:

  • Stile length: height + lip_factor
  • Rail length: width - (stile_width * 2)

Single Line Item Mode

For retail-style products, enable Single Line Item Only in product settings:

FeatureStandard ModeSingle Line Item
RowsMultipleOne only
Add RowYesNo
Best ForCustom manufacturingSimple products

When enabled:

  • Customers can only configure one item per order
  • No "Add Row" button appears
  • Good for products with fixed configurations

List Fields

Create dropdown selections for line items:

Creating a List Field

  1. Add a new line item field
  2. Set data type to List
  3. Define the options

List Options

Each option has:

  • Label: Display text
  • Value: Internal value (for formulas)

Example: Room Selection

LabelValue
Kitchenkitchen
Bathroombathroom
Bedroombedroom

In formulas, reference as room to get the selected value.


Best Practices

Naming

  • Use lowercase, single-word names internally (width, height)
  • Use clear labels for customers ("Width (inches)")
  • Be consistent across products

Required Fields

  • Mark essential fields as required
  • Don't over-require—only fields truly needed
  • Consider customer workflow

Document Settings

  • Invoice: Customer-relevant fields only
  • Cut Sheet: Production-relevant fields
  • Keep documents focused and readable

Mobile Considerations

  • Fewer fields = better mobile experience
  • Use appropriate keyboard types (number fields show number keyboard)
  • Group related fields logically

Common Configurations

Cabinet Door

FieldTypeRequiredInvoiceCut Sheet
qtyNumberYesYesYes
widthFractionYesYesYes
heightFractionYesYesYes
hinge_sideListYesYesYes
notesDescriptionNoNoYes

Drawer Box

FieldTypeRequiredInvoiceCut Sheet
qtyNumberYesYesYes
widthFractionYesYesYes
heightFractionYesYesYes
depthFractionYesYesYes
slide_typeListYesYesYes

Simple Product

FieldTypeRequiredInvoiceCut Sheet
qtyNumberYesYesYes
colorListYesYesNo
sizeListYesYesYes

Field Change Rules

Field Change Rules allow one line item field to automatically update other fields when its value changes. This enables dynamic form behavior without custom code.

Common Use Cases

TriggerActionExample
Boolean toggleSet multiple fields"Has Rails" → sets Top Rail = 2", Bottom Rail = 3"
List selectionCopy attribute valueSelect "Oak" → auto-fill grain direction
Number fieldSet conditional valuesWidth > 48 → set "Oversized" = true

Creating Rules

  1. Edit a line item field
  2. Expand Field Change Rules section
  3. Click Add Rule
  4. Configure the condition and actions

Condition Operators

When the field value changes, check if it meets a condition:

OperatorDescriptionExample
EqualsMatches exact valuewidth = 24
Not EqualsDoes not match valuematerial ≠ "MDF"
Greater ThanNumeric comparisonheight > 36
Less ThanNumeric comparisonqty < 10
Greater Than or EqualInclusive comparisonwidth ≥ 24
Less Than or EqualInclusive comparisondepth ≤ 12
ContainsText includes substringnotes contains "rush"
Is EmptyField has no valuenotes is empty
Is Not EmptyField has a valueroom is not empty

Action Types

When a condition is met, perform one or more actions:

ActionDescriptionUse Case
Set ValueSet a specific valueSet top_rail = "2.25"
Clear ValueRemove the current valueClear notes field
Copy from Another FieldCopy value from sibling fieldCopy width to height
Copy from Product AttributeCopy value from selected attribute optionCopy material thickness from selected wood type

Example: "Has Rails" Toggle

A common pattern for cabinet doors:

Trigger Field: has_rails (Boolean)

Rule:

  • When has_rails equals true:
    • Set top_rail = "2 1/4"
    • Set bottom_rail = "3"
    • Set stile_width = "2 1/4"

This auto-fills rail dimensions when the toggle is enabled.

Example: Material-Based Values

Auto-fill values based on product attribute selection:

Trigger Field: edge_type (List)

Rule:

  • When edge_type equals "Applied Edge":
    • Set edge_thickness from attribute Edge.thickness
    • Set edge_material from attribute Edge.name

Display as Fraction

For numeric values being set, enable Display as Fraction to convert decimal values to fractional format:

  • 2.252 1/4
  • 0.51/2

Multiple Actions per Rule

A single rule can trigger multiple actions. All actions execute when the condition is met.

Multiple Rules per Field

Add multiple rules with different conditions. Rules are evaluated in order when the field changes.


Visibility Conditions

Visibility Conditions control when a field is shown or hidden based on other values. Use this to create dynamic forms that adapt to user selections.

Enabling Visibility Conditions

  1. Edit a line item field
  2. Expand Visibility Condition section
  3. Toggle Enable
  4. Configure the condition

Condition Sources

Control visibility based on two types of sources:

Line Item Field

Show/hide based on another field in the order form:

SettingDescription
Based onLine Item Field
Line Item FieldSelect the controlling field
ConditionChoose operator (equals, not equals, etc.)
ValueThe value to compare against

Example: Show "Grain Direction" only when "Has Grain" is true

Product Attribute

Show/hide based on a selected product attribute option:

SettingDescription
Based onProduct Attribute
Product AttributeSelect the attribute (Material, Edge, etc.)
Property to CheckOption Name or specific part value
ConditionChoose operator
ValueThe value to compare against

Example: Show "Veneer Edge Width" only when Material.name equals "Walnut"

Example: Material-Specific Fields

Show grain direction only for wood materials:

SettingValue
Based onProduct Attribute
Product AttributeMaterial
Property to CheckOption Name
ConditionEquals
ValueOak

The "Grain Direction" field will only appear when the customer selects Oak material.

Example: Boolean-Controlled Fields

Show detail fields only when a toggle is enabled:

SettingValue
Based onLine Item Field
Line Item Fieldhas_hinge_boring
ConditionEquals
ValueTrue (On)

The "Hinge Spacing" and "Hinge Cup Size" fields only appear when hinge boring is enabled.

Example: Numeric Threshold

Show oversized handling field when dimensions exceed limits:

SettingValue
Based onLine Item Field
Line Item Fieldwidth
ConditionGreater Than
Value48

The "Oversized Handling" dropdown appears only for items wider than 48".

Preview

When configuring a visibility condition, a preview shows the rule in plain language:

"Grain Direction" will be shown when "Material" → "Option Name" equals "Oak"


Troubleshooting

Field Not Appearing

  • Verify the field is saved
  • Check visibility settings (Visible to Customer)
  • Refresh the product page
  • Check visibility conditions - the field may be hidden by a condition

Formula Reference Errors

  • Field names are case-sensitive
  • Check for spaces in field names
  • Verify the field exists on the product

Default Value Issues

  • Ensure attribute reference is correct
  • Check that the attribute option has a value
  • Test with a new order

Rules Not Triggering

  • Verify the condition matches your test value exactly
  • Check that the target field exists
  • Ensure the rule is on the correct source field
  • For attribute-based rules, verify the attribute name matches

Visibility Condition Not Working

  • Ensure the condition is enabled
  • Verify the source field/attribute name matches exactly
  • For attribute-based conditions, check that the attribute has been selected
  • Test with different values to verify the condition logic

Next Steps