Ryan Ginsberg

September 5, 2026 · 5 min read

A subscription can hold two prices at once

Every other container in this chain settles on one state. The subscription holds two, labelled Current and Upcoming, and the second can sit there fully priced and dated for months before a single invoice reflects it.

The last piece ended on the largest overstatement in this series: nine of the fifteen line items the traced sale produced carry a non-zero value in hs_mrr, the property that holds Monthly Recurring Revenue, and summing all nine returns $89,955 a month against a subscription that only ever bills $9,995. The subscription's own line item is one of those nine. It's a record of its own, distinct from the deal's copy and the quote's, created a week after both on the day the first billing cycle started, and it carries the full $9,995 in hs_mrr and $59,970 in hs_arr, Annual Recurring Revenue, like everything else in the chain HubSpot didn't guard.

That subscription only ever holds one line item. Look at the subscription object more broadly, though, and it can do something no other container in this chain does: hold two labelled states of the same subscription at the same time. One describes what's being billed right now. The other describes what will be billed from a specific future date, saved and dated before it's charged a cent.

The association labels every other container doesn't have

Every other hop in this chain connects a line item to its container through a plain, unlabelled association. A quote holds its line items, a deal holds its line items, an order, an invoice, a payment, the same, with no label distinguishing one from another. The subscription is the exception. Read live against the association-definitions endpoint, a subscription connects to a line item through two separate named connections: Current Line Item, HubSpot-defined association type 302 or 301 depending on which direction you read it, and Upcoming Line Item, 565 or 564. Nothing else in the chain has a second labelled slot for a state that hasn't happened yet.

Across all sixteen subscriptions in the portal that produced the traced sale: eight hold a Current line item, eight hold no line item at all, and exactly one of the eight holds more than one. The portal's only two Upcoming associations are both on that single subscription, and it's the specimen for the rest of this piece.

A subscription caught mid-upgrade

That subscription was created on 2024-05-16 at 17:01:55 with a single Current line item, a monthly retainer at $2,495 on a six-month term.

Eleven minutes later, at 17:12:59, two new line items appeared on it, both labelled Upcoming rather than Current. Together they describe a different arrangement: the same $2,495 retainer continuing, plus a second line adding $4,995 a month, a combined $7,490 against the $2,495 the subscription was billing at the time. Both Upcoming records share the same start date, 2024-06-16, exactly one billing anniversary after the subscription was created, and the same term, five months, the months left on the original six.

Line itemLabelPriceTermStartshs_arr
original retainerCurrent$2,495/mosix months$14,970
retainer, continuingUpcoming$2,495/mofive months remaining2024-06-16$12,475
added lineUpcoming$4,995/mofive months remaining2024-06-16$24,975

The Current association was left in place when the two Upcoming ones were created. Read live today, that record still carries the same price and term and is still the one the subscription billed against. All three exist on the subscription at once, told apart only by which label the association carries.

What happens at the anniversary

HubSpot's knowledge base is direct about what an Upcoming line item is for: "By default, your changes will apply during the next billing cycle." It goes further on what happens once that cycle arrives: "Once the changes take effect, the Monthly recurring revenue and Annual recurring revenue properties will update to match the changes." So the two labels describe a scheduled swap. Save the edit, keep billing the old amount, cut over at the next anniversary.

This portal can't show me that cutover actually happening on this record, and I'd rather say so. The subscription was later cancelled, and read live now all three line items sit exactly where they were created, one Current, two Upcoming, with no fourth state ever recorded. Whether the swap relabels the existing Upcoming records to Current at the anniversary, or mints another fresh copy the way every hop but one in this chain does, isn't something this record can answer. What the documentation and the timestamps do answer is the shape of the wait: an edit is saved immediately and in full, and a subscription's future sits next to its present, both real and both readable, for as long as it takes to reach the next bill.

Where the rollup disagrees with itself

The subscription carries its own rollup properties for exactly this, hs_total_mrr and hs_total_arr, which HubSpot describes as "Sum of MRR from all associated subscription line items" and "Sum of ARR from all associated subscription line items."

Add the three hs_arr values from the table by hand: $14,970 + $12,475 + $24,975 = $52,420. The subscription's own hs_total_arr, read live, is $14,970, exactly the Current line item's value alone, as though the two Upcoming records weren't associated to it at all.

I don't think that's a number that hasn't caught up yet. The record's last-modified timestamp sits eighteen months after the Upcoming line items were created, which is plenty of time for a recalculation to run. So either "all associated subscription line items" is a description that quietly means "all Current-labelled line items," or this one rollup genuinely failed to update and has read wrong for a year and a half. One record can't settle which, and I'm not going to promote the inference to a fact. This is the only subscription in the portal that carries Upcoming line items at all, and answering it honestly needs a second one, in any portal, read live.

What to check this week

If a subscription in your own portal looks like it under-billed after someone saved a price change, the new number never showing up on an invoice, check the association list on that subscription's line items before assuming the change didn't take. An Upcoming-labelled line item sitting there, fully priced and dated, isn't a failure. It may simply not have reached its billing anniversary yet. And as the last section showed, the subscription's own total-MRR and total-ARR properties may not be reflecting it either way, so I wouldn't read those as confirmation in either direction.

Seven hops now, from a product becoming a line item to a subscription scheduling its own future. Fifteen records from one sale, each doing something specific and, once you can see it, defensible. The last piece is the question every operator actually has to answer on a Monday: given all of this, what do you put in front of someone who's going to make a decision from it?

More writing

Let's talk

You bet on HubSpot. It still isn't running your business.

That's the conversation I want — 30 minutes, no contract, no black box. Tell me what's actually broken and I'll tell you straight what I see. It's transcribed and shared back to you, so you keep a real read on where you stand and what I'd do first, whether or not we work together.

Not ready for a call? Email me your situation and I'll tell you straight whether you need me. No form, no sequence, nothing captured — if the honest answer is that you don't need me, that's the answer you'll get.