Renewal Fix Guide
How to carry your line items onto a renewal, exactly
When a renewal amount is typed in as a single number, or re-keyed line by line, it drifts, and you invoice the renewal for the wrong figure. Here is how to carry line items across accurately in HubSpot, starting with the uncomfortable fact that HubSpot will not do it for you.
- 1
Know the gap · 5 min
Be clear-eyed: HubSpot's Clone and the workflow Create record action both do not copy line items. A renewal deal built the normal way arrives empty of products, and its amount silently diverges from what was contracted.
- 2
The API sequence · code
The only reliable path is custom code or an external API call: GET the source deal, GET its line-item associations, POST the new renewal deal, then POST each line item and associate it to the deal (association type 20), preserving price, quantity, term, dates, and SKU.
- 3
Handle the edge cases · code
Skip $0 and one-time items (implementation, onboarding) so they don't recur on the renewal. Drop retired or end-of-life SKUs with a warning rather than carrying a dead product. And note that line items sitting on a published Quote cannot be pulled by Zapier at all.
- 4
Reconcile · 10 min
Compare the renewal's line-item total to the contracted figure and fix any drift before it becomes an invoice.
↓ Download the line-item carryover reconciliation template (CSV)
What this costs you to run by hand
Because HubSpot won't copy line items at all, doing it right means custom code that re-creates each item with its price, quantity, term, and dates, plus per-item logic for recurring-versus-one-time and dead SKUs, all under a 20-second timeout that can fail on large deals. Do it by hand instead and every renewal is a re-typing exercise where a single slip changes what you bill.
The faster way. The build re-creates every line item on the renewal, preserving price, quantity, term, dates, and SKU, classifies recurring versus one-time and drops the one-time fees by rule, and shows a side-by-side original-versus-renewal diff before anything is created. The audit shows which of your current renewals are missing line items or billing the wrong amount.
Want the long version? Read how to clone a HubSpot deal with its line items.
Common questions
Doesn't a clone app copy the line items?
Some copy them, but they still leave term dates, start and end dates, and one-time-versus-recurring logic wrong, so you hand-fix every renewal deal anyway. Copying the products is the easy part; getting the terms right is where it leaks.
It's only a few minutes per deal, is it worth automating?
Multiply those minutes by your renewal count and your loaded cost, then add the under-billing that re-keyed line items introduce. That drift is money, and it compounds into your ARR reporting.
Find the renewals billing the wrong amount
The renewal audit checks your renewal deals against their contracts and flags the ones with missing or mispriced line items, by deal. $600, credited in full toward any build. It starts with a free 30-minute call.
Book a Renewal Alignment Call