> ## 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.

# Data model

> Learn what a data model is in Qwoty and how to design custom fields that fit your business.

## What is a data model?

A data model is the structure that defines how information is organized in your CPQ. Think of it as the **blueprint** of your sales data — you design it once, then fill it with your actual quotes, products, customers, and contracts.

Qwoty ships with a complete data model out of the box: Quote, Customer, Product, Contract Model, Catalog, Pricebook, and a few dozen other objects. But every business has unique data — an event date on a quote, a hectare count on a customer, a clause variant on a contract. The data model is where you extend Qwoty to carry **your** information.

## Key concepts

### Objects

**Objects** are the main categories of data in Qwoty. Each object represents a type of thing you track.

Qwoty comes with standard objects:

* **Customer** — companies and individuals you sell to
* **Quote** — proposals sent to customers
* **Product** — items in your catalog (with master products and variants)
* **Contract Model** — reusable templates for legal contracts
* **Catalog**, **Pricebook**, **Bundle**, **Discount** — supporting structures for your offer
* **Order**, **Sales Agreement** — what's generated once a quote is signed
* **Approval**, **Workflow** — the rules that govern your sales process

### Fields

**Fields** are the properties that describe each object. They store the actual information.

For example, the **Customer** object has fields like:

* Name
* Address
* Industry
* Linked contacts (a relation to the Contact object)

Fields have different **types**: text, number, date, boolean, and more. You can add **custom fields** to manageable objects (Customer, Quote, Product, Contract Model) to capture data specific to your business.

### Records

**Records** are the individual entries within an object — the actual data your team creates and works with day-to-day.

For example:

* "Acme Corp" is a **record** in the Customer object
* "QUO-2026-0001" is a **record** in the Quote object

**An analogy:**

| Data model concept | Real-world analogy                         |
| ------------------ | ------------------------------------------ |
| **Objects**        | Sections in a book (the categories)        |
| **Fields**         | Columns in a spreadsheet (the properties)  |
| **Records**        | Rows in a spreadsheet (the actual entries) |

You design the data model (objects + custom fields) once, then create thousands of records within that structure.

## Why customize your data model?

Every CPQ deployment is different. Customizing your data model means you can shape Qwoty around **your** quote-to-revenue process instead of forcing yours into a rigid system.

**Common examples of custom fields:**

* An **event date** and **headcount** on quotes for an event production company
* A **hectare count** and **crop type** on customers for an agricultural cooperative
* A **legal clause variant** on contracts for a multi-jurisdiction sales operation
* A **certification level** or **regulatory ID** on products for regulated industries

Custom fields are not just labels — they flow through the quote-to-revenue cycle: they appear on quotes and Dealrooms (when configured to display), populate contract variables, and sync to your CRM.

## Tips to design your data model

### 1. Start with the standard objects

Qwoty already provides Customer, Quote, Product, Contract Model. Most businesses cover 80% of their needs by adding a few custom fields to these — without creating new objects.

### 2. Use fields for properties, not new objects

If something is just a characteristic of an existing object, make it a **custom field**.

**Use custom fields for:**

* Categories and labels (for example, `Customer type` on Customer with values "Prospect", "Key Account", "Partner")
* Status values or stages
* Attributes and properties (event date, hectares, certification number)

### 3. Mark your fields' visibility carefully

Each custom field on an object has three properties that decide where the value flows:

* **Mandatory** — the field must be filled on creation
* **Editable by sale** — sales reps can edit the value (otherwise it's read-only after import or admin entry)
* **Display for customer** — the field appears on the buyer-facing quote and Dealroom

A field marked "Display for customer" is part of the buyer experience. A field that's not displayed stays internal — useful for sales-ops or accounting metadata that shouldn't leak to customers.

### 4. Plan for CRM sync upfront

If you connect Qwoty to a CRM (HubSpot, Salesforce, Pipedrive), every custom field can be mapped to a CRM field with three sync directions: **Bidirectional**, **CRM → Qwoty**, or **Qwoty → CRM**. Decide which direction makes sense before creating the field — it shapes how your team enters data.

### 5. Keep it simple first

Start with fields. Add new ones only when you feel the limits — repeated entries, missing data, or a field crowded with too many possible values.

## Questions to guide your choice

Ask yourself:

* Is this just a property of something I already have?
* Will all my customers, quotes, or products carry this information?
* Do I want this field to appear on the quote shown to buyers?
* Should sales reps edit it, or only admins?
* Does it need to sync with my CRM in real time?

If the answer is yes to most, you've found a good candidate for a custom field.

## Accessing your data model

<Steps>
  <Step title="Open Settings">
    Click **Settings** in the left sidebar.
  </Step>

  <Step title="Navigate to Data model">
    Under the **Data** section, click **Data model**. You'll see the full list of objects with their **Standard** or **Manageable** badge.
  </Step>

  <Step title="Open an object">
    Click any object to see its fields. Manageable objects show a **+ New** button to add custom fields.
  </Step>
</Steps>

<Note>
  Don't see Data model in Settings? Access is restricted to admins with the **Data** permission enabled. Contact your workspace admin if needed — see [Manage roles](/user-guide/settings/users/manage-roles).
</Note>

## Reference

Concepts and rules that shape how custom fields behave.

<CardGroup cols={2}>
  <Card title="Objects" icon="cube" href="/user-guide/data-model/reference/objects">
    Standard vs Manageable objects, and which ones accept custom fields.
  </Card>

  <Card title="Field types" icon="font" href="/user-guide/data-model/reference/field-types">
    Text, Number, Date — what each type is for.
  </Card>

  <Card title="Field properties" icon="sliders" href="/user-guide/data-model/reference/field-properties">
    Mandatory, Editable by sale, Display for customer — control where values flow.
  </Card>

  <Card title="CRM mapping" icon="arrows-rotate" href="/user-guide/data-model/reference/crm-mapping">
    Sync directions and how custom fields connect to your CRM.
  </Card>
</CardGroup>

## How-tos

Step-by-step guides to add custom fields to the four manageable objects.

<CardGroup cols={2}>
  <Card title="Create a Quote custom field" icon="file-invoice-dollar" href="/user-guide/data-model/how-tos/create-quote-custom-field">
    Add fields shown on quotes — event dates, project codes, headcounts.
  </Card>

  <Card title="Create a Contract custom field" icon="file-signature" href="/user-guide/data-model/how-tos/create-contract-custom-field">
    Add fields used as contract variables — clauses, addenda, jurisdictions.
  </Card>

  <Card title="Create a Product custom field" icon="box" href="/user-guide/data-model/how-tos/create-product-custom-field">
    Add fields for catalog metadata — certifications, capacities, attributes.
  </Card>

  <Card title="Create a Customer custom field" icon="users" href="/user-guide/data-model/how-tos/create-customer-custom-field">
    Add fields to qualify customers — types, codes, regulatory IDs.
  </Card>
</CardGroup>
