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

# Pricing types

> Learn about the different pricing models available for products in Qwoty

{/* AUDIT NOTE: Pricing types described here are conceptually plausible but the exact field names, available types, and configuration UI were not confirmed in the tested demo account. The pricebook creation flow was verified at the dialog level (Fixed/Dynamic pricebook type) but the detailed price-entry form was not tested. TODOs remain for field names. */}

Qwoty supports multiple pricing types to accommodate different sales models and billing scenarios. Each pricing type determines how the unit price is calculated and displayed to customers in quotes and the Dealroom.

You configure the pricing type at the product level. The pricing type controls whether the price is fixed, volume-based, tiered, or calculated dynamically.

## Available pricing types

Qwoty supports the following pricing types:

* **Flat**: Single fixed price per unit, regardless of quantity
* **Volume**: Unit price decreases based on total quantity purchased
* **Tiered**: Different prices apply to quantity ranges within a single order
* **Per-unit**: Price varies per individual unit based on configuration
* **Custom formula**: Price calculated using a custom expression with variables

<Note>
  The pricing type is set when you create a product. You can change it later, but existing quotes will retain the original pricing logic.
</Note>

## How pricing types compare

| Pricing type       | Use case                                                         | Price calculation                         | Example                                                   |
| ------------------ | ---------------------------------------------------------------- | ----------------------------------------- | --------------------------------------------------------- |
| **Flat**           | Standard products with consistent pricing                        | Fixed price × quantity                    | Software license at \$100/month                           |
| **Volume**         | Bulk discounts where all units get the same lower price          | Entire quantity uses one bracket price    | 1-10 units = $50 each, 11-50 units = $40 each (all units) |
| **Tiered**         | Progressive pricing where different ranges have different prices | Each tier priced separately               | First 10 units = $50, next 40 units = $40                 |
| **Per-unit**       | Configurable products with variable costs                        | Sum of base price + configuration options | Base server $1000 + RAM upgrade $200                      |
| **Custom formula** | Complex pricing with dependencies                                | User-defined calculation                  | `base_price * quantity * (1 - discount_tier)`             |

## Flat pricing

Flat pricing applies a single unit price to all quantities. This is the simplest and most common pricing model.

The total price is calculated as: **unit price × quantity**

Use flat pricing for:

* Standard catalog items with fixed prices
* Products without volume discounts
* Simple subscription plans

## Volume pricing

Volume pricing applies a single discounted unit price to all units based on the total quantity ordered. All units receive the same price from the applicable volume bracket.

When you configure volume pricing, you define quantity ranges and corresponding unit prices. The system selects the bracket that matches the total quantity and applies that unit price to all units.

**Example:**

* 1-10 units: \$50 per unit
* 11-50 units: \$40 per unit
* 51+ units: \$30 per unit

If a customer orders 25 units, all 25 are priced at $40 each (total: $1,000).

<Warning>
  Volume pricing differs from tiered pricing. With volume pricing, the entire order uses one price. With tiered pricing, different portions of the order use different prices.
</Warning>

## Tiered pricing

Tiered pricing applies different unit prices to different quantity ranges within a single order. Each tier is priced independently.

When you configure tiered pricing, you define quantity ranges with corresponding unit prices. The system calculates the price for each tier separately and sums them.

**Example:**

* First 10 units: \$50 per unit
* Next 40 units (11-50): \$40 per unit
* Units beyond 50: \$30 per unit

If a customer orders 25 units:

* First 10 units: 10 × $50 = $500
* Next 15 units: 15 × $40 = $600
* **Total: \$1,100**

Use tiered pricing for:

* Usage-based billing (e.g., API calls, storage)
* Progressive volume discounts
* Utility-style pricing models

## Per-unit pricing

Per-unit pricing calculates the price based on individual unit configuration. This pricing type is used with the Product Configurator.

The base price starts with a foundation amount, then adds or subtracts values based on selected options, features, or attributes.

**Example:**
A configurable laptop:

* Base model: \$1,000
* RAM upgrade (16GB → 32GB): +\$200
* Storage upgrade (512GB → 1TB): +\$150
* **Total per unit: \$1,350**

Use per-unit pricing for:

* Highly configurable products
* Products with multiple optional features
* Custom builds or assemblies

## Custom formula pricing

Custom formula pricing uses a user-defined expression to calculate the final price. You can reference product fields, quote variables, and customer attributes in the formula.

Formulas support:

* Arithmetic operations (`+`, `-`, `*`, `/`)
* Conditional logic
* Quote-level variables (e.g., `quote.discount_percentage`)
* Product attributes (e.g., `product.base_cost`)
* Customer fields (e.g., `customer.segment`)

**Example formula:**

```
base_price * quantity * (1 - customer.volume_discount) + setup_fee
```

<Warning>
  Custom formulas are powerful but can make quotes harder to audit. Document your formulas clearly and test edge cases.
</Warning>

Use custom formula pricing for:

* Complex pricing logic not covered by standard types
* Industry-specific calculations
* Dynamic pricing based on multiple variables

## Pricing type and Pricebooks

Pricing types work alongside Pricebooks. The Pricebook defines which products are available and their base prices for a specific customer segment or region. The pricing type controls how those base prices scale with quantity or configuration.

When you create a Pricebook entry:

1. Select the product (which has an assigned pricing type)
2. Set the base unit price or volume brackets
3. The product's pricing type determines how the base price is applied

<Tip>
  You can use the same product with different pricing types across multiple Pricebooks. For example, Enterprise customers might see volume pricing while SMB customers see flat pricing.
</Tip>

## Common questions

<AccordionGroup>
  <Accordion title="Can I combine pricing types for a single product?">
    No. Each product uses one pricing type at a time. However, you can use Bundles to combine multiple products with different pricing types into a single offer.
  </Accordion>

  <Accordion title="What happens to existing quotes when I change a product's pricing type?">
    Existing quotes retain the pricing logic that was active when they were created. Only new quotes will use the updated pricing type. This prevents retroactive changes to quoted prices.
  </Accordion>

  <Accordion title="Can I show tiered pricing details in the Dealroom?">
    Yes. The Dealroom automatically displays tiered pricing breakdowns when applicable, so customers can see how their total is calculated across tiers.
  </Accordion>

  <Accordion title="How do volume discounts work with Bundles?">
    Volume pricing is calculated per product within the Bundle, not on the Bundle as a whole. If you need volume discounts at the Bundle level, use custom formula pricing.
  </Accordion>

  <Accordion title="Can I import pricing tiers from a CSV?">
    Yes. When creating or updating products in bulk, you can include tiered or volume pricing data in your import file.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Products" icon="box" href="/user-guide/catalog/introduction">
    Learn how to create and configure products
  </Card>

  <Card title="Pricebooks" icon="book" href="/user-guide/catalog/introduction">
    Manage price lists for different customer segments
  </Card>

  <Card title="Bundles" icon="boxes-stacked" href="/user-guide/catalog/introduction">
    Create product packages with combined pricing
  </Card>

  <Card title="Product Configurator" icon="sliders" href="/user-guide/catalog/how-tos/product-configurator">
    Build configurable products with dynamic pricing
  </Card>
</CardGroup>
