Skip to main content

Weight Presets

Admin

Weight presets define the standard weight options available for cannabis products sold by weight. Instead of manually entering a price for every product-weight combination, you configure preset weights once and pair them with Pricing Templates to generate a full pricing matrix.

Weight presets page

Feature flag required

Weight presets are only available when Use Weight Presets is enabled in your store settings. Navigate to Settings > Edit Settings > Products & Inventory tab and toggle on Use Weight Presets.


Default Weight Presets

Brother POS ships with the following standard weights commonly used in Canadian cannabis retail (names include the fractional-ounce equivalent inline):

Default NameWeightCommon Name
1g1.0 gram"A gram"
3.5g (⅛ oz)3.5 grams"An eighth"
7g (¼ oz)7.0 grams"A quarter"
14g (½ oz)14.0 grams"A half"
28g (1 oz)28.0 grams"An ounce"

You can modify these defaults, add additional presets, or remove ones you do not use.


Accessing Weight Presets

  1. Log in to the Admin Panel.
  2. Navigate to Products.
  3. Click the More dropdown on the Products page, then click Weight Presets (appears only when Use Weight Presets is enabled).
  4. The weight preset list loads, showing all configured presets.

Understanding the Weight Presets Table

The index page displays a table with the following columns:

ColumnDescription
CheckboxSelect presets for bulk actions.
NameThe display label for the weight (e.g., 3.5g (⅛ oz)).
WeightThe weight value in grams (e.g., 3.5g).
Sort OrderAuto-assigned based on weight (0–1 = 1, 1–3.5 = 2, 3.5–7 = 3, 7–14 = 4, 14–28 = 5, 28–56 = 6, 56–112 = 7, else 8).
StatusActive / Inactive badge.
POS✓ if visible in the POS and product wizard, otherwise.
ActionsEdit and Delete buttons.

A Select All checkbox at the top selects all presets. Selected presets can be removed using the Delete Selected button (which appears once at least one row is checked).


Adding a New Weight Preset

  1. Click the New Weight Preset button.
  2. Fill in the fields:

Name

The display name shown on the POS register and in reports.

  • Required: Yes
  • Example: "3.5g", "Half Oz", "2g"

Weight Value (grams)

The weight value in grams. This is used for compliance calculations (equivalent gram tracking) and inventory management.

  • Required: Yes
  • Format: Decimal (e.g., 3.5)
  • Must be greater than zero.

Active

Checkbox to set whether the preset is active. Inactive presets are not available for use.

Show in POS & Product Wizard

Checkbox to control whether this weight appears as a quick-pick button on the POS register and in the new-product creation wizard. Stored as pos_visible.

  1. Click Save Weight Preset.
Common additions

Some stores add a 0.5g preset for pre-rolls or a 2g preset for budget options. Add whatever weights make sense for your product catalog.


Editing a Weight Preset

  1. Click the Edit button on the preset row.
  2. Modify the name, weight value, active status, or POS visibility.
  3. Click Save Weight Preset.
Editing weight values

Changing the weight value on an existing preset affects compliance calculations going forward. Historical sales retain their original weight values. Editing the weight value also triggers an automatic re-sync of all pricing templates that reference the old weight, which may drop that weight from their pricing matrices. If you need to track a different weight, consider creating a new preset instead.


Removing a Weight Preset

  1. Click the Delete button on the preset row.
  2. Confirm the deletion.

You can also delete multiple presets at once:

  1. Select presets using the checkboxes.
  2. Click Delete Selected.
  3. Confirm the deletion.
Impact on pricing matrix

Deleting a weight preset triggers QualityTierSetting.sync_all_with_presets!, which rebuilds every pricing template's matrix from the current list of active presets. Any prices stored for the deleted weight will be dropped from all templates. The sync has one safety net: if the rebuilt matrix would be empty (no active weights remain, or no surviving weights had prices), the template keeps its existing matrix untouched. In normal operation, expect deletions to remove prices permanently — this action cannot be undone.


Weight Presets and the Pricing Matrix

Weight presets form the rows of the pricing template pricing matrix. Each preset gets a price for each active pricing template:

              AA      AAA     AAAA    AAAA+
1g $8.00 $10.00 $12.00 $14.00
3.5g $25.00 $32.00 $40.00 $48.00
7g $45.00 $58.00 $72.00 $88.00
14g $80.00 $105.00 $135.00 $165.00
28g $140.00 $190.00 $250.00 $310.00

When you add a new weight preset, a new row appears in the matrix with empty prices. You must navigate to Pricing Templates (at /admin/quality_tier_settings) to fill in the prices for the new weight.


How Weight Presets Work on the POS

When a budtender selects a product with pricing template pricing:

  1. A weight selector appears showing all active, POS-visible weight presets.
  2. Each option displays the weight label and the calculated price for that product's pricing template.
  3. The budtender taps the desired weight.
  4. The item is added to the cart with the correct weight and price.

Products Without Pricing Templates

For products that use weight presets but do not have a pricing template (e.g., accessories sold by weight), the product's base price is used regardless of the selected weight. In this case, weight presets serve as a convenience for selecting the correct weight for labeling and compliance, not for price calculation.


Weight Presets and Compliance

Weight presets feed directly into compliance tracking:

  • Equivalent gram calculations -- Each sale records the weight in grams for daily purchase limit enforcement.
  • SLGA reporting -- Weight data is included in Saskatchewan Liquor and Gaming Authority reports.
  • Daily limits -- The system tracks total grams sold per customer per day. Weight presets ensure accurate gram calculations.
Accurate weights are critical

Incorrect weight values in presets will produce incorrect compliance data. Always verify that the weight value matches the actual product weight. A "3.5g" preset must have a weight value of exactly 3.5.


Scale Integration

If your store uses a digital scale (enabled via Settings > Edit Settings > Hardware & System tab), budtenders can weigh products directly on the POS:

  1. Place the product on the scale.
  2. The POS reads the weight via Web Serial API.
  3. The system finds the closest matching weight preset.
  4. The budtender confirms or adjusts the selection.

This is useful for products sold as loose flower where the exact weight may vary slightly.


Best Practices

  • Stick to standard weights -- 1g, 3.5g, 7g, 14g, and 28g cover the vast majority of use cases. Only add custom presets if you have a genuine business need.
  • Sort logically -- Order presets from smallest to largest. This is intuitive for budtenders.
  • Keep labels short -- "3.5g" is better than "3.5 grams (eighth)" on the POS register. Space is limited.
  • Audit quarterly -- Remove presets for weights you no longer sell. Fewer options means faster checkout.
  • Test on the POS -- After making changes, open the POS register and verify that the presets appear correctly.

What's Next?