Most of the guides on this site take one connector apart. This one goes the other way, because after enough of them a pattern becomes impossible to ignore: the same three or four joins keep breaking, in the same order, regardless of which vendors are on either side. The name for the path those joins sit on is quote to cash, and describing the whole path is the only way to see that the failures are not a run of unrelated vendor shortcomings.

The category description is stable across vendor glossaries and runs to roughly seven stages. Configure, price and quote. Proposal and negotiation. Contract execution and signature. Fulfilment or provisioning. Invoicing. Payment collection and cash application. Revenue recognition.

What has changed recently, and what makes this worth writing now, is that HubSpot covers about six of those. It has a real CPQ product, in its own words a tool to create, manage and approve quotes inside HubSpot. It has approvals, e-signatures, payment links, invoices, subscriptions and payment processing. Ten years ago the answer to "can the CRM run quote to cash" was obviously no. Today it is mostly yes, and the seams have not disappeared. They have moved somewhere more interesting: inside HubSpot's own product ladder, and inside HubSpot's own integrations, where in one documented case connecting your accounting system removes a feature from your CRM.

This guide walks the seven stages, marks where each one actually lives, and points at the joins. It is the process-level companion to the individual connector guides, which are linked at each stage, and it sits alongside the broader guide to HubSpot integrations.

In this article

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

What Quote to Cash Actually Means

The term gets used loosely, usually by vendors who cover two stages and would like you to believe that is the set. It is worth being precise, because the precision is what makes the gaps visible.

Two narrower terms sit inside it and are constantly confused with it. CPQ is configure, price, quote, which is stage one alone. Billing is roughly stages five and six. Quote to cash is the whole path, and it is the only frame in which a question like "why does the renewal price not match the contract" has a findable answer.

  1. 1

    Configure, price, quote

    Turning an intent into a priced offer. Product catalogue, price book, discounting rules, term length, tiered or volume pricing. This is where the numbers are decided, which makes it the origin of every downstream disagreement.

  2. 2

    Proposal and negotiation

    The offer meets a buyer who wants it changed. Redlines, approval thresholds, non-standard terms. This stage is mostly conversation, which is exactly why the systems handle it worst.

  3. 3

    Contract execution and signature

    The agreed version becomes an executed document. This is the stage that most obviously produces a new artefact, and the stage where the artefact and the CRM record most reliably stop matching.

  4. 4

    Fulfilment or provisioning

    Somebody has to deliver the thing. Onboarding, project kickoff, licence provisioning, shipment. Usually a different system and often a different department.

  5. 5

    Invoicing

    The agreement becomes a demand for money, with the correct amounts, the correct tax treatment and the correct billing entity. Small errors here are expensive because they are customer-facing.

  6. 6

    Payment collection and cash application

    Money arrives and is matched to what it was for. Partial payments, multiple currencies, failed cards, dunning.

  7. 7

    Revenue recognition

    The finance system decides when that money counts as revenue, which for anything recurring is not when it arrived. This is an accounting judgement, not a CRM feature.

Every stage above is well served by good software. Nothing in the list is hard. What nobody sells is the join, and the join is where the money goes missing.

What HubSpot Covers, and What It Charges For

Here is the part that surprises people who last looked at this a few years ago, and the part worth checking before anybody scopes a project. HubSpot's coverage is broad, and its pricing ladder runs in the opposite direction to intuition.

Now the ladder. You would expect a CRM to give away quoting, since quoting sells the CRM, and to charge for taking money. It is the other way round.

ToolSubscription required
InvoicesAny subscription
Payment linksAny subscription
Subscriptions (recurring)Any subscription
Legacy quotesAny subscription
Quotes (current CPQ)A Revenue Hub subscription, plus an assigned Revenue Hub seat to create or edit
Quote approvalsRevenue Hub Professional or Enterprise
Advanced approvalsRevenue Hub Enterprise
Tiered pricing and price booksA Revenue Hub subscription and a seat
E-signature on quotesRevenue Hub Professional or Enterprise, plus an assigned seat
Payment processingStarter and above on the other Hubs, or Revenue Hub Professional or Enterprise

