Skip to main content
A Unit of Measure (UOM) defines what a rep is entering when they set a quantity on a quote line — and what the buyer sees on the proposal. “Per User,” “Per GB,” “Per 1,000 API Calls,” and “Per $1M Transaction Volume” are all units of measure. UOMs serve two purposes: they label the input field so reps know what they’re entering, and they configure how that input drives the pricing calculation. By defining a UOM once, you can reuse it across multiple products for consistency.

Attributes

Each Unit of Measure has four key settings:
AttributeScopeDescription
NameInternalDisplay name in the Veles admin interface (e.g., “User Seats”, “API Call Volume”).
KeySystemUnique identifier used to reference this UOM in rules and pricing logic. Use lowercase with no spaces (e.g., user_seats, api_calls).
LabelCustomer-facingThe text that appears on quotes and proposals. This is what the buyer sees (e.g., “Per User”, “Per 1,000 API Calls”).
ScaleBothThe numerical multiplier applied to the rep’s input. See Scale.

Input kind: Quantity vs. Driver

The Input Kind is the most important setting on a UOM. It determines whether the input represents the number of units being sold or a metric that drives the price of a single unit.

Quantity

The rep is entering how many of a product to sell. The total price is calculated as the rate (from the pricing tier) multiplied by this quantity. This is the default for most products: per-seat licenses, per-unit hardware, per-hour services.

Driver

The rep is entering a value that determines the price tier, but the order quantity is always 1. The product is sold as a single SKU whose price varies based on an external metric.
The Driver input kind corresponds to custom lookup drivers on the pricing plan. When you use a Driver UOM, set the product’s quantity to 1 and mark Quantity Editable as off in the rep permissions.

Scale

Scale simplifies data entry for reps working with large numbers. Instead of typing 42,500,000, a rep enters 42.5 with the scale set to Millions. Veles handles the math internally.
ScaleMultiplierRep entersVeles interprets as
Singles15050
Hundreds100505,000
Thousands1,0005050,000
Millions1,000,00042.542,500,000
The scale setting affects the input field during quoting and the tier evaluation in the pricing engine. The simplified value is what the rep sees; the full value is what the calculation uses.
Match the scale to how your team naturally talks about the metric. If your sales team says “42 million in transaction volume,” set the scale to Millions so they enter 42. If they say “50,000 API calls,” set it to Thousands so they enter 50.

Currency toggle

You can mark a Unit of Measure as a currency input. This formats the input field and all outputs as a dollar value rather than a plain number. When to use it: Primarily for transactional or revenue-share products where the pricing driver is a monetary amount, like “Total Transaction Volume,” “Annual Ad Spend,” or “Total Contract Value.” Effect: The input field shows a currency symbol, and the value is formatted as currency throughout the quote and on generated documents. This makes it clear to both reps and buyers that the input represents a dollar amount, not a unit count.
Products using a currency-type UOM are typically configured as Transactional in the rep permissions, which excludes them from Total ARR calculations and displays them as a rate to the buyer.

Shared vs. unique UOMs

You have two strategies for managing units of measure: Shared UOMs define a single unit that’s reused across multiple products. For example, a “Per User” UOM can be applied to every product in your SaaS catalog. When a rep enters a quantity on any of these products, the label, input kind, and scale are all consistent. Unique UOMs define a specialized unit for a single product. For example, a cloud storage product might have a “Per GB” UOM that no other product uses, or a construction analytics product might have an “Annualized Construction Volume” UOM specific to that industry vertical.
Start with shared UOMs for your most common pricing dimensions (per-user, per-license, per-month). Create unique UOMs only when a product has a genuinely distinct input that doesn’t apply to anything else in the catalog.

Creating a Unit of Measure

  1. Navigate to Admin > Price Books > Units of Measure.
  2. Click + New Unit of Measure.
  3. Enter the Name (internal) and a unique Key (system identifier).
  4. Enter the Label that buyers will see on quotes and proposals.
  5. Select the Input Kind: Quantity or Driver.
  6. Set the Scale (Singles, Hundreds, Thousands, or Millions).
  7. Toggle Is Currency if the input represents a monetary value.
  8. Click Save.
The UOM is immediately available for selection when configuring pricing plans on any product.

Common examples

UOM NameLabelInput KindScaleCurrencyUsed for
User SeatsPer UserQuantitySinglesNoSaaS per-seat licensing
API CallsPer 1,000 API CallsQuantityThousandsNoUsage-based API products
StoragePer GBQuantitySinglesNoCloud storage products
Transaction VolumeAnnual Transaction VolumeDriverMillionsYesRevenue-share platform fees
Ad SpendMonthly Ad SpendDriverThousandsYesMarketing platform pricing
HoursPer HourQuantitySinglesNoProfessional services

UOMs and Stripe import

When importing products from Stripe, unit labels come in as blank because Stripe doesn’t have an equivalent concept. After import, update each product’s UOM to set the correct label. See Connect your Stripe Account for details.

What’s next

Creating a Product

Assign UOMs to products through pricing plan configuration.

Pricing Models

Understand how UOM inputs drive tier-based pricing calculations.

Deal Components

Configure billing frequencies alongside your units of measure.

Data Sheets

Use reference tables for dynamic pricing driven by UOM inputs.