Skip to main content
A Veles Quote is one priced quote (block) within a Proposal. A proposal can carry several quotes — alternates the rep is exploring — and exactly one is flagged Primary (the same convention Salesforce CPQ uses). The primary quote drives the proposal’s rolled-up totals. Quotes are master-detail children of their proposal: they inherit its sharing and are deleted with it. All values are computed by the Veles pricing engine and synced one-way; records are read-only. Dynamic user-defined quote fields are exposed as child Quote Attribute Values, listed under Attribute Values on the quote’s Related tab. Application-owned values remain first-class Quote fields.
When reporting across Quote records, filter on Primary = true unless you specifically want alternates included — otherwise multi-quote proposals double-count. The proposal-level rollup fields already do this for you.

Fields at a glance

Field details

Identity

Text (standard name field)
Quote Name — The quote’s display name in Veles, cut at 80 characters. “Untitled quote” when it has none.
Text(255), unique, external ID
Veles External ID — The Veles quote ID. All sync writes upsert on this field; never edit.
Master-Detail(Veles Proposal)
Proposal — The Veles proposal this quote belongs to. Master-detail: quotes are owned by their proposal and are deleted with it.
Checkbox
Primary — Whether this is the proposal’s primary quote. Exactly one quote per proposal is primary (maintained by the Veles sync); the primary quote drives the proposal’s rolled-up totals. Salesforce never holds two: marking a quote primary clears the flag on the proposal’s other quotes. Filter on this field when reporting across quotes to avoid double-counting alternates.
Lookup(Veles Contract)
Source Contract — The Veles contract this quote’s proposal renews or amends. Every quote on the proposal names the same one. Empty on new business, and while that contract is not in Salesforce; filled in once it is. The contract’s Veles Quotes related list shows every quote working from it.
Source Contract arrived with the contract objects in 0.3.0. Upgrading does not change a Veles Quote layout that is already installed, so add the field to it yourself.

Money

All amount fields are in the quote’s own currency (see Currency Code).
Text(3)
Currency Code — ISO currency code of the quote (e.g. USD, EUR). All amount fields on this record are in this currency. Veles quotes carry their own currency; this field makes it visible even in single-currency Salesforce orgs.
Currency(16, 2)
TCV — Total Contract Value (TCV): One-Time TCV + Recurring TCV — everything the customer pays over the full quoted term, prorated to actual windows, as computed by the Veles pricing engine.
Currency(16, 2)
One-Time TCV — The sum of all One-Time Revenue across the quote’s phases. One-Time TCV + Recurring TCV = TCV.
Currency(16, 2)
Recurring TCV — The sum of all Recurring Revenue Prorated across the quote’s phases. One-Time TCV + Recurring TCV = TCV.

ARR

A ramp deal has no single ARR: the run rate it starts at, the one it ends at, and its average over the term are three different numbers. The quote carries all three under explicit names, so pick the one your org calls “ARR” when you report on it. The primary quote’s three are copied to the Opportunity too. On a flat deal the three are equal. Per-phase ARR lives on Quote Phases.
Currency(16, 2)
First-Year ARR — The first phase’s ARR: the recurring run rate the deal starts at. Blank when the quote has no phases.
Currency(16, 2)
Exit ARR — The last phase’s ARR (the highest Sequence): the recurring run rate the deal ends at. This is the last phase, not the largest, so a deal that ramps down exits at its lower final rate. Blank when the quote has no phases.
Currency(16, 2)
Blended ARR — Recurring TCV averaged over the term in years: Recurring TCV / (Term (Months) / 12). Blank when the term is 0 months.
For example, a three-year deal ramping 100,000 / 150,000 / 200,000 has a First-Year ARR of 100,000, an Exit ARR of 200,000 and a Blended ARR of 150,000. If it ramps down instead (200,000 / 150,000 / 100,000), Exit ARR is 100,000.
The ARR fields arrived after the first package release. In an org on an older version, the sync leaves them out until the package is upgraded; after that, each quote fills them the next time its proposal syncs. Upgrading does not change a page layout that is already installed, so add the three fields to your Veles Quote layout yourself. If your org built its own quote ARR field before, point its reports, Flows and rollups at the packaged one, then delete it.

Term shape

Date
Start Date — Effective start of the quoted term: the first phase’s start date. Empty while dates are still relative (not yet anchored to a close date).
Date
End Date — Effective end of the quoted term: the last phase’s end date. Empty while dates are still relative.
Number(4, 0)
Term (Months) — Total quoted term in months, summed across all phases.
Number(3, 0)
Phase Count — Number of pricing phases (time-segmented windows, e.g. ramp years) in the quote. 1 means flat pricing for the whole term.

Sync health

DateTime
Synced At — When the Veles sync last wrote this record. Quotes, with their phases and lines, update each time the proposal is pushed from Veles, not on every draft edit. If this looks stale relative to activity in Veles, check the integration status in Veles admin.

Common additions

Fields orgs commonly add on top of the package. All of them are point-and-click: quotes are master-detail children of the Proposal, and Quote Phases are master-detail children of the quote, so native rollup summaries work.

ARR on the Proposal

The package rolls only TCV up to the Proposal. To report on an ARR at the proposal level, mirror that rollup for the definition your org uses: a Rollup Summary on Veles Proposal over Veles Quotes, SUM of First-Year ARR, Exit ARR or Blended ARR, filter Primary equals True, so it always reflects exactly the primary quote. You do not need it to fill the Opportunity: the primary quote’s values are already on the Opportunity, and filling Amount is a matter of copying the Veles field you call Amount into Amount.