Read the top and bottom of that table together. Invoicing and collecting are free on any plan. Quoting properly is the paid part. That is a coherent commercial strategy, because getting money into HubSpot makes HubSpot stickier, but it inverts how most teams plan a rollout. Teams routinely budget for the collection end and discover the gate is at the quoting end.

The approvals detail worth knowing before stage two

Approvals are stage two of the process, and HubSpot's implementation has three documented constraints that decide whether it fits a real deal desk. You can assign up to 10 approvers against configured filters and choose whether one or all must approve. Advanced approvals add triggering on quote and line item properties, and sequential approvals ranked by priority.

Then the constraints. You cannot turn on standard and advanced approvals simultaneously, so a portal with two genuinely different approval shapes has to pick one. If a designated approver creates a quote and they are the only approver, the quote will not require approval, which is either sensible or a control gap depending on who your approvers are. And advanced approvals run on a workflow HubSpot creates, where the documentation states you must use the created workflow and cannot duplicate it or create a new one. Approval logic in HubSpot lives in exactly one place and that place is not yours to fork.

Where the Chain Actually Breaks

This is the substance of the guide. Everything below is documented behaviour rather than a bug, which is precisely why no amount of configuration removes it.

The documented seams, stage by stage

  • Installing an accounting connector removes tax from invoices. HubSpot states that if you have installed the QuickBooks Online data sync app, it is not possible to add taxes to invoices. This is the most instructive sentence in the whole process. Nothing failed, no limit was hit, and no feature is missing. Two systems both wanted to own tax and one had to be switched off. The detail is in the HubSpot QuickBooks integration guide.

  • HubSpot invoices do not exist in Stripe. HubSpot documents that if you use Stripe as a payment processing option, when creating invoices in HubSpot, invoices won't be created in Stripe. The payment is processed and the document lives on one side only, which surfaces the first time finance reconciles the processor against the ledger. The detail is in the HubSpot Stripe integration guide.

  • Partial payments do not associate line items. When a partial payment is made on an invoice, HubSpot states that line items will not automatically associate with the payment. So the moment a customer pays half, the question "which of these things has been paid for" has no answer in the record, which is the question revenue recognition needs answered.

  • Online payment requires whole-number quantities. Documented plainly: for online payments, line item quantities must be whole numbers. Anything billed in hours, partial licences, fractional units or metered consumption cannot be collected online as-is, which pushes usage-based pricing off the native path immediately.

  • Payments is a three-country feature. HubSpot payments is only available to businesses and organizations located and operating in the United States, the United Kingdom and Canada, with a bank account in one of those three, subject to two to three business days of underwriting and to high-risk industry ineligibility that points at Stripe's restricted businesses list. Elsewhere, the documentation notes you can record manual payments against the invoice, which is a polite way of saying somebody types it in.

  • Signed values do not come back from the signature stage. This is the join that produces the most silent damage, and both major vendors document it. Docusign's HubSpot app is, in HubSpot's own words, not a data sync app: envelope status returns and no field value does. PandaDoc does return values, but only Text, Date, Dropdown, Checkbox and Radio Button types, which excludes number and currency, so a negotiated figure cannot come back as a figure. See the Docusign and PandaDoc guides.

  • Recurring pricing flattens when it crosses a boundary. PandaDoc's documentation notes recurring products become one-time in pricing tables and that taxes do not transfer. A subscription that arrives downstream as a single charge is not a rounding error, it is the difference between ARR and a one-off.

  • Nothing reconciles the two ends. The structural one, and the same finding as every connector guide on this site. No pass ever compares what was signed against what was invoiced against what was recognised and reports the difference. Each hop is event-driven, so a value that fails to cross fails silently and permanently.

A feature gap can be closed by buying the feature. An ownership conflict cannot, because both systems are working correctly and they disagree. Almost everything that breaks in quote to cash is the second kind.

Stage Seven Does Not Exist

It is worth stating this cleanly rather than treating it as an omission, because HubSpot is right not to build it.

Revenue recognition is an accounting judgement made under a standard. For anything recurring, ratable or milestone-based, the moment money arrives and the moment it becomes revenue are different moments, sometimes by many months. That determination belongs in a general ledger with an audit trail, not in a CRM.

