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

# Proposal

> Field reference for the Veles Proposal object in the Salesforce managed package.

A Veles Proposal is the shell that holds a deal's quotes and orders — the
Salesforce mirror of a Veles opportunity. It is **one-to-one with the
Salesforce Opportunity** (enforced at the database level via the unique
Opportunity Key field) and exists from the moment quoting starts in Veles,
possibly **before any quote is priced**: a freshly created proposal shows
`Draft` stage and zero totals. Its existence is the signal that an Opportunity
has a Veles deal in flight — record-triggered Flows can react to it being
created or changing stage.

All values are computed in Veles and synced one-way; records are read-only.
The proposal's totals are **native rollup summaries** over its child
[Quote](https://docs.getveles.com/sfdc-managed-package/objects/quote.md) records, filtered to the primary
quote — so they recalculate inside Salesforce the moment the primary quote
changes, and always reflect exactly one quote (never a sum of alternates).

## Fields at a glance

| Field | API Name | Type |
| - | - | - |
| Proposal Name | `Name` | Text (standard name field) |
| Veles External ID | `Veles__External_Id__c` | Text(255), unique, external ID |
| Opportunity | `Veles__Opportunity__c` | Lookup(Opportunity) |
| Opportunity Key | `Veles__Opportunity_Key__c` | Text(18), unique |
| Account | `Veles__Account__c` | Lookup(Account) |
| Rep | `Veles__Rep__c` | Lookup(User) |
| Veles Link | `Veles__App_URL__c` | URL |
| Stage | `Veles__Stage__c` | Picklist |
| Proposal Type | `Veles__Proposal_Type__c` | Picklist |
| Version Number | `Veles__Version_Number__c` | Number(4, 0) |
| Opened On | `Veles__Opened_On__c` | Date |
| Closed On | `Veles__Closed_On__c` | Date |
| TCV | `Veles__TCV__c` | Rollup: SUM of primary Quote |
| Synced At | `Veles__Synced_At__c` | DateTime |

## Field details

### Identity and links

**Name** `Text (standard name field)`

**Proposal Name** — The proposal's name in Veles, cut at 80 characters. "Untitled
proposal" when it has none.

**Veles\_\_External\_Id\_\_c** `Text(255), unique, external ID`

**Veles External ID** — The Veles proposal (opportunity) ID. All sync writes
upsert on this field; never edit.

**Veles\_\_Opportunity\_\_c** `Lookup(Opportunity)`

**Opportunity** — The Salesforce Opportunity this Veles proposal belongs to.
One-to-one: an Opportunity has at most one Veles proposal (enforced via the
unique Opportunity Key field). Set by the Veles sync; empty for proposals
not attached to an Opportunity. Creates the "Veles Proposal" related list
on Opportunity.

**Veles\_\_Opportunity\_Key\_\_c** `Text(18), unique`

**Opportunity Key** — The linked Opportunity's record ID, written by the
Veles sync alongside the Opportunity lookup. Unique, which enforces the
one-proposal-per-Opportunity rule at the database level (lookups cannot be
unique directly in Salesforce). Plumbing — do not edit or reference in
automation; use the Opportunity lookup instead.

**Veles\_\_Account\_\_c** `Lookup(Account)`

**Account** — The Salesforce Account this proposal is for: the Account on
the linked Opportunity, written by the Veles sync. Empty when that Opportunity
has no Account. Creates the "Veles Proposals" related list on Account.

**Veles\_\_Rep\_\_c** `Lookup(User)`

**Rep** — The proposal's owner in Veles, as the Salesforce user they
connected Veles with. Empty when the owner has never connected Salesforce.
Use this, not Created By (whoever's push first wrote the record), for
rep-level reporting.

**Veles\_\_App\_URL\_\_c** `URL`

**Veles Link** — Deep link to open this proposal in Veles.

### Workflow

**Veles\_\_Stage\_\_c** `Picklist`

**Stage** — Where the proposal sits in its lifecycle, matching the Veles
stage exactly: `Draft`, `Editing`, `Awaiting Approval`, `Presenting`, then
the order stages — `Draft Order` (the customer accepted the quote),
`Finalized`, `Pending Signature`, `Signed`, and `Executed`. Deal outcome
(won/lost) lives on the linked Opportunity, not here. Group list views by
this field for a kanban board. Unrestricted so new Veles stages never break
the sync.

**Veles\_\_Proposal\_Type\_\_c** `Picklist`

**Proposal Type** — What kind of deal this proposal represents in Veles:
`New Logo` (net-new business), `Renewal` (replaces an expiring contract),
or `Amendment` (modifies an active contract mid-term).

**Veles\_\_Version\_Number\_\_c** `Number(4, 0)`

**Version Number** — The published version this record mirrors: 5 means
the proposal is on Version 5. The mirror always reflects the latest
published version; version history lives in Veles (follow the Veles Link).

**Veles\_\_Opened\_On\_\_c** `Date`

**Opened On** — When the proposal was created in Veles.

**Veles\_\_Closed\_On\_\_c** `Date`

**Closed On** — When the proposal's deal was closed in Veles. Empty for
open deals. Whether it closed won or lost lives on the linked Opportunity.

### Rolled-up totals

Computed natively in Salesforce from the child Quote records, filtered to
`Primary = true` — read-only by construction, always exactly one quote's
numbers.

**Veles\_\_TCV\_\_c** `Rollup summary (Currency)`

**TCV** — Total Contract Value (TCV) of the primary quote. Recalculates
automatically when the primary quote changes.

> [!NOTE]
>
> TCV is the only packaged proposal rollup. ARR lives on the quote as
> [First-Year, Exit and Blended ARR](https://docs.getveles.com/sfdc-managed-package/objects/quote.md#arr),
> because a ramp deal has no single ARR. To report on the one your org uses
> at the proposal level, see the Quote page's
> [Common additions](https://docs.getveles.com/sfdc-managed-package/objects/quote.md#common-additions).
> The primary quote's TCVs and ARRs are also copied to the linked
> [Opportunity](https://docs.getveles.com/sfdc-managed-package/objects/opportunity.md).

### Sync health

**Veles\_\_Synced\_At\_\_c** `DateTime`

**Synced At** — When the Veles sync last wrote this record. The proposal
updates when it is linked to or unlinked from an Opportunity, published,
pushed or deleted in Veles, and at each step of its order — not on every draft
edit, so a proposal in `Editing` stage may have unpublished changes newer than
this.
If this looks stale relative to activity in Veles, check the integration
status in Veles admin.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.