Product Behaviors

βš™οΈ Product Behaviours

Product Behaviors let you define rules that control how a product line and its child lines behave on a project. They give you precise control over what users can edit, how quantities are calculated, and whether lines are included in totals or synced to external systems.

🧾 What is a Product Behaviour?

A Product Behavior is a named configuration that is assigned to a product. When that product is added to a project, its behaviour rules are applied automatically to the parent line and any child lines associated with it.

Each behaviour is made up of two groups of settings - Parent Line Permissions and Child Line Permissions - that control what is editable and how values are derived.

Product Behaviors are configured in Settings > Data Management > Product Behaviours.

βš™οΈ How Product Behaviours Work

When a product with an assigned behaviour is added to a project:

  • The parent line respects the Parent Line Permissions defined on the behaviour

  • Child lines added to that parent respect the Child Line Permissions

  • Quantity relationships between parent and child lines follow the configured Parent Quantity Mode

If a product has no behaviour assigned, the default behaviour is applied automatically.

πŸ”— Parent Quantity Mode

The Parent Quantity Mode controls how the parent line's quantity relates to its child lines. There are four options:

Mode
Description

None

No quantity relationship between parent and child lines

Sum

The parent quantity reflects the sum of all child line quantities

Override

The parent quantity is pushed to all child lines when the parent is updated

Multiplicative

Each child line has a "Per Parent Qty" value that is multiplied by the parent quantity to calculate the child's total quantity

🧩 Parent Line Permissions

Parent Line Permissions control what can be edited on the parent project line:

  • Add Child - Allows additional products to be added as child lines to the parent. Child line values contribute to the parent's totals based on the quantity mode and include settings

  • Edit Quantity - Allows the parent line quantity to be edited. When a product has child lines, this is disabled unless explicitly enabled here

  • Edit Supplier - Allows the parent line supplier to be edited

  • Sync to ERP - Allows the parent line to sync to external systems when added to documents

🧩 Child Line Permissions

Child Line Permissions control what can be edited and calculated on each child line:

  • Edit Quantity - Allows the child line quantity to be edited directly

  • Edit Supplier - Allows the child line supplier to be edited. When disabled, the supplier column is hidden entirely

  • Edit Cost - Allows the child line cost to be edited

  • Edit Markup/Margin - Allows the child line markup or margin to be edited

  • Edit Selling - Allows the child line selling price to be edited

  • Edit Discount - Allows the child line discount to be edited

  • Include in Calc - Includes the child line values when calculating parent totals

  • Sync to ERP - Allows the child line to sync to external systems when added to documents

πŸ“‹ Product Behaviours on Project Lines

When a product with an assigned behaviour is placed on a project, the behaviour shapes what you see and can interact with on that line.

Parent Line

On the parent line, the behaviour controls:

  • Whether the Add Child Row option appears in the line's action menu

  • Whether the quantity field is editable or locked (quantity is locked when the product has children unless Edit Quantity is enabled)

  • Whether the supplier field is editable

  • Whether the line syncs to the ERP when documents are created

Child Lines

When child lines are added, they appear in an expandable section below the parent. The behaviour controls which columns are visible and editable:

  • Fields with editing disabled are shown as read-only

  • The supplier column is hidden entirely when Edit Supplier is disabled

  • The quantity column label changes to "Per Parent Qty" when Parent Quantity Mode is set to Multiplicative

Multiplicative Quantity Mode

When the Multiplicative mode is active, each child line has a "Per Parent Qty" field instead of a standard quantity field.

When the parent line quantity is updated:

  • Each child line's total quantity is recalculated as: parent quantity x per-parent quantity

  • The "Per Parent Qty" value represents how many units of that child are needed per parent unit

  • The calculated total quantity is shown below the field as "Total units: [n]"

Adding and Removing Child Lines

The Add Child Row option appears in the parent line's action menu only when the Add Child permission is enabled on the behaviour.

Child lines can be removed from their own action menu, again only when the Add Child permission is enabled.

Child lines cannot be added or removed once a sales order or purchase order exists against the project line.

πŸ’‘ Why Use Product Behaviours?

Product Behaviours are particularly useful for:

  • Controlling which fields users can modify on complex multi-component products

  • Ensuring child line quantities stay in sync with parent quantities automatically

  • Preventing accidental edits to cost or selling prices on bundled items

  • Deciding which lines are visible to external systems and which remain internal

  • Standardising how product bundles behave across all projects without manual setup

βœ… Summary

Product Behaviours give you structured control over how products and their child lines work on a project:

  • Define what is editable on both the parent and child lines

  • Configure how parent and child quantities relate to each other

  • Control which lines are included in totals and synced to external systems

Once a behaviour is assigned to a product, it applies automatically every time that product is added to a project - keeping your quoting process consistent and reducing the chance of errors.

Last updated