Product Profiles
Product Profiles are reusable Product classifications such as Fragile, Requires Overbox, or Ship Alone. A Product can match more than one Product Profile, and Slotting Rules can use those profiles to decide where Products should or should not be stored.
If you need each Product to land in exactly one warehouse-specific group, use Handling Classes instead.
How to Create a Product Profile
- Navigate to System -> Product -> Product Profiles.
- Click Add Product Profile.
- Fill in the Name field and, if needed, the Code field.
- Build the matching rules in the condition builder.
- Click Save.
The visual condition builder covers the most common comparisons, including equals, not equals, greater than, less than, and list membership. You can also add an Expression is true row when you need a condition that the visual controls cannot express.
Advanced Expressions
Advanced expressions use Common Expression Language to combine Product fields with && for "and", || for "or", and parentheses for grouping.
Use present(field_name) when a field can be empty. present(field_name) is true only when the field has a saved value, so !present(field_name) means the field is empty.
For example, to match Products where Requires Overbox is No, Ship Separate is Yes, and Max Per Package is either empty or no greater than 1, use this expression:
requires_overbox == false && is_ship_separate == true && (!present(max_per_package) || max_per_package <= 1.0)
This treats an empty Max Per Package value the same as 0 for this comparison.
See Common Expression Language for the full syntax, supported operators, functions, and limitations.
Empty Field Examples
| Goal | Expression |
|---|---|
| Field has a value | present(max_per_package) |
| Field is empty | !present(max_per_package) |
| Empty or no more than 1 | !present(max_per_package) || max_per_package <= 1.0 |
| Exactly 1 and not empty | present(max_per_package) && max_per_package == 1.0 |
When a visual condition does not match empty values the way your workflow requires, replace that one condition with an Expression is true row and explicitly include the empty-field case.