Skip to main content

BOM generation methods

There are two ways of generating a Bill of materials (BOM):

  • Manually, where an Operator selects and adds Hardware and installation items to the BOM.
  • Automatically, where the BOM is systematically generated based on a default or customised rule set.

You can set the BOM generation method used in your Environment using Contractor class flags.

Manual BOM generation

If your Environment is configured for manual BOM generation, an Operator will need to select and add items to each BOM. They'll do this:

  • in the System design and quote workflow as part of the Enter quote items task.
  • by reviewing the system design, and choosing Hardware and installation items to add to the BOM.

Automatic BOM generation

If your Environment is configured for Automatic BOM creation, each BOM will be systematically generated based on a rule set. You can manage rule sets using the BOM Automator Console app. This app enables you to:

  • Create a rule set for a Project class
  • Update existing rules
  • Create and manage Bundles
  • Test rule sets and Bundles

Rule sets

In the BOM Automator, rule sets are groups of rules used to generate a BOM. Rule sets are applied based on the Project class and Contractor class applied to the Quote. For a given Project class, the BOM Automator considers both:

  1. Project rule set: rules that are always applied for this Project class, regardless of the Contractor class
  2. Contractor-specific rule set: rules that are applied for this Project class, based on the selected Contractor class

When you add a new Project class to your Environment, by default the Project rule set will be empty.

Maintaining the Project rule set

Maintain the Project rule set to ensure it remains relevant for all Contractors. If a rule no longer applies universally to all Contractors for this Project class, it should be removed from this set and added to the Contractor's specific rule set.

Rule types

There are three rule types available for automatic BOM generation:

  • Condition-based rules
  • SKU-based rules
  • Fixed rules

Condition-based rules

Condition-based rules allows SKUs to be added to the BOM when certain conditions are met. These rules follow the format, where you can add more than one condition or SKU:

IF condition X is satisfied, THEN add SKU Y.

Conditions can compare variables to either a fixed value or another variable, of the same units. Some examples of Condition-based rules are:

  • If the site export limit > 5kW, then add an export meter SKU
  • If the site export limit > inverter rated power, then add an export meter SKU

SKU-based rules

SKU-based rules define a relationship between SKU sub-categories or SKUs. These rules follow the format:

For every sub-category/ SKU X included in the system design, then add SKU Y.

Some examples of SKU-based rules are:

  • For every inverter SKU is included in a system design, then add a circuit breaker SKU
  • For a certain type of battery included in a system design, then add a gateway device SKU

Please note this rule type was previously known as relational rules.

Fixed rules

Fixed rules always add certain SKUs to the BOM. These rules follow the format:

Always add SKU Y.

Some examples of fixed rules are:

  • Always add a shipping fee SKU
  • Always add a flat service fee SKU
warning

SKUs added to the BOM using fixed rules do not activate SKU-based and condition-based rules.

Bundles

A Bundle is a collection of SKUs that is grouped and sold as a single unit for a set price. Each Bundle has:

  • A name, SKU, description, and price.
  • Identifying conditions and SKUs - these are the conditions and the SKUs in the system design that are used to automatically identify the Bundle.
  • Additional SKUs - these are SKUs that are added to the BOM when the Bundle is identified.

When a Bundle is added to a BOM, its identifying and additional SKUs have a $0 price.

SKU quantities

To add a SKU using an automated rule, it must have a defined quantity. The quantity can be defined by a:

  • Fixed integer
  • Calculated formula, using provided keywords and functions.

The value of keywords are defined based on the system design. An example of a calculated formula applied in a condition-based rule are:

  • If the system contains solar panels, add 2*(design.solarDesign.panelCount + design.solarDesign.panelRowCount) universal clips.
Integer-only SKU Quantities

As only integer SKU quantities are allowed, if a formula results in a non-integer value, it will be rounded up to the nearest integer.