The money on an order line
An order line has one price lens, not the quote line’s waterfall: the agreed price, carried through from the quote line unchanged. List and system prices, and the discount between them, stay on the Quote Line the order was converted from:
The names match deliberately: quote to order to contract is the join a revenue
team makes, and one number should have one name the whole way through.
Bundle money keeps the quote’s complementary grain: each line’s engine price
lands in exactly one of Net Amount (the row’s own, transacted price) or
Allocated Amount (what the bundle’s pricing mode allocated onto the row), so
Net + Allocated is the row’s whole-order value — and an unfiltered
SUM(Net Amount) totals the order correctly with no bundle filter. A
component of a bundle sold more than once shows in Veles at one bundle’s
worth, the whole-order value divided by the bundles sold. Product-grain reports use the row formula Net Amount + Allocated Amount filtered Bundle = false; never sum Allocated Amount by itself. The
full explanation and a worked example live on
Quote Line.
Fields at a glance
Field details
Line Name — The line’s name as it read on the quote the order was
converted from, or the product’s name for an order built without a quote. The
same text as Product Name, cut at 80 characters.
Veles External ID — The Veles order line ID. All sync writes upsert on
this field; never edit.
Order — The Veles order this line belongs to. Master-detail: all of an
order’s lines across every phase, as one flat list. Filter by Phase Sequence or
Billing Type to slice it.
Phase — The order phase (time window) this line is committed in. Lookup
rather than master-detail, since the line’s owning parent is the order; use the
denormalized Phase Sequence field for rollup filters.
Phase Sequence — The 1-based sequence of the phase this line sits in,
denormalized so rollup and report filters work without joins — e.g. SUM(Net
Amount) WHERE Phase Sequence = 1 AND Billing Type = Recurring.
Product — The Salesforce Product2 record matching this line’s Veles
product, when the mapping is known. Enables native “revenue by product family”
joins. May be empty — Product Name and Product SKU are always populated as text
so reports never break on a missing lookup.
Product Name — The line’s name as it read on the quote the order was
converted from (the rep’s rename, else the product name recorded on the quote
line), or the product’s name for an order built without a quote. Stored as text
so it survives catalog changes and reports never depend on the Product lookup
resolving.
Product SKU — The product SKU recorded on the quote line the order was
converted from, or the product’s SKU for an order built without a quote.
Stored as text for the same reason as Product Name.
Quantity — The units this line’s rate is priced over across the whole
order: the line’s own quantity times the bundles it rides in, so Net Unit Price
x Quantity is the row’s Net Amount. On a row whose money is Allocated the Net
Unit Price is zero and its value is in Allocated Amount instead. A usage line’s
is its own quantity. Fractional quantities are possible.
Net Unit Price — The per-unit price for this line after all discounts,
carried through unchanged from the quote line. Zero on a row whose money is
Allocated. The order mirror carries no list or system price and no discount:
those stay on the quote the order was converted from, so this is the only unit
price on the record.
Net Amount — The line’s extended net amount, annualized/full-term (the
run-rate lens, before proration). Recurring lines’ Net Amounts sum to the
phase’s ARR. See Net Amount Prorated for the window actual; their ratio is the
Proration Factor.
Net Amount Prorated — The line’s net amount prorated to its actual window:
what the customer really pays for this line in this phase. Recurring lines’
values sum to the phase’s Recurring Revenue Prorated. One-time lines are never
prorated, so their Net Amount and Net Amount Prorated match. This is the
field to sum for revenue reporting — no bundle filter needed: like Net
Amount, it carries transacted money only,
0 on bundle rows whose price is
derived from other rows (Allocated Amount Prorated holds those).Allocated Amount — The value the bundle’s pricing mode allocated onto
this row, annualized/full-term: a component’s spread share of a
parent-priced bundle’s whole line (every bundle sold), or the components’
total rolled up onto a sum-of-parts bundle line. Carried through unchanged
from the quote line. At most one of Net Amount and Allocated Amount is
non-zero on any row — add them for the row’s whole-order value. Never
sum this column: a bundle’s Allocated restates the value of its
contents; to total an order, sum Net Amount.
Allocated Amount Prorated — The window-actual companion to Allocated
Amount, on the same prorated lens as Net Amount Prorated. At most one of
Net Amount Prorated and Allocated Amount Prorated is non-zero on any row —
add them for the row’s whole-order prorated value. Never sum this column;
to total an order, sum Net Amount Prorated.
Proration Factor — How much of the line’s annualized amount applies to its
actual window (day-based). 100% means no proration. Net Amount x Proration
Factor = Net Amount Prorated.
Billing Type — How this line’s charge behaves. Unrestricted so new Veles
billing types never break the sync.Values:
Recurring (repeats every billing period), One-Time (billed once),
Usage (transactional/consumption-based, billed on actuals). Usage lines
contribute nothing to phase totals, since there are no actuals yet at order
time — their amounts sync as blank, not 0.Billing Frequency — How often this line is invoiced:
Monthly,
Quarterly, Semi-Annual, or Annual. Independent of Billing Type — a
recurring line can be billed at any of these cadences.Bundle — Whether this line is a bundle: a product whose component
lines carry its detail. True when other lines name it as their Parent Line,
whatever the bundle’s pricing mode. Product-grain reports filter
Bundle = false and total Net Amount + Allocated Amount — see
the money on an order line.Parent Line — The line this line sits under: for a bundle component, the
bundle’s own line in the same phase. Empty for standalone lines and for the top
line of a bundle. Structure only; every row carries its own Net or Allocated
money regardless of this pointer.
Start Date — The first day of the line’s own effective window. Lines can
cover a sub-window of their phase (e.g. a mid-phase add).
Months — How many months the line’s effective window spans, derived from
its start and end dates.
Position — The line’s sort order within its phase, so a report can present
lines in the order the customer saw on the order document.

