Quote deal metrics
The commercial numbers of a quote, calculated by the engine that will invoice it: contract values, discounts against list, commitments and the breakdown per subscription, line and schedule.
Why this matters
Desk shows these figures on the quote, a CRM integration writes them onto the opportunity, and an AI assistant quotes them back in a summary. Calculating them outside Solvimon means re-implementing rating: overrides, discounts, commitments, ramps and proration, each one a chance to drift from what the invoice engine actually bills.
The summary endpoint removes that duplication. It simulates the invoices of the quote’s pricing plan subscriptions over their term and reports the totals, so the number on the quote and the number on the first invoice come from the same calculation.
Read the summary
GET /v1/quote-versions/{id}/summary takes the quote version and returns the whole summary in one response.
Every amount is in currency, the billing currency of the quote’s pricing plan subscriptions, and computed_at records when the figures were calculated. Reading the summary again recalculates it, so it always reflects the quote as it stands.
What each metric means
estimated_usage_total and estimated_tcv are reserved for a usage forecast and are not calculated yet. Treat them as absent rather than as zero.
Usage-based lines, usage-based conversions and credit lines are priced per use, so they count as zero in every total. When a quote contains one, the response carries variable_note saying so, which is the text to show next to the figures.
The term the metrics cover
term is the window the totals are calculated over: from the start of the first pricing plan schedule to the end of the initial term, or failing that the end of the last schedule.
An assumed term is worth surfacing in your own UI: the contract values are real, but the period they are annualised over was a default rather than something the deal states.
The breakdown per subscription
pricing_plan_subscriptions repeats every metric above per subscription, each with its own term and blended_discount, and adds two lists.
lines holds one entry per pricing item config, with product_item_name, model_type, pricing_type and the units the config is priced for. list_bands and quoted_bands give the price bands before and after the override and discount, so you can show list against quoted per tier. list_total and quoted_total are that line’s totals over the term, and discount is the step between them. The flags say how to read the line: override when the schedule replaces the plan’s pricing, one_off for a one-off fee, and variable for a line priced per use, which is the one that counts as zero. pricing_plan_schedule_ids names the schedules that rate the line, in the order they start.
schedules holds one entry per pricing plan schedule, with its start_at and end_at, its quoted_total and list_total within the term, and the discount_total, markup_total, commitment_total and one_off_total that fall inside it. Two fields are there for the commercial conversation rather than the maths: invoice_count, the number of regular invoices in the term excluding the final one, and first_invoice_base_amount, what the customer is billed before tax the first time.
Together these answer the question a ramp raises: what is this deal worth in total, and what does the customer pay on day one.
Responses to handle
The call runs the invoice engine, so it is slower than a plain read and has a 30 second timeout. Request it when a quote is opened or saved rather than on every keystroke, and cache it against computed_at if you render it repeatedly.
Edge cases
- The endpoint needs the
QUOTE.VIEWpermission. An integration that only holds pricing permissions cannot read it. blended_discountand a line’sdiscountare absent when the list total is zero, which happens for a quote that is entirely usage-based. Do not render a percentage in that case.- A discount amount can be negative when a markup pushes the quoted total above list.
- The figures follow the quote version, not the quote. Read the summary of the version you are showing; an earlier version reports the deal as it was then.