Skip to content

Quotivity custom properties

See every property Quotivity adds to companies, contacts, deals, quotes, products, and line items — and which are business data versus system fields.

When you install Quotivity, we add custom properties to your HubSpot portal so quoting data lives on the same CRM records your team already uses. Some of those properties are business data you can report on, filter, and show on records. Others are system fields Quotivity uses to run the quote lifecycle — leave those alone unless a workflow or integration needs them.

This article lists the properties Quotivity creates on companies, contacts, deals, quotes, products, and line items. Product and line item fields are listed separately because HubSpot inheritance is easy to miss: a property created on Product also appears on Line Item, and Quotivity creates additional properties on Line Item that never exist on Product.

It is a HubSpot reference — there is nothing to configure in Quotivity Studio — so Studio screenshots are not included.

Properties appear after install or the next HubSpot re-authentication. Internal names start with quote_hapily_, quotivity_, or hapily_, with one exception: Expiration Period Option. Use the label in reports and the internal name in workflows and the API.

Kind What it means
Business A metric or status your team can report on — revenue, margin, price book, acceptance, e-signature status.
System An identifier, token, flag, or workflow signal Quotivity needs to operate. Don’t edit these by hand.
Calculated HubSpot computes the value from other line item fields. Quotivity defines the formula; you don’t set it.

A few properties only appear when a plan feature is on: company and deal Price Book need company-assigned price books (Enterprise), and Optional? needs optional line items (Enterprise). Roll-up fields and Guided Selling can add more properties you configure — those are covered at the end.

Quotivity adds one company property, and only when company-assigned price books are on (Enterprise).

Label Internal name Kind How Quotivity populates it
Price Book quotivity_price_book Business You set this on the company in HubSpot. When a quote is created, Quotivity can use it as the catalog if no higher-priority source applies — a book already on the quote, a matching Set Price Book rule, a book inferred from deal line items, or a book on the deal. A company assignment locks the book on the quote so the rep can’t switch it.

See Assigning price books to companies.

Guided Selling can also create or write other company properties when a question is set to sync there. Those names come from your Question Library, not from install.

Quotivity does not add standard custom properties to contacts.

Quotes still associate buyer contacts, and Quote Rules can read contact properties that already exist in HubSpot. Guided Selling syncs answers to deal, company, or quote properties — not contacts.

Approval properties live in a Quote Approval Information group. Ramp revenue fields live with the rest of deal information.

Label Internal name Kind How Quotivity populates it
Price Book quotivity_price_book Business Enterprise. You set this on the deal. At quote create, it wins over a company assignment and loses to a book already on the quote, a matching Set Price Book rule, or a book inferred from deal line items. A deal assignment locks the book.
Current Quote Approver(s) quote_hapily_current_approvers Business Written when a HubSpot workflow requests approval. A comma-separated list of approver emails.
Last Approval Request Reason quotivity_approval_request_reason Business The explanation from the latest approval request, copied onto the deal from the Quote sent for approval timeline event.
Date Quote Submitted for Approval quote_hapily_date_submitted Business Set when a quote is submitted and an approval rule holds it.
Date Quote Approved quote_hapily_date_approved Business Set when the quote publishes — after approval, or immediately if no approval was required.
Starting ARR quotivity_arr_starting Business Copied from the quote when the deal syncs. On a ramped quote, this is first-period ARR.
Ending ARR quotivity_arr_ending Business Copied from the quote. Last-period ARR on a ramped quote; otherwise matches Starting ARR.
Starting MRR quotivity_mrr_starting Business Copied from the quote. First-period MRR on a ramped quote.
Ending MRR quotivity_mrr_ending Business Copied from the quote. Last-period MRR on a ramped quote; otherwise matches Starting MRR.

When a quote publishes, Quotivity also writes HubSpot’s standard deal Amount from the quote metric you chose in Settings — TCV, ACV, ARR, or MRR — unless you use manual entry. See Choosing how the deal amount is calculated.

Roll-up fields you create are written to the deal with the same internal name as on the quote, when that property exists on both objects.

Most quote properties sit in HubSpot’s Quote information group.

Quotivity recalculates these as line items change, then uses them when the quote publishes and the deal syncs.

Label Internal name Kind How Quotivity populates it
Gross Margin quote_hapily_quote_margin_amount Business Sum of line-item margin. A sample Gross Margin roll-up uses this same name. Bundle headers use bundle net price minus rolled-up cost.
Margin Percentage quote_hapily_quote_margin_percentage Business Margin as a percentage of net line amount. Bundle headers use bundle net price as the denominator.
Total Contract Value (TCV) quote_hapily_total_contract_value Business Full contract value across the term, including recurring and one-time charges. Starts at 0 on a new quote.
Annual Contract Value (ACV) quote_hapily_annual_contract_value Business Value of the contract over one year.
Annual Recurring Revenue (ARR) quote_hapily_annual_recurring_revenue Business Recurring portion expressed per year. On ramped quotes, this is the starting run-rate.
Monthly Recurring Revenue (MRR) quote_hapily_monthly_recurring_revenue Business Recurring portion expressed per month. On ramped quotes, this is the starting run-rate.
Starting ARR quotivity_arr_starting Business Recurring revenue of the first billing period. Without ramps, this matches ARR.
Ending ARR quotivity_arr_ending Business Recurring revenue of the last billing period. Without ramps, this matches Starting ARR.
Starting MRR quotivity_mrr_starting Business First-period MRR.
Ending MRR quotivity_mrr_ending Business Last-period MRR.
Sales Tax Amount quote_hapily_sales_tax_amount Business Total sales tax on the quote when automatic sales tax is enabled (Enterprise).

