---
title: "Managing Products"
description: "A product is an item in your catalog — something you stock and sell, a service you provide, a bundle of other products, or a non-physical item."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.beelocity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Products

A **product** is an item in your catalog — something you stock and sell, a service you provide, a bundle of other products, or a non-physical item. Every product belongs to a [family](product-families.html) that determines its attributes and data structure.

## Creating a Product

1. Go to **Products** and click **New**.
2. Fill in the core fields:
- **Name** — the product's display name (e.g., "Basic T-Shirt", "Industrial Cleaning Solution 5L").
- **SKU** — a **Stock Keeping Unit** code, unique within your organization. The SKU is the primary identifier used across inventory, purchasing, and sales. Choose something meaningful and consistent (e.g., `TSH-BASIC-001`, `CLEAN-IND-5L`).
- **Barcode** — the code a scanner sends at the [point-of-sale terminal](../pos/terminal.html), for simple products (EAN-13, UPC-A, or an internal code), unique within your organization. A configurable product does not need one: each of its variants carries its own barcode, and the till matches those first.
- **Family** — which [product family](product-families.html) this product belongs to. This determines the attributes you will be asked to fill in.
- **Type** — Simple, Configurable, Bundle, or Virtual (see [Products overview](index.html) for when to use each type).
- **Base price** — the default selling price before any [price list](pricing-and-price-lists.html) overrides. This is the fallback price used when no price list applies.
3. Fill in the **attributes** defined by the product's family — for example, if the family has a "Material" attribute, you will see a field for it here.
4. Save.

For **configurable** products, variants are automatically generated from the family's [variant attributes](product-attributes.html) as soon as you save. You do not need to create variants manually.

## The Product List

The main Products page shows all products in your organization in a searchable, sortable grid. You can:

- **Search** by name or SKU to quickly find a product.
- **Filter** by type, family, active status, a base-price range or the date a product was added, with the filter button beside the search box ([Working with lists](../getting-started/working-with-lists.html#narrowing-the-list)).
- **Sort** by any column (name, SKU, price, etc.).
- **Export** the list as a spreadsheet file from the **More** menu at the right of the top edge.
- **Adjust column visibility** — show or hide columns to focus on the information you need.

Click any product to open its dedicated page, where you can edit its fields, manage variants, and view related records. The bar at the top names the product and shows the product list one step up — click it, or the arrow beside it, to go back.

## Product Variants

For **configurable** products, variants are the actual items that get tracked in inventory and sold to customers. The parent product is a template; the variants are the real, stockable SKUs.

They live on the product's **Variants** tab, which searches by SKU or barcode and, through its
filter button, narrows by a **Price adjustment** or **Weight** range and to the **Default** or
**Active** variants (see [Working with lists](../getting-started/working-with-lists.html#narrowing-the-list)).

### What a Variant Contains

Each variant has its own independent set of fields:

| Field                     | Purpose                                                                                                                                                |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **SKU**                   | A unique identifier for this specific variant (e.g., `TSH-RED-M` for the red medium T-shirt).                                                          |
| **GTIN / Barcode**        | An optional barcode value for scanning — EAN-13, UPC-A, or an internal barcode.                                                                        |
| **Price adjustment**      | An amount added to (or subtracted from) the product's base price. For example, XL sizes might cost +200 DA, or a basic color might have no adjustment. |
| **Weight and dimensions** | Physical measurements used for shipping calculations and warehouse capacity planning.                                                                  |
| **Attribute values**      | The specific combination that defines this variant (e.g., Color: Red, Size: M).                                                                        |

### How Variants Are Generated

When you create a configurable product, Beelocity automatically generates one variant for every combination of the family's variant attributes. See [Product Attributes](product-attributes.html) for the full explanation of how this works and how to control the number of variants.

<a id="product-relationships"></a>

## Product Relationships

Products can be linked to each other to express commercial relationships. These links are informational and help drive cross-selling and product discovery:

| Relationship         | What it means                                         | Example                                                            |
| -------------------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
| **Bundle component** | This product is included as part of a bundle product. | A "Home Office Kit" bundle contains a keyboard, mouse, and webcam. |
| **Cross-sell**       | A complementary product often bought together.        | A phone case suggested when buying a phone.                        |
| **Up-sell**          | A higher-value alternative the customer might prefer. | A premium version of the same product.                             |
| **Accessory**        | A related accessory for the product.                  | A charger for a laptop, a strap for a watch.                       |
| **Replacement**      | This product replaces a discontinued one.             | New model replaces the previous generation.                        |

<a id="translating-your-catalog"></a>

## Translating your catalog

If your customers read a different language than the one your catalog is typed in — French
paperwork, Arabic-reading buyers — you can give your products their names in every document
language, without touching the names your team works with.

- **The fast way: a grid per record.** Every catalog list has one, behind its ⋮ menu — Products
  → **Go to Product Translations**, and the same on Product Categories, Product Families and
  Product Attributes. One row per record, one column per language. Type straight into a cell to
  give the record its name in that language; clear the cell to remove it. It is a
  spreadsheet-shaped job, done in place.
- **The complete way: the Translations tab.** Every product, category, family and attribute opens
  a **Translations** tab after its first save. It holds one row per language, with the name, the
  description where the record has one, and — on categories — the address identifier a storefront
  link would use.
- **Mark rows as reviewed.** New renderings arrive unreviewed. Once somebody has read one, tick
  **Reviewed** on its row — so a draft nobody checked is visibly a draft.

Two rules keep this safe. A language you leave empty simply shows the text **as typed** — nothing
ever renders blank, and nothing is machine-translated behind your back. And your own screens never
change: translations exist for surfaces your customers read, while your team keeps working with
the names you typed, in every interface language.

Option labels — the *Small / Medium / Large* of a configurable product — translate on the
attribute's own page, under its Translations tab, one label per language beside each option. If
you later rename an option, its translations detach and the option shows as typed until you
translate the new wording: the label always follows the exact text you defined.

## Deactivation

A product you stop selling is **deactivated, not deleted** — you toggle its active status and leave the record where it is. Delete is there for a row created by mistake; for everything else, deactivation is the answer:

- **Deactivated products** no longer appear in active product lists, selection menus, or search results.
- **Historical data is preserved** — past orders, stock movements, and invoices that reference the product remain intact and accurate.
- **Reactivation is possible** — if you discontinue a product and later bring it back, you can reactivate it rather than creating it from scratch.

To mark a product as discontinued, simply deactivate it. Use [product relationships](#product-relationships) to link it to its replacement, if one exists.

## Tips

- **Establish a SKU convention early** — consistent SKU patterns (e.g., `CAT-SUBCATEGORY-NUMBER`) make products easy to identify and search for. Changing SKUs later is difficult once they are referenced in orders and inventory records.
- **Use base price as your standard retail price** — set the base price to the most common selling price. Use [price lists](pricing-and-price-lists.html) for wholesale, promotional, or market-specific pricing that differs from the standard.
- **Set the standard cost on raw materials and purchased parts** — the standard cost is what BOM rollups read for this product when it appears as a leaf component. Without it, the rollup falls back to the most recent supplier purchase price; without either, the rollup proceeds at zero and surfaces a missing-cost warning so you know the result is incomplete. Setting it once on every purchased input is the simplest way to get clean cost rollups and meaningful work-order cost snapshots.
- **Fill in attributes completely** — empty attributes reduce the value of your catalog. If a family has a "Weight" attribute, fill it in for every product so it is available for shipping calculations and reporting.
- **Review variant counts before saving configurable products** — with 3 variant attributes of 5, 4, and 3 options, you will get 60 variants. Make sure that is what you want before creating the product.

Source: https://docs.beelocity.com/en/products/managing-products/index.mdx