Which means the last join in the chain is the one that always has to be built or bought, and it is the one where the receiving system is least tolerant of mess. The HubSpot ERP integration guide covers the landscape, and the NetSuite guide covers the one native connector that crosses from records into process, with a deal-based workflow that creates a real sales order. That crossing is rare precisely because it is the hard one.

For teams whose finance system is a smaller accounting tool rather than an ERP, the Xero and QuickBooks guides cover where those connectors stop, and the answer in both cases is short of revenue recognition.

The Handoffs, One at a Time

Mapping the stages onto systems is the exercise worth doing on a whiteboard before anybody writes code, because it makes the count of boundaries obvious. A typical B2B stack crosses four to six of them.

StageWhere it usually livesThe join that breaks
Configure, price, quoteHubSpot CPQ, or a dedicated CPQPrice book drift between catalogue and quote
Proposal and negotiationHubSpot approvals, email, a document toolApproval logic split across two systems
Contract executionDocusign, PandaDocSigned values never reach CRM properties
Fulfilment or provisioningClickUp, Asana, an internal toolCreated once, never updated again
InvoicingHubSpot invoices, QuickBooks, XeroTax ownership, and the invoice existing in one place
Payment and cash applicationStripe, HubSpot paymentsPartial payments with no line item association
Revenue recognitionNetSuite, an ERPNothing native reaches it

Count the rows where the system changes. That number, not the number of tools, is the size of your integration problem.

Quote to Cash: Native vs iPaaS vs Custom

Three routes, and they stack. If the middle term needs defining, the guide to iPaaS covers the category.

PickThe native HubSpot pathWhenYou sell a standard product, in one of three countries, and finance can work from exports

Genuinely capable and partly free. Quotes with approvals, e-signature, invoices, payment links and subscriptions in one place, with no integration to maintain because there is no boundary to cross. If your pricing is simple, your quantities are whole numbers and your accountant is happy reconciling by hand once a month, configure this and build nothing.

PickNative plus an iPaaS at the weak joinsWhenOne or two specific handoffs need patching and volume is modest

A scenario listening for a signature event and writing a few values back, or pushing an invoice into the accounting system. This closes individual gaps cheaply and is the right answer for a small number of them. It does not add reconciliation, it prices per operation so it scales with deal volume, and every scenario is a separate thing to remember exists.

Best fitPickA custom integration across the chainWhenNegotiated values must persist, pricing is recurring or usage-based, or the ledger has to receive clean orders

Built against the vendor APIs and the HubSpot API directly, with a declared owner for every field, so a signed figure lands on the property that owns it, a recurring product stays recurring, tax is calculated in exactly one system on purpose, a failed write retries, and a nightly reconciliation compares what was signed against what was invoiced and reports the difference to a person rather than to nobody.

When to Build Across the Quote to Cash Chain

Configure the native path first. It is better than its reputation and some of it costs nothing. The signal to build is not a missing feature, it is a person doing reconciliation as a job.

Signs the chain needs owning

  • Somebody reads executed contracts and types values into HubSpot. The single most common symptom, and a direct consequence of a signature stage that returns status and not values. It looks like an admin task, which is why it survives for years and why nobody costs it.

  • Your pricing is recurring, tiered or metered. Whole-number quantities for online payment, recurring products flattening to one-time across a vendor boundary, and tiered pricing gated behind a Revenue Hub seat all point the same way. Usage-based pricing leaves the native path at stage one.

  • You operate outside the US, UK and Canada. Payments is unavailable, so collection is somebody else's system by definition and the invoice-to-payment join has to be built. This is not a limitation to work around, it is a design input.

  • Tax is calculated in two places. If installing an accounting connector took a capability away from your invoices, you have an ownership conflict that configuration resolved by disabling something. That is a decision worth making deliberately rather than inheriting.

  • Finance closes the month from spreadsheets. Partial payments that do not associate line items, invoices that exist on one side of the processor boundary, and no native path to revenue recognition all produce the same artefact: a spreadsheet that reconciles two systems, maintained by the person who understands both.

  • The renewal conversation requires opening a PDF. The cleanest test there is. If nobody can answer what this customer agreed to without finding the document, the CRM is not the system of record for the commercial relationship, whatever the org chart says.