Optional line items do not count toward these revenue totals.

Label Internal name Kind How Quotivity populates it
Quotivity Approval Queue quote_hapily_approval_queue Business Semicolon-separated queue names when an approval rule holds the quote. Options stay in sync with the queues you configure.
Quotivity Validation Operation quotivity_validation_operation System Set to Calculate Shipping and/or Calculate Taxes while a Require Validation rule is pending (Enterprise). Cleared when validation finishes.
Quotivity Validation Status quotivity_validation_status System Validation Pending or Validation Complete. A pending quote is not editable.
Quotivity Validation Date quote_hapily_validation_date Business Date validation completed, or the publish date when no validation ran.
Created by Quotivity quote_hapily_created_by_quote_hapily System Set to Yes on every quote Quotivity creates.
Auto-created by Quotivity quotivity_auto_created System Yes when the HubSpot Create Quote workflow action created the quote.
Auto-submitted by Quotivity quotivity_auto_submitted System Yes when the HubSpot Submit Quote workflow action submitted the quote.
Expiration Period Option expiration_period_option Business Copied from your default quote expiration at create (30_days, 60_days, 90_days, 120_days, 180_days, 365_days, or custom_date). Drives the HubSpot expiration date unless the option is a custom date.
E-Signature Status quotivity_esign_status Business DocuSign envelope status: Not Started, Awaiting Signatures, Partially Signed, Completed, Voided, or No Credits.
Accepted By quotivity_accepted_by Business Email of the buyer who accepted the quote.
Accepted Date quotivity_accepted_date Business Date and time the quote was marked accepted.
Label Internal name Kind How Quotivity populates it
Price Book hapily_price_book Business The catalog chosen at quote create. Options stay in sync with your price books.
Quotivity Template ID quotivity_template_id System ID of the selected Quotivity-managed template. Cleared when the quote uses a HubSpot-native template.
Quotivity Template Name quotivity_template_name Business Display name of the template in use (Quotivity or HubSpot), for reporting.
Quotivity Quote Link quotivity_quote_link Business URL of the published Quotivity-hosted quote page. Written when the quote renders.
Quotivity PDF Download Link quotivity_pdf_download_link Business URL of the generated PDF. Written when the PDF is ready.
Finalization Token quote_hapily_finalization_token System One-time token used to finalize the quote. Cleared after acceptance.
Attached File URLs quote_hapily_attached_file_urls System JSON list of uploaded quote attachment URLs.
Form Data quote_hapily_form_data System JSON of buyer form answers collected at finalization.

How product and line item properties relate

Section titled “How product and line item properties relate”

HubSpot’s Line Item object inherits custom Product properties. When Quotivity creates a property on Product, HubSpot automatically makes that same property available on Line Item — same label, same internal name. You do not create it twice.

Quotivity also creates some properties directly on Line Item. Those do not exist on Product. They are quote-specific values (discounts, net cost, line type) that only make sense on a quote line.

A line item in HubSpot therefore shows two kinds of Quotivity fields:

Where Quotivity creates it What you see
Product Inherited onto every line item automatically. Catalog values copy onto the line when the product is added; Quotivity may then update the line (list price snapshot, selected variant, narrowed price books).
Line Item only Created on Line Item independently. Not present on the product record.
Both objects Is Bundle Header? is the one property Quotivity defines on Product and again on Line Item (same internal name, different HubSpot property groups).

Don’t treat a field as product-only just because its schema lives on Product — it is valid on the line item too. And don’t expect a Line Item-only field such as Absolute Discount Amount to appear on the product.

Quotivity creates these on the Product object. Because of HubSpot inheritance, every property in this section also appears on line items.

Label Internal name Kind How Quotivity populates it
Price Books hapily_price_books Business Which price books this product belongs to. On a line item, Quotivity can narrow this to the quote’s book.
Quotivity Calculated Price quotivity_calculated_price Business Enterprise. Which calculated-price formula is assigned to the product.
List Price quote_hapily_list_price Business Catalog list price. On a line item, Quotivity snapshots this when the product is added or the price book changes.
Margin Percentage quote_hapily_margin_percentage Business Line-item margin percentage. Defined on Product so it inherits onto the line.
Optional? quote_hapily_is_optional Business Enterprise. Optional or Required. On a line item, optional lines are excluded from quote revenue totals and from the deal line-item sync.
Product Variant Template quote_hapily_product_variant_template System Variant template the product uses (Enterprise).
Selected Product Variant quote_hapily_selected_product_variant Business Variant selected for this product. On a line item, the variant the rep chose.
Product Features quote_hapily_product_features Business Rich-text features shown for the product or bundle.

