Skip to main content

How do I connect HubSpot quotes for revenue recognition?

HubSpot's Quote object carries line items with quantity, price, and amount, plus a recurringbillingfrequency property that classifies each line as recurring or one-time. Read line items via the quotes API, require recurringbillingfrequency before treating a quote as rev-rec-ready, and subscribe to quote webhooks so schedule creation reacts to quotes in real time.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Last reviewed Editorial policy

Part of the finance integrations guide.

ObjectQuote, with associated Line Items
Key fieldrecurringbillingfrequency — classifies a line item as recurring vs. one-time
Trigger mechanismquote.creation and quote.propertyChange webhooks
Prerequisiterecurringbillingfrequency must be set — it's optional in HubSpot, not enforced at quote creation

Why HubSpot's quote line items are the right level to read

HubSpot's Quotes API exposes line items with quantity, unit price, computed amount, and a recurringbillingfrequency property, per HubSpot's own line items and quotes API guides. That's the field-level detail a revenue-recognition schedule needs — a single quote total alone can't distinguish a one-time services line from a 12-month recurring subscription line bundled into the same deal.

Setting up the connection

Read line items via the quotes API rather than reading only the quote's total amount. Before generating a revenue schedule from a line item, check that recurringbillingfrequency is actually populated — HubSpot requires line item, contact, and deal associations before a quote can be published, but that gate is about associations, not about the values inside individual line-item properties, so a fully valid, publishable quote can still have no recurringbillingfrequency set. Subscribe to quote.creation and quote.propertyChange webhook events so new quotes and edits to existing ones (a line item added, a frequency changed) flow into schedule generation without a manual poll.

Next step

Map the finance workflow with the most exposure and prove the automation path.

Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.

Book a workflow review

Field mapping

HubSpot quote line item → revenue recognition schedule input

HubSpot line item fieldRev-rec schedule input
amountTotal contract value for the line
recurringbillingfrequencyRecurring vs. one-time classification
quantity × pricePer-unit revenue basis, if usage-scaled

Frequently Asked Questions

No — it's an optional property. A quote can be created, sent, and signed without it being set, which is why a rev-rec integration has to check for it rather than assume it's there.

A recurring subscription line can be misread as one-time revenue (or vice versa), which misstates the revenue schedule and the deferred-revenue balance derived from it.

You can, but a single total can't distinguish recurring from one-time revenue when a quote bundles both — line-item-level detail is what a rev-rec schedule actually needs.

Sources

Related