What Quotivity runs on a migrated quote
See which rules, bundle checks, price refreshes, and deal syncs run on a migrated draft, and how to keep them from redoing work.
Overview
Section titled “Overview”Quotivity doesn’t have a separate mode for imported quotes. Once a migrated draft is opened in Quote Builder, it gets the same treatment as a quote a rep built yesterday. The catch is that Quotivity has no record of what the old system already did, so a rule can do its work a second time.
Published quotes are the safe case, signed quotes aside. Quotivity’s background updates don’t write to a quote in Approved, Approval not needed, or Pending approval, and opening one shows the read-only viewer. This article is mostly about drafts. Read it before you import them, and read Migrating quotes into Quotivity for the import plan itself.
When automation runs
Section titled “When automation runs”Importing a quote through the HubSpot API doesn’t start any Quotivity automation by itself. Something has to act on the quote first, and for drafts that’s usually a rep opening it.
| What happens | Draft or Rejected | Published or Pending approval |
|---|---|---|
| The quote is imported | Nothing | Nothing, including for quotes that arrive already signed (see Signed quotes) |
| Your script edits it through the HubSpot API before anyone opens it | Nothing until someone opens it | Nothing |
| A rep opens it in Quote Builder | Totals recalculate, bundles are checked, rules run | Opens in the viewer. Nothing changes. |
| A rep edits it (autosave) | Prices refresh and rules run again | Not possible |
| A rep publishes it | Approval and validation rules decide what’s next, then the deal syncs | Not possible |
| A HubSpot workflow runs Submit Quote on it | Rules run, then the quote submits | Use it on drafts only |
| The AI quoting assistant edits it | Same as a rep’s edit | Refused |
Script edits to a draft’s line items and properties don’t run rules or pricing. Those only run when someone works on the quote in Quotivity, which makes the HubSpot API a safe place to fix up a migrated draft before anyone opens it. Status and signature changes are the exception, covered in Signed quotes.
The first time a draft opens
Section titled “The first time a draft opens”Three things happen before the rep touches anything.
Totals are recalculated and written to HubSpot. TCV, ACV, ARR, MRR, the starting and ending ARR and MRR fields, Sales Tax Amount, and your roll-up fields are calculated from the line items and saved over whatever you imported.
Bundles are checked (Pro and Enterprise). A member whose bundle option no longer exists in Quotivity Studio becomes a normal line item. The rep sees “Bundle line items were repaired so this quote could be opened.” A header that’s missing a member for one of its included options gets a product added for that option: the default product, or the lowest-priced eligible product when the default can’t be priced. If an included option can’t be priced at all, Quotivity removes the bundle header and shows an error. The property reference covers how to import bundles that pass this check.
Rules evaluate. Quotivity runs every active rule against the quote. Rules that change the quote do their work in the background, so the rep may see lines appear or values change a moment after the quote loads.
How each rule outcome treats a migrated draft
Section titled “How each rule outcome treats a migrated draft”Quotivity normally remembers which rules already ran on a quote. On a migrated draft that memory is empty, so the first evaluation is a first run for every rule.
| Outcome | On the first run of a migrated draft |
|---|---|
| Block, Notify, Prompt User | Same as any quote. They’re checked fresh on every evaluation anyway. |
| Require Approval, Require Validation (Enterprise) | Same as any quote. An approval from your old system doesn’t count, so a matching rule sends the quote for approval when the rep publishes. |
| Set Price Book | Doesn’t run. It only applies when Quotivity creates a quote, so the price book you import stays. |
| Add Line Items | Skipped when every product in the rule is already on the quote, matched by product or SKU. Otherwise it adds them, even if some are already there. When it’s skipped, any property values the rule sets are written onto the matching migrated lines, and if the rule doesn’t let reps remove its lines, those lines become ones the rep can’t delete. |
| Add Collection | Adds every product in the collection. It doesn’t check what’s already on the quote, so expect duplicates. |
| Add One-time Discount / Fee / Tax | Adds a new one. It doesn’t look for an existing discount, fee, or tax with the same label, so expect duplicates. |
| Update Line Items, Update Bundle Members (Enterprise) | Overwrites any value that differs from what the rule wants. After this first run, a rep’s later edits are respected as usual. |
| Update Quote (Enterprise) | Overwrites the quote field if it differs. This outcome keeps the field in sync on every evaluation, migrated or not. |
| Set Quote Template | Replaces the template if the rule names a different one. A rule that names a Quotivity template is skipped on a quote that uses a HubSpot template, and the other way around. |
| Insert Template Terms, Set Quote Language, Set Sender Company | Overwrite the current terms, language, or sender company. |
| Set Signature Options | Applies its signature setting, replacing what you imported. Imported signers stay (the first contact is added if there are none), and countersigners come from the rule. It runs once per quote. |
| Swap bundle product | Swaps any member of that option whose product differs from the rule’s choice. |
| Add add-on bundle product | Adds the add-on to each matching bundle that doesn’t already have it. |
| Start Guided Selling Flow (Enterprise) | Opens the flow for the rep, since Quotivity has no record that it was completed. |
Conditions on Guided Selling answers (Enterprise) find no answers on a migrated quote, because flow responses live in Quotivity and can’t be imported.
Pricing when a draft is saved
Section titled “Pricing when a draft is saved”Every save, whether a rep’s autosave or a rule’s background update, runs the quote’s line items back through its price book. That can happen right after the draft opens if a rule queues work. Here’s what each kind of line gets:
| Line | What happens to the imported price |
|---|---|
| Product in the quote’s price book, unit price editing off | Reset to the price book’s price |
| Product in the quote’s price book, unit price editing on | Kept, until the rep changes the quantity, variant, or pricing-table value |
| Product with a pricing formula (Enterprise) | Recalculated by the formula. Plan on the formula’s price, since an imported price survives only in narrow cases where the price book entry allows unit price editing. |
| Cost Plus product (Enterprise) | Kept when you imported List Price. Without it, repriced from the product’s current cost, and removed with a warning if the cost can’t be priced. |
| Variant (Enterprise) or pricing-table value with no match in today’s price book | Variant: price, list price, and variant cleared. Pricing table: price set to 0. |
| Product not in the quote’s price book | Kept |
| Custom line with no product | Kept |
Volume tiers (Enterprise) are picked from the total quantity of that product across the quote, and ramp periods you imported as separate lines all count toward that total. List Price is refreshed on most lines too, so discount columns compare against today’s catalog.
If a rep changes the quote’s price book, ordinary lines whose products aren’t in the new book are removed, and the rest are repriced from it. Custom lines stay. Bundles get their own handling: a header whose product isn’t in the book is removed, optional members that aren’t in the book are dropped, and a required member is swapped for another product from its option, or dropped with a bundle error when the option has nothing in the new book.
Bundles after the first open
Section titled “Bundles after the first open”Bundles are on Pro and Enterprise. On every update, Quotivity recalculates each bundle header’s Bundle Net Price and margin. It also sets the header’s cost to the cost of one bundle: each member’s unit cost times its base quantity, added up. The header product’s own cost isn’t included. Imported values in those fields won’t survive.
When a rep changes a header’s quantity, members are rescaled from their Bundle Base Quantity. That’s why the reference asks you to import it.
Publishing and the deal
Section titled “Publishing and the deal”A migrated draft that’s submitted or published gets no special handling. Approval and validation rules decide whether it waits. If Expiration Period Option is one of the day presets, the expiration date resets from today.
Submitting also syncs the deal. The deal’s line items are replaced with the quote’s non-optional lines, and its discounts with the quote’s discounts. Quote-level fees and taxes aren’t copied. Quotivity also copies your roll-up fields and the starting and ending ARR and MRR. Then it sets the deal Amount from the metric you chose in Settings, unless you chose manual entry (see Choosing how the deal amount is calculated).
Signed quotes
Section titled “Signed quotes”A quote you import already signed stays as it is. Importing it doesn’t sync its deal, add a timeline event, or create a HubSpot contract, so your historical deals and contracts aren’t touched.
Quotivity does react when a quote becomes signed after it’s in HubSpot. If a published quote’s signature status changes later (HubSpot e-signature completes, the quote is marked as signed, or E-Signature Status reaches Completed), Quotivity runs its acceptance steps:
- Syncs the deal from the quote’s current values, without recalculating them.
- Adds a signed event to the deal timeline.
- Creates a HubSpot contract, if contracts are turned on for your account.
That’s the same thing that happens to any quote, so a migrated quote that’s still out for signature gets the normal treatment when the buyer signs.
One more signature rule applies to every quote: a quote that moves to Draft with E-Signature Status of Completed is set back to Approval not needed, and the owner gets a high-priority task explaining that a fully signed quote can’t be recalled.
Keeping rules off migrated quotes
Section titled “Keeping rules off migrated quotes”If a rule would redo work on your migrated drafts, you can exclude them with a condition instead of cleaning up afterward.
- HubSpot property settings: create a custom quote property, for example a dropdown select called Migrated quote with one option, Yes, and set it on every quote you import.
- Quotivity Studio → Rules → Quote Rules: open the rule you want to keep off migrated quotes.
- If the new property isn’t in the condition picker yet, click your email address at the top right of Quotivity Studio and choose Sync HubSpot Properties.
- Conditions: add a condition with variable Quote, property Migrated quote, and operator is not known.
- Add it to every condition group in the rule, since each group matches on its own.
- Save the rule. It now skips any quote where Migrated quote is set.
There’s a trade-off. That rule never applies to the migrated quote, even when a rep adds products to it months later. Clear the property on a quote to bring it back under the rule, and the next evaluation treats the rule as a first run.
The condition only affects rules. Bundle checks, price refreshes, and total recalculation aren’t rules, so they still run.
Approval workflows
Section titled “Approval workflows”Quotivity’s Request Quote Approval and Publish the Quote workflow actions only work on quotes that were submitted through Quotivity. Say one of your HubSpot workflows enrolls a migrated quote in Pending approval. The action sets the quote to Rejected with the feedback “This quote was not submitted through Quotivity”. A rejected quote is editable, so the rep can open it and submit it the normal way.
The Submit Quote workflow action does work on migrated drafts. It runs your rules first, the same as a rep’s submit.
Related articles
Section titled “Related articles”Ask the help center
Answers come from these guides, with links to the articles used.
Ask anything about configuring quoting in Quotivity Studio.