What to know before you scope a build

The technical ceilings across this chain are generous and the commercial ones are not, which is the consistent finding across every guide on this site.

190 per 10 secondsHubSpot's burst limit on any paid tier, with 650,000 calls per day on Professional and 1,000,000 on Enterprise. Across every integration covered on this site, HubSpot has never once been the binding constraint. The other vendor always is, or the licence is.HubSpot Developers
25 and 50e-signatures per user per month on Revenue Hub Professional and Enterprise, pooled account-wide. One is consumed the moment e-signature is turned on for a published quote, whether or not anybody signs, and a resend after expiry or recall counts again. A slow negotiation can spend the allowance twice on one deal.HubSpot Knowledge Base
100 per user per yearDocusign's automation sends allowance on annual IAM Standard and Professional, pooled at account level, covering envelopes sent by an integration. Web app sending on the same plans is unlimited. Automating a send moves it into a scarcer bucket, which is the sharpest example of a commercial rather than technical limit.Docusign Plans and Pricing
10 minuteshow long HubSpot data sync takes to move a change after the initial sync completes. Fine for a CRM field, and worth knowing if a provisioning step or a payment reconciliation is waiting on it, because near real time and real time are different design assumptions.HubSpot Knowledge Base

The practical consequence is that quote to cash is almost never an engineering throughput problem. It is a problem of deciding, in writing, which system owns each field at each stage, and then enforcing that decision in code with something that notices when it is violated. Ask anyone quoting for this work to name the system of record for the contract value. If they do not have an immediate answer, they have not shipped one.

What Owning the Chain Costs

The honest comparison is not build versus free, because the native tools stay configured either way and should. It is build versus the running cost of not building: the iPaaS subscription that scales with deal volume, the Revenue Hub seats bought to unlock a stage, and the standing monthly hours somebody spends reconciling documents against records against the ledger.

A custom integration is a one-time build plus ongoing maintenance, priced by scope. Closing one join is a small build. Owning the chain from quote through signature into invoicing and out to the ledger, with retries and a nightly reconciliation, is a larger one. The cost teams underestimate is never the build. It is maintenance, because pricing changes every quarter, legal revises the template, ops renames a property, and an unowned chain drifts until finance stops trusting the CRM and starts keeping its own version.

The cheapest moment to capture what was agreed is the moment it is agreed. The most expensive is the renewal, when three systems each hold a different number and the customer holds the PDF.

That is why we productized it. StackTie builds the connections across this chain against the vendor APIs and the HubSpot API directly for a fixed fee, then maintains them on a flat monthly retainer, so what was quoted, what was signed, what was invoiced and what was recognised stay the same number. The build fee and retainer are published on the pricing page rather than quoted per call.

Four systems, one number. Do they agree?

When a negotiated figure never reaches the deal, when a recurring product arrives downstream as a one-off, when installing an accounting connector quietly removed tax from your invoices, or when finance closes the month from a spreadsheet that reconciles two systems by hand, that is a build. StackTie builds custom HubSpot integrations across the quote to cash chain for a fixed fee and maintains them on a flat monthly retainer. Live in 14 days or your money back. Book a free audit and we'll map every join in your chain and show you which ones leak.

Get your blueprint

The Bottom Line

Quote to cash used to be a story about a CRM that could not price or collect. That story is out of date. HubSpot has real CPQ, real approvals, invoices, subscriptions and payment processing, and it gives away the collection end while charging for the quoting end, which is the opposite of what most rollout plans assume.

The seams moved rather than closed. They sit inside the product ladder, where two quote products coexist and approval logic lives in exactly one workflow you cannot fork. They sit inside the integrations, where connecting QuickBooks makes it impossible to add tax to an invoice and where a HubSpot invoice does not exist in Stripe. They sit at the signature join, where neither major vendor returns a negotiated number as a number. And they stop entirely at stage seven, which HubSpot correctly does not attempt.

The line is easy to state. Every stage of quote to cash can be bought. The joins between them cannot, and the joins are where the number changes.

Frequently Asked Questions