These are created on Product so they inherit onto header and member line items. Quotivity then writes quote-specific values onto the line (bundle IDs, option name, header link, quantities, and subtotals).

Label Internal name Kind How Quotivity populates it
Is Bundle Header? quotivity_is_bundle_header System True on the header product. Also created independently on Line Item so it appears in the Line Item property group.
Quotivity Bundle ID quote_hapily_bundle_id System Bundle the header product represents. Copied onto header and member line items.
Quotivity Bundle Option ID quote_hapily_bundle_option_id System Option a member line item belongs to.
Quotivity Bundle Option Name quote_hapily_bundle_option_name Business Display name of that option.
Bundle Header Line Item ID quote_hapily_bundle_header_line_item_id System Links a member line item back to its header. Populated on the line.
Bundle Base Quantity quote_hapily_base_quantity System Member quantity before multiplying by the header quantity. Don’t edit this.
Bundle Net Price quote_hapily_bundle_net_price Business Net price of the configured bundle, stored on the header line.
Included Products Subtotal quote_hapily_bundles_included_products_subtotal Business Subtotal of included bundle members.
Add-on Products Subtotal quote_hapily_bundles_addon_products_subtotal Business Subtotal of add-on members.

A line item shows inherited Product properties plus Line Item-only properties. The Product table above is the full inherited set — those names are not created a second time on Line Item (except Is Bundle Header?).

When a product is added to a quote, HubSpot copies the Product properties onto the line. Quotivity may then overwrite quote-specific values for List Price, Price Books, Selected Product Variant, Optional?, and the bundle fields.

You will not find a separate Line Item definition for names such as hapily_price_books or quote_hapily_list_price. They appear on the line because they were created on Product.

Quotivity creates these directly on the Line Item object. They do not exist on Product, so they never appear on product records.

Label Internal name Kind How Quotivity populates it
Absolute Discount Amount quotivity_absolute_discount_amount Calculated Amount + percentage discount, plus any drop from list price to unit price.
Absolute Discount Percentage quotivity_absolute_discount_percentage Calculated Absolute discount amount divided by list price (or unit price if list is empty).
Unit Sale Price quotivity_unit_sale_price Calculated Unit price after amount or percentage discount.
Net Cost quotivity_net_cost Calculated Unit cost × quantity.
Margin Amount quotivity_margin_amount Business Mirrors HubSpot margin on normal lines. Bundle headers use bundle net price minus rolled-up cost.
Gross Margin quote_hapily_quote_margin_amount Business Same name as the quote Gross Margin roll-up. Written on bundle header line items for that bundle’s members.
Calculated Unit Price quotivity_calculated_unit_price System Last unit price from a Calculated Pricing formula (Enterprise). Used to detect when formula inputs changed.
Original Bundle Header Cost quotivity_original_bundle_header_cost System Bundle header’s own cost before member costs are rolled in. Snapshotted from product COGS when the header is created.
Line Item Type quotivity_line_item_type Calculated HEADER if a bundle ID is present, MEMBER if a bundle option ID is present, otherwise LINE.
Is Bundle Header? quotivity_is_bundle_header System Also created on Product. The Line Item copy lives in the Line Item property group and is True on the header line.

Install is not the only source of Quotivity-named HubSpot properties.

  • Roll-up fields (Pro and Enterprise) — each roll-up creates a property with the same internal name on Quote, Deal, and Line Item. Quotivity recalculates the quote value as line items change, writes the per-bundle result onto each bundle header, and copies the quote value to the deal when the deal syncs. See Configuring Roll-up fields.
  • Guided Selling (Enterprise; complimentary on Legacy Pro through November 1, 2026) — a question can create a new Deal, Company, or Quote property, or write to one that already exists. See How Guided Selling works.
  • Dynamic Property Sets (Enterprise) — these show existing line-item (and inherited product) properties in Quote Builder. They do not create new HubSpot properties. See Using Dynamic Property Sets.
  • Add business properties to HubSpot record views and reports. Keep system fields off default views so reps don’t edit tokens, IDs, or workflow flags.
  • In HubSpot property settings, look at Product for catalog fields and Line Item for quote-specific calculated fields. Inherited Product properties appear on both objects; Line Item-only properties appear only under Line Item.
  • If a property is missing, re-authenticate the Quotivity app in HubSpot so post-install can create it. Company and deal Price Book still require company-assigned price books; Optional? still requires optional line items.
  • Price book dropdown options refresh to match the books in Quotivity Studio. An assignment that points at a deleted book is cleared.
  • Don’t rename or delete Quotivity properties. Changing the internal name breaks writes, roll-ups, and workflows that depend on it.