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

# Create a Product custom field

> Add a custom field to products — for catalog metadata, certifications, or technical attributes.

A Product custom field captures attributes specific to your catalog — for example, hectares for an agricultural product, a certification level for a regulated good, or a technical capacity for industrial equipment. The field appears on every product record, can be filtered and sorted in catalog views, and optionally syncs to your CRM or ERP.

This guide walks through the full lifecycle in three steps.

<Note>
  You must have the **Admin** role with **Data → Read & Write** authorized. CRM mapping additionally requires **Developers** access.
</Note>

## What you'll build

In this example, you'll add two custom fields to a product catalog used by an agricultural cooperative:

| Field                   | Type   | Purpose                                                                  |
| ----------------------- | ------ | ------------------------------------------------------------------------ |
| **Hectares**            | Number | Surface area covered by the product (e.g., a fertilizer or seed)         |
| **Certification level** | Text   | Regulatory or quality certification (e.g., `Organic`, `AOC`, `ISO 9001`) |

Both will be **editable by sales reps**, and **displayed to the customer** so they can confirm the certification on their quote.

## Step 1: Create the field in the Data model

<Steps>
  <Step title="Open Data model">
    Go to **Settings → Data → Data model** and click the **Product** object.
  </Step>

  <Step title="Click + New">
    In the top right of the field list, click **+ New** to open the field creation form.
  </Step>

  <Step title="Fill in General Information for Hectares">
    * **Name**: `Hectares`
    * **API Name**: Qwoty generates `hectares`. Edit if needed.
    * **Data Type**: pick `Number`
  </Step>

  <Step title="Save and repeat">
    Click **Save**, then create `Certification level` with type `Text` the same way.
  </Step>
</Steps>

<Check>
  Two new fields appear in the Product object's field list with the **Custom** badge.
</Check>

<Tip>
  Custom fields on Product also appear in the **Products CSV import** mapping. When migrating data from an external system, your CSV columns can populate these fields automatically. See [Import products](/user-guide/data-migration/how-tos/import-products).
</Tip>

## Step 2: Configure the field on the product

Custom fields on Product behave slightly differently from Quote: they're not gated by a template — they appear directly on every product record once enabled.

<Steps>
  <Step title="Open a product">
    Navigate to **Catalog & Products → Products** and open any product (or create a new one). The new fields appear in the product's detail view.
  </Step>

  <Step title="Find the Custom Fields section">
    Scroll to the **Custom Fields** section. Both fields appear with a toggle and three checkboxes.
  </Step>

  <Step title="Activate the toggle">
    Click the toggle for each field to turn it on. The toggle turns dark — the field is now active on this product.
  </Step>

  <Step title="Configure the properties">
    For our agricultural use case, check:

    * **Mandatory**: leave **unchecked** for `Hectares` (only relevant on land-related products) and **checked** for `Certification level` (always required for regulatory traceability)
    * **Editable by sale** ✓ — sales reps may need to override the value for special orders
    * **Display for customer** ✓ — both fields are part of the buyer's commercial context
  </Step>

  <Step title="Set values per product">
    Enter the values: `Hectares = 0.5` for a per-package fertilizer, `Certification level = Organic` for the eligible products. Repeat per record, or import the values via [CSV](/user-guide/data-migration/how-tos/import-products) if you have many products.
  </Step>

  <Step title="Save the product">
    Click **Save**.
  </Step>
</Steps>

<Check>
  Your products carry the new custom fields. They appear on quotes whenever the product is added as a line item.
</Check>

### What the customer sees

When a sales rep adds the product to a quote and publishes the Dealroom, the buyer sees the certification level alongside the line item. This works without further configuration — as long as **Display for customer** is checked, the field travels with the product.

## Step 3: Sync with your CRM or ERP (optional)

Product custom fields often correspond to attributes already tracked in your ERP (for accounting and inventory) or in your CRM (for sales context).

<Steps>
  <Step title="Open the integration">
    Go to **Settings → Developers → Integration** and click your connected system (CRM or ERP).
  </Step>

  <Step title="Find the custom fields mapping section">
    Scroll to the products mapping. The fields appear as `Custom: Hectares` and `Custom: Certification level`.
  </Step>

  <Step title="Pick a sync direction">
    Open the direction dropdown for each field:

    * **CRM → Qwoty** — typical for product master-data: the ERP or PIM is the source of truth, Qwoty receives updates
    * **Qwoty → CRM** — when Qwoty is the catalog system of record
    * **Bidirectional** — when both systems need to stay in sync edit-for-edit
  </Step>

  <Step title="Select the matching field">
    Pick the field on the connected system. Compatible types:

    * Number → Number, Integer, Decimal, Currency
    * Text → Text, Picklist, Dropdown
  </Step>

  <Step title="Save changes">
    Click **Save changes** at the bottom of the page.
  </Step>
</Steps>

<Check>
  Your product fields now sync between Qwoty and your CRM or ERP. Updates propagate at the next sync cycle.
</Check>

## Common Product custom fields

Beyond agriculture, here are patterns that come up often:

| Field                    | Type   | Why                                                     |
| ------------------------ | ------ | ------------------------------------------------------- |
| **Technical capacity**   | Number | Power, throughput, dimensions for industrial equipment  |
| **Certification number** | Text   | Regulatory ID (CE marking, FDA, REACH)                  |
| **Manufacturer SKU**     | Text   | When your SKU differs from the manufacturer's           |
| **Lead time (days)**     | Number | Days from order to delivery — drives sales-rep promises |
| **Ship class**           | Text   | Hazardous, fragile, oversized — feeds shipping logic    |
| **Min order quantity**   | Number | Enforced at quote time                                  |
| **Datasheet URL**        | Text   | Link to a full product spec PDF                         |

## Troubleshooting

<AccordionGroup>
  <Accordion title="The field doesn't appear on the product detail view">
    Refresh the page after creating the field. If still missing, check that the toggle is **on** in the Custom Fields section of the product.
  </Accordion>

  <Accordion title="My field appears on Product but not on the quote line item">
    Custom fields on Product travel with the product to the quote, but only if **Display for customer** is checked on the product. Activate the checkbox and republish the quote.
  </Accordion>

  <Accordion title="The CSV import didn't populate the field">
    Check that the column header in your CSV matches the field's **API Name** exactly (case-sensitive). See [Import products](/user-guide/data-migration/how-tos/import-products) for the full column reference.
  </Accordion>

  <Accordion title="The CRM doesn't list a compatible product field">
    Add the matching field on the CRM side first, then refresh the integration mapping section.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Field types" icon="font" href="/user-guide/data-model/reference/field-types">
    Pick the right type for your product attribute.
  </Card>

  <Card title="Import products" icon="file-import" href="/user-guide/data-migration/how-tos/import-products">
    Bulk-populate custom fields via CSV.
  </Card>

  <Card title="Products" icon="box" href="/user-guide/catalog/introduction">
    Manage your catalog of products.
  </Card>

  <Card title="CRM mapping" icon="arrows-rotate" href="/user-guide/data-model/reference/crm-mapping">
    Sync directions and CRM field compatibility.
  </Card>
</CardGroup>
