> For the complete documentation index, see [llms.txt](https://docs.flowretail.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowretail.com/docs/day-to-day-operations/products/adding-products/product-fields-reference.md).

# Product fields reference

Every field on a product, what it does, and which ones are required.

A look-up for every field on a product. For the steps to actually create one, see Adding products.

## General fields

| Field                        | What it does                                                                                                                                     | Required |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
| **Product type**             | `Stock` for anything you track inventory on. `No stock` for services, fees and subscriptions. `Configurable` for a parent product with variants. | Yes      |
| **SKU**                      | Your unique product code. Use the supplier's, or a random 6–7 digit number.                                                                      | Yes      |
| **Name**                     | Short title of the product.                                                                                                                      | Yes      |
| **Product group**            | One group per product. Drives reporting and campaigns.                                                                                           | Yes      |
| **Brand**                    | One brand per product. Drives reporting.                                                                                                         | Yes      |
| **Serial number controlled** | Whether the product is tracked by serial number — either at both receiving and sale (validated), or at sale only (not validated).                | Yes      |
| **Recommended retail price** | The default sales price. Price lists and campaigns take priority over it.                                                                        | Yes      |
| **Agreed purchase price**    | The default purchase price, used when no supplier-specific price is set for this product.                                                        | No       |
| **Calculation factor**       | Used for several things, including deriving cost price when no purchase price exists. Use `1.25` for 25% VAT at zero margin.                     | Yes      |

{% hint style="warning" %}
**Choosing a SKU.** Use only digits and uppercase A–Z. Avoid underscores, dashes, slashes and other special characters — they cause trouble downstream in scanning, import and integrations.
{% endhint %}

## EAN and barcodes

A product can carry an **unlimited number** of EAN/GTIN barcodes. Add every barcode you want to be scannable, and any of them will resolve the product in any product-lookup field across the clients.

{% hint style="success" %}
EAN (European Article Number) is the 13-digit code on most products sold in Europe. It is being superseded by GTIN (Global Trade Identification Number). GTIN-13 is the same thing as EAN-13; GTIN-12 (UPC) is used for most US products.
{% endhint %}

## Description fields

Four description fields, each with a different audience.

| Field                 | Who sees it            | What it is for                                                                                                          |
| --------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Short description** | Staff and integrations | The brief version. Exists so e-commerce and PIM systems have both a short and a long field to map to.                   |
| **Description**       | Staff and integrations | The full version. Most stores use one of the two, not both.                                                             |
| **Internal info**     | Staff only             | Pops up for the user when the product is added to a sale. Use it for precautions to mention, or internal selling notes. |
| **External info**     | The customer           | Same trigger as internal info, but printed on the receipt or offer.                                                     |

## Advanced — product limitations

| Limitation                   | Effect                                                                                                                                  |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Can be sold**              | Blocks selling, either outright or from a set date.                                                                                     |
| **Set expired date**         | Marks the product expired from a date. Informational only — it blocks neither selling nor purchasing.                                   |
| **Refund not allowed**       | Blocks refunds. Typical for heavily discounted end-of-line stock the customer was told is final sale, or for bespoke items.             |
| **Price change not allowed** | Stops the user adjusting the price during a sale.                                                                                       |
| **Purchase not allowed**     | Blocks purchasing the product.                                                                                                          |
| **Delivery**                 | Blocks delivery, either outright or from a set date. Useful for a launch embargo where the manufacturer forbids handover before a date. |

## Advanced — other

| Field                        | Effect                                                                                                                                          |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Commission**               | A percentage commission. Used by features such as Arts, for paying a supplier based on sales.                                                   |
| **Visibility**               | Set to **Not visible** to hide the product from search. Entering the exact SKU still opens it.                                                  |
| **Limit to specific stores** | By default every store sees every product. Naming stores here restricts it to them — mainly for chains where some stores carry their own range. |
| **Available for webshop**    | Excludes the product from synchronisation with the e-commerce store.                                                                            |
| **Exclude from statistics**  | Keeps the product out of sales statistics. Typical for gift cards.                                                                              |
| **Warranty conditions**      | Selects a pre-defined warranty text, maintained under **Products > Warranty conditions**. Printed on the customer's receipt.                    |
| **Pieces**                   | Sets how many pieces the product consists of.                                                                                                   |

## Customer requirements

Requirements that must be met before the product can be sold. You can require a basic customer record (a name), and any of email, mobile number or delivery address.

**Age limit** can be set to a number such as `18`. This **prompts the user to verify the customer's age** — Flow Retail performs no age verification itself. The check is the operator's, not the system's.

## Accounting

An accounting number can be set per product, for finance and accounting purposes.

## Media

Product images can be uploaded, or referenced from an external URL held in a PIM, DAM or e-commerce system. See [Product images](/docs/day-to-day-operations/products/product-images.md).

## Properties

Any pre-defined property can be attached to the product. Properties are also what make configurable products possible — see [Properties](/docs/day-to-day-operations/products/catalog-setup/properties.md).

## Warehouse

Warehouse-specific values, set per warehouse rather than per product.

### Max/Min

Minimum and maximum stock levels, used to drive purchase ordering — including automatic purchase order suggestions.

**How it works.** Minimum 10, maximum 50:

| Stock on hand | What a Max/Min purchase suggestion does                  |
| ------------- | -------------------------------------------------------- |
| 20            | Nothing. 20 is above the minimum of 10.                  |
| 5             | Suggests **45**, bringing stock up to the maximum of 50. |

### Location

A location value per warehouse. The scheme is yours to choose, but a simple and durable one is `XX-YY-ZZ` — row, section within the row, and floor.

## Suppliers

The purchase price per supplier, usually just one, with an optional supplier SKU. These are the values used when creating purchase orders.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flowretail.com/docs/day-to-day-operations/products/adding-products/product-fields-reference